適用された知識:
1. 一般的に使用される最上位コンテナー JFrame クラスの使用
2. 一般的に使用される中間コンテナー JPanel クラスの使用
3. 単一行テキスト ボックスの使用 実装クラス JTextField クラスの使用
4. ボタン実装クラス JButton クラスの使用
5. ボーダー レイアウト マネージャーの使用
6. グリッドの使用レイアウト マネージャー
基本的な考え方:
1. ウィンドウ f1
を作成します2. テキスト ボックス t1
を作成します3. 内部パネル p3 を作成し、テキスト ボックス t1
4 を保存します。16 個のボタンを作成します。
5. 内側パネル p2 を作成し、グリッド レイアウトに設定し、16 個のボタンを保存するために使用します。
6. 外側パネル p1 を作成し、ボーダー レイアウトに設定し、p3 を保存します。北に配置し、中央に保存します。 p2
次は、直接実行できる特定のコード実装です。
import javax.swing.JFrame; //顶层容器 (框架) import javax.swing.JPanel; //中间容器 (嵌板)最常用的面板 import javax.swing.JTextField; //单行文本框的实现类 import javax.swing.JButton; //按钮 import javax.swing.border.EmptyBorder; //需要用EmptyBorder类来设置面板的边框属性 import javax.swing.SwingConstants; //SwingConstants是一个通常用于在屏幕上定位(位置)或定向(方向)组件的常量的集合 import java.awt.*; //布局管理器的类在这里面 public class calculator { public static void main(String[] args) { JFrame f1 = new JFrame("计算器"); //创建顶层容器(窗口) f1.setSize(250, 300); //设置窗口大小 JPanel p1 = new JPanel(new BorderLayout(5,5)); //创建一个面板 //里面的new BorderLayout(5,5)是设置面板的布局(边框布局) //其中(5,5)的第1个5表示上下控件间距,第2个表示左右控件间距 p1.setBorder(new EmptyBorder(5,5,5,5)); //设置边界距离 border 边界 //面板的setBorder函数,用于设置面板边缘向内收缩宽度 //里面的EmtyBorder(5,5,5,5)表示面板上,左,下,右各向内收缩 5个像素 JTextField t1 = new JTextField(); //创建一个单行文本框 t1.setColumns(10); //这个用于设置文本框的列数 Columns 列 t1.setHorizontalAlignment(SwingConstants.RIGHT); //设置文本框右对齐 //Horizontal 水平的 Alignment 对齐 记两个单词 JPanel p2 = new JPanel(new GridLayout(4,4,5,5));//创建第二个面板 //其中设置其布局为网格布局,(第一个4表示1行4个控件) //第2个4表示1列4个控件,第1个5表示上下控件间隔为5,第2个5表示左右控件间隔为5(像素) JButton b1 = new JButton("7"); //创建16个按钮 JButton b2 = new JButton("8"); JButton b3 = new JButton("9"); JButton b4 = new JButton("/"); JButton b5 = new JButton("4"); JButton b6 = new JButton("5"); JButton b7 = new JButton("6"); JButton b8 = new JButton("*"); JButton b9 = new JButton("1"); JButton b10 = new JButton("2"); JButton b11 = new JButton("3"); JButton b12 = new JButton("-"); JButton b13 = new JButton("0"); JButton b14 = new JButton("."); JButton b15 = new JButton("="); JButton b16 = new JButton("+"); p2.add(b1); //将16个按钮全部添加到网格布局的面板p2中 p2.add(b2); p2.add(b3); p2.add(b4); p2.add(b5); p2.add(b6); p2.add(b7); p2.add(b8); p2.add(b9); p2.add(b10); p2.add(b11); p2.add(b12); p2.add(b13); p2.add(b14); p2.add(b15); p2.add(b16); JPanel p3 = new JPanel(); //创建第三个面板,用于保存之前的文本框t1 p3.add(t1); //将文本框t1添加到面板p3中 p1.add(p3,BorderLayout.NORTH);//将p3添加到 为边框布局面板的p1的北部 p1.add(p2,BorderLayout.CENTER); //将p2添加到面板的中部 f1.add(p1); //p1面板添加到窗口 f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭时操作 f1.setVisible(true); //设置可见 } }
実行結果:
以上がJava Swingで単純な電卓インターフェイスを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。