تشارككم الأمثلة الواردة في هذه المقالة رمزًا محددًا لـ Java Swing لتنفيذ نظام الرد للمرجع الخاص بك. المحتوى المحدد كما يلي
كما هو موضح في الشكل أعلاه ، يتوفر الرمز للاختبار الشخصي ، على النحو التالي:
استيراد java.awt.borderlayout ؛ استيراد java.awt.color ؛ استيراد java.awt.gridlayout ؛ استيراد java.awt.event.actionevent ؛ استيراد java.awt.event.actionListener ؛ استيراد java.awt.event.keyevent ؛ استيراد java.awt.event.keylistener ؛ استيراد java.util.arraylist ؛ استيراد java.util.list ؛ استيراد java.util.random ؛ استيراد javax.swing.jbutton ؛ استيراد javax.swing.jframe ؛ استيراد javax.swing.jlabel ؛ استيراد javax.swing.jpanel ؛ استيراد javax.swing.jtextfield ؛ / ** * 2017-01-09 * Author KOOW * */ Public Class SA يمتد JFrame الأدوات ActionListener ، keyListener {private jlabel title = null ؛ Private Jbutton إرسال = NULL ؛ مركز jpanel الخاص = فارغ ؛ // تستخدم العناصر للقفز الخاص int item1 = 0 ؛ private int item2 = 1 ؛ private int item3 = 2 ؛ private int item4 = 3 ؛ خاص Jlabel [] formulalabels ؛ // المستخدمة لتخزين مختلف عناصر التعبيرات القائمة الخاصة <string> allresult ؛ // تستخدم لتخزين النتائج العشوائية jtextfield [] userresults ؛ // يستخدم للسماح للمستخدم بإدخال نتائج JLabel [] القاضي الخاص ؛ // المستخدمة لعرض الرموز لإظهار ما إذا كانت نتائج إدخال المستخدم هي القائمة الخاصة <Tring> inputResults = null ؛ // لا يمكنك عدم وجود jtextfield scorefield = null ؛ private int textCount = 1 ؛ // المستخدمة لتسجيل FOCT Public Void Main (String [] args) {sa s = new sa () ؛ } public sa () {// todo todo tuto constructor inputResults = new ArrayList <String> () ؛ // عنوان instanted = New JLabel ("السؤال بسيط للغاية ، أجب عليه على محمل الجد! ~ (نقطة واحدة لكل سؤال ، أضف نقطة واحدة للإجابة الصحيحة ، ولن يتم خصم أي نقاط إذا كانت الإجابة خاطئة!)") ؛ إرسال = New JButton ("إرسال") ؛ submit.addActionListener (this) ؛ تخطيط GridLayout = جديد GridLayout (21 ، 6) ؛ المركز = jpanel الجديد (التصميم) ؛ // طريقة استدعاء طريقة إنشاء initlables () ؛ inituserrestult () ؛ initjudge () ؛ // املأ اللوحة المركزية (GridLayout) int count = 1 ؛ int formulacount = 0 ؛ int userresultScount = 0 ؛ int judgeCount = 0 ؛ بينما (العد <= 120) {// حدد العدد ٪ 6 وحدد المكون الذي يجب ملؤه إذا (العدد ٪ 6 == 1 || العد ٪ 6 == 2 || العد ٪ 6 == 3 || count ٪ 6 == 4) {center.add (formulalabels [formulacount]) ؛ Formulacount ++ ؛ } آخر إذا (count ٪ 6 == 5) {center.add (userResults [userresultScount]) ؛ UserresultScount ++ ؛ } آخر إذا (count ٪ 6 == 0) {center.add (القاضي [JudgeCount]) ؛ JudgeCount ++ ؛ } count ++ ؛ } center.add (New JLabel ()) ؛ Center.Add (New Jlabel ()) ؛ Center.Add (New Jlabel ("Total Score:") ؛ Scorefield = New JTextField () ؛ Scorefield.setedable (false) ؛ Center.Add (Scorefield) ؛ Center.Add (New Jlabel ()) ؛ Center.Add (New Jlabel ()) ؛ this.add (المركز ، borderlayout.center) ؛ // إضافة مكون this.add (إرسال ، borderlayout.south) ؛ this.add (title ، borderlayout.north) ؛ // إظهار this.setLocation (400 ، 10) ؛ this.setVisible (صحيح) ؛ this.setsize (500 ، 700) ؛ this.setDefaultCloseOperation (jframe.exit_on_close) ؛ this.settitle ("نظام اختبار بسيط") ؛ حاول {thread.sleep (500) ؛ } catch (interruptedException e) {// todo catch catch e.printstacktrace () ؛ } userresults [0] .requestfocus () ؛ } / *** يتم استخدام هذه الطريقة لتهيئة مجموعة من العناصر المختلفة من الصيغة* / private void initlables () {int sum ؛ int firstnumber ؛ int secondnumber ؛ AllResult = جديد ArrayList <String> () ؛ // إنشاء تسمية المعادلة this.formulalabels = new Jlabel [80] ؛ // مثيل كل تسمية في الصفيف لـ (int i = 0 ؛ i <80 ؛ i ++) {formulalabels [i] = new JLabel () ؛ } // قم بتعيين محتوى كل عنصر من عناصر التعبير وتخزين مجموع الأرقام العشوائية في قائمة ArrayList لنتائج التحقق اللاحقة بينما (item4 <80) {firstNumber = new Random (). NextInt (99) + 1 ؛ Formulalabels [item1] .settext (string.valueof (firstNumber)) ؛ Formulalabels [item2] .settext ("+") ؛ SecondNumber = new Random (). NextInt (99) + 1 ؛ formulalabels [item3] .settext (string.valueof (secondnumber)) ؛ Formulalabels [item4] .settext ("=") ؛ SUM = FirstNumber + Secondnumber ؛ allresult.add (string.valueof (sum)) ؛ item1 += 4 ؛ item2 += 4 ؛ item3 += 4 ؛ item4 += 4 ؛ } // لـ (int i = 0 ؛ i <80 ؛ i ++) {// system.out.println (formulalabels [i] .getText ()) ؛ //}} /*** يتم استخدام هذه الطريقة لإنشاء إنشاء مجموعة userresults وتثبيت كل jtextfield inituserrestult () {userresults = new JTextfield [20] ؛ لـ (int i = 0 ؛ i <20 ؛ i ++) {userResults [i] = new JTextField () ؛ userresults [i] .setsize (20 ، 20) ؛ // تم إضافة المستمع بعد userresults [i] .addKeyListener (this) ؛ }} / *** يتم استخدام هذه الطريقة لإنشاء إنشاء صفيف القاضي وتثبيت كل علامة فيه* / private void initjudge () {judge = new jlabel [20] ؛ لـ (int i = 0 ؛ i <20 ؛ i ++) {judge [i] = new jlabel ("share it") ؛ }} // تنفيذ طريقة الاستماع ، ما تريد القيام به بعد أن ينقر المستخدم على إرسال Override public void actionperformed (ActionEvent arg0) {// todo method method method int int = 0 ؛ لـ (int i = 0 ؛ i <20 ؛ i ++) {// احصل على جميع النتائج التي أدخلها المستخدم وحفظها في قائمة ArrayList. لا يمكنك عدم inputResults.Add (userresults [i] .getText (). toString (). trim ()) ؛ system.out.println (userresults [i] .getText (). toString ()) ؛ // أخرج الإجابة التي أدخلها المستخدم وقارنها بالنتائج المحسوبة السابقة. إذا كان هذا خطأ ، فقم بتعيين الملصق اللاحق على الإجابة الخاطئة. // إذا كان صحيحًا ، فقم بتعيينه على نتيجة سلسلة الإجابة الصحيحة = UserResults [i] .getText (). toString (). trim () ؛ if (result.equals (allresult.get (i))) {judge [i] .settext ("الاستجابة صحيحة") ؛ القاضي [i] .SetForeground (color.red) ؛ النتيجة ++ ؛ } آخر {judge [i] .settext ( القاضي [i] .SetForeground (color.green) ؛ }} scorefield.settext (string.valueof (score)) ؛ } Override public void keypressed (keyevent e) {// todo method method method method if ( if (textCount <19) {textCount ++ ؛ }}} Override public void keytytyped (keyevent e) {// todo method method method ad} override public void keyrelest (keyevent e) {// todo method method method method}}}}لمزيد من المواد التعليمية ، يرجى الانتباه إلى الموضوع الخاص "تطوير نظام الإدارة".
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.