Java ボタン コントロール配列の電卓インターフェイスの実装例の共有

高洛峰
リリース: 2017-01-20 17:03:35
オリジナル
1895 人が閲覧しました

そのアイデアは次のとおりです:

クラスを作成し、extends を通じてフォーム クラス JFrame を継承させます。
JFrame オブジェクトを作成し、JFrame クラスの setVisible() メソッドを使用してフォームを表示するように設定します。コンストラクターでは、super() メソッドを使用します。 親クラスの構築メソッドを継承します。
setTitle() メソッドを使用して、フォームのタイトルを設定します。
setBounds() メソッドを使用して、フォームの表示位置とサイズを設定します。
setDefaultCloseOperation() メソッドを使用して、フォームの閉じるボタンのアクションを終了に設定します。
GridLayout を使用して、グリッド レイアウト マネージャー オブジェクトを作成します。
GridLayout クラスの setHgap() メソッドを使用して、コンポーネントの水平方向の間隔を設定します。
GridLayout クラスの setVgap() メソッドを使用して、コンポーネントの垂直方向の間隔を設定します。
JPanel コンテナ オブジェクトを作成します。
JPanel を通じて、クラスの setLayout() メソッドは、グリッド レイアウト マネージャーを使用するようにコンテナを設定します。文字列型の 2 次元配列を作成し、その値を電卓の対応するボタンに表示される値に初期化します。
JButton 型の 2 次元配列を作成し、前の文字列型の 2 次元配列に対応する領域を割り当てます。次元配列;
文字列型の 2 次元配列を走査し、その各要素を JButton 型の 2 次元配列の対応するボタンに割り当て、各ボタンをイベントの追加に割り当てて、対応する値がイベントに表示されるようにします。最後に、JPanel クラスの add() メソッドを使用して、ボタンをパネルに追加します。

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.UIManager;

public class ButtonArrayExample extends JFrame { // 继承窗体类JFrame
    /**
     * 
     */
    private static final long serialVersionUID = 6626440733001287873L;
    private JTextField textField;

    public static void main(String args[]) {
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
        } catch (Throwable e) {
            e.printStackTrace();
        }
        ButtonArrayExample frame = new ButtonArrayExample();
        frame.setVisible(true); // 设置窗体可见,默认为不可见
    }

    public ButtonArrayExample() {
        super(); // 继承父类的构造方法
        BorderLayout borderLayout = (BorderLayout) getContentPane().getLayout();
        borderLayout.setHgap(20);
        borderLayout.setVgap(10);
        setTitle("按钮数组实现计算器界面 "); // 设置窗体的标题
        setBounds(100, 100, 290, 282); // 设置窗体的显示位置及大小
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗体关闭按钮的动作为退出
        textField = new JTextField();
        textField.setHorizontalAlignment(SwingConstants.TRAILING);
        textField.setPreferredSize(new Dimension(12, 50));
        getContentPane().add(textField, BorderLayout.NORTH);
        textField.setColumns(10);
        final GridLayout gridLayout = new GridLayout(4, 0); // 创建网格布局管理器对象
        gridLayout.setHgap(5); // 设置组件的水平间距
        gridLayout.setVgap(5); // 设置组件的垂直间距
        JPanel panel = new JPanel(); // 获得容器对象
        panel.setLayout(gridLayout); // 设置容器采用网格布局管理器
        getContentPane().add(panel, BorderLayout.CENTER);
        String[][] names = { { "1", "2", "3", "+" }, { "4", "5", "6", "-" }, { "7", "8", "9", "×" }, { ".", "0", "=", "÷" } };
        JButton[][] buttons = new JButton[4][4];
        for (int row = 0; row < names.length; row++) {
            for (int col = 0; col < names.length; col++) {
                buttons[row][col] = new JButton(names[row][col]); // 创建按钮对象
                buttons[row][col].addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        JButton button = (JButton) e.getSource();
                        String text = textField.getText();
                        textField.setText(text + button.getText());
                    }
                });
                panel.add(buttons[row][col]); // 将按钮添加到面板中
            }
        }
    }

}
ログイン後にコピー

関連記事を共有するための Java ボタン コントロール配列実装電卓インターフェイスの例をさらに詳しく知りたい場合は、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート