แนวคิดมีดังนี้:
สร้างคลาสและใช้ขยายเพื่อสืบทอดคลาสฟอร์ม jframe;
สร้างวัตถุ JFrame และใช้วิธีการ setVisible () ของคลาส JFrame เพื่อตั้งค่าแบบฟอร์มที่จะมองเห็นได้
ในตัวสร้างให้ใช้เมธอด super () เพื่อสืบทอดตัวสร้างของคลาสแม่
ใช้เมธอด settitle () เพื่อตั้งชื่อชื่อของแบบฟอร์ม
ใช้เมธอด setBounds () เพื่อตั้งค่าตำแหน่งการแสดงผลและขนาดของแบบฟอร์ม
ใช้เมธอด setDefaultCloseOperation () เพื่อตั้งค่าการกระทำของปุ่มปิดแบบฟอร์มเพื่อออก
สร้างวัตถุ Grid Layout Manager โดยใช้ gridlayout;
ใช้วิธี SethGap () ของคลาส gridlayout เพื่อตั้งค่าระยะห่างแนวนอนของส่วนประกอบ
ใช้วิธีการ setVGAP () ของคลาส gridlayout เพื่อตั้งค่าระยะห่างแนวตั้งของส่วนประกอบ;
สร้างวัตถุคอนเทนเนอร์ JPanel;
การตั้งค่าคอนเทนเนอร์ผ่านวิธี SetLayout () ของคลาส JPanel ใช้ตัวจัดการเค้าโครงกริด
สร้างอาร์เรย์สองมิติประเภทสตริงและเริ่มต้นค่าของค่าเป็นค่าที่แสดงบนปุ่มที่สอดคล้องกันบนเครื่องคิดเลข
สร้างอาร์เรย์สองมิติประเภท JButton และจัดสรรพื้นที่ที่สอดคล้องกับอาร์เรย์สองมิติประเภทสตริงก่อนหน้า
วนซ้ำผ่านอาร์เรย์สองมิติประเภทสตริงกำหนดให้กับปุ่มที่สอดคล้องกันในอาร์เรย์สองมิติประเภท JButton ในแต่ละองค์ประกอบและเพิ่มเหตุการณ์ในแต่ละปุ่มเพื่อให้ค่าที่สอดคล้องกันแสดงในกล่องป้อนข้อความเมื่อ คลิกปุ่ม
การคัดลอกรหัสมีดังนี้:
นำเข้า Java.awt.BorderLayout;
นำเข้า Java.awt.Dimension;
นำเข้า Java.awt.Gridlayout;
นำเข้า java.awt.event.actionEvent;
นำเข้า java.awt.event.actionListener;
นำเข้า Javax.swing.jbutton;
นำเข้า Javax.swing.jframe;
นำเข้า Javax.swing.jpanel;
นำเข้า Javax.swing.jtextfield;
นำเข้า Javax.swing.swingConstants;
นำเข้า Javax.swing.uimanager;
ชั้นเรียนสาธารณะ ButtonArrayExample ขยาย jFrame {// สืบทอดคลาสฟอร์ม JFrame
-
-
-
ส่วนตัวคงที่สุดท้าย Long SerialVersionUID = 66264407333001287873L;
Private Jtextfield Textfield;
โมฆะคงที่สาธารณะหลัก (String args []) {
พยายาม {
uimanager.setlookandfeel ("com.sun.java.swing.plaf.nimbus.nimbuslookandfeel");
} catch (throwable e) {
E.PrintStackTrace ();
-
เฟรม ButtonArayExample = ใหม่ ButtonArrayExample ();
frame.setVisible (จริง);
-
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 (มิติใหม่ (12, 50));
getContentPane (). เพิ่ม (textfield, borderlayout.north);
TextField.SetColumns (10);
gridlayout final gridlayout = new gridlayout (4, 0);
gridlayout.sethgap (5);
gridlayout.setvgap (5);
JPanel Panel = new JPanel ();
Panel.setLayout (Gridlayout);
getContentPane (). เพิ่ม (แผง, borderlayout.center);
String [] [] names = {{"1", "2", "3", "+"}, {"4", "5", "6", "-"}, {"7", " 8 "," 9 "," × "}, {". "," 0 "," = "," ÷ "}};
jbutton [] [] ปุ่ม = new Jbutton [4] [4];
สำหรับ (int row = 0; row <names.length; row ++) {
สำหรับ (int col = 0; col <names.length; col ++) {
ปุ่ม [แถว] [col] = new JButton (ชื่อ [แถว] [col]);
ปุ่ม [แถว] [col] .addactionListener (ใหม่ actionListener () {
@Override
โมฆะสาธารณะ ActionPerformed (ActionEvent E) {
ปุ่ม jbutton = (jbutton) e.getSource ();
String text = textfield.getText ();
textfield.settext (text + button.getText ());
-
-
Panel.Add (ปุ่ม [แถว] [col]);
-
-
-
-