الفكرة هي كما يلي:
إنشاء فئة واستخدام يمتد إلى ورث فئة النموذج Jframe ؛
قم بإنشاء كائن JFrame واستخدم طريقة setVisible () لفئة JFrame لتعيين النموذج ليكون مرئيًا ؛
في المُنشئ ، استخدم طريقة Super () لتربير مُنشئ الفئة الأصل ؛
استخدم طريقة Settitle () لتعيين عنوان النموذج ؛
استخدم طريقة setBounds () لتعيين موضع العرض وحجم النموذج ؛
استخدم طريقة setDefaultCloseOperation () لتعيين إجراء زر إغلاق النموذج للخروج ؛
قم بإنشاء كائن مدير تخطيط الشبكة باستخدام 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 ؛
يمتد ButtonArnexample الفئة العامة JFrame {// ويرث فئة النموذج JFrame
/**
*
*/
استاتيكي خاص نهائي الطويل المسلسل = 6626440733001287873L ؛
خاص JTextfield Textfield ؛
الفراغ الثابت العام (سلسلة args []) {
يحاول {
uimanager.setlookandfeel ("com.sun.java.swing.plaf.nimbus.nimbuslookandfeel") ؛
} catch (رمي e) {
E.PrintStackTrace () ؛
}
ButtonArrayExample Frame = new ButtonArrayExample () ؛
Frame.SetVisible (True) ؛
}
buttonarrayexample () {
Super () ؛
BorderLayout BorderLayout = (BorderLayout) getContentPane (). getLayout () ؛
BorderLayout.Sethgap (20) ؛
BorderLayout.setVgap (10) ؛
Settitle ("واجهة حاسبة Array Array") ؛
SetBounds (100 ، 100 ، 290 ، 282) ؛
setDefaultCloseOperation (jframe.exit_on_close) ؛
TextField = New JTextField () ؛
textfield.SethorizontalAlignment (swingconstants.trailing) ؛
TextField.SetPreferredSize (Dimension New (12 ، 50)) ؛
getContentPane (). add (textfield ، borderlayout.north) ؛
textfield.setColumns (10) ؛
GridLayout GridLayout = New GridLayout (4 ، 0) ؛
Gridlayout.Sethgap (5) ؛
Gridlayout.setvgap (5) ؛
لوحة JPanel = New JPanel () ؛
Panel.SetLayout (GridLayout) ؛
getContentPane (). add (لوحة ، borderlayout.center) ؛
string [] [] names = {"1" ، "2" ، "3" ، "+"} ، {"4" ، "5" ، "6" ،-"} ، {" 7 "،" 8 "،" 9 "،" × "} ، {". "،" 0 "،" = "،" ÷ "}} ؛
jbutton [] [] buttons = new jbutton [4] [4] ؛
لـ (int row = 0 ؛ row <names.length ؛ row ++) {
لـ (int col = 0 ؛ col <names.length ؛ col ++) {
الأزرار [صف] [Col] = New Jbutton (أسماء [صف]
الأزرار [صف]
@تجاوز
الفراغ العام actionperformed (Actionevent e) {
jbutton button = (jbutton) e.GetSource () ؛
text string = textfield.getText () ؛
textfield.settext (text + button.getText ()) ؛
}
}) ؛
Pane.add (أزرار [ROW] [COL]) ؛
}
}
}
}