この記事の例では、参照のために留守システムを実装するためにJavaスイングの特定のコードを共有しています。特定のコンテンツは次のとおりです
上記の図に示すように、コードは次のように個人的なテストに利用できます。
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 extends JFRAME実装ActionListener、keyListener {private jlabel title = null;プライベートjbutton submit = null;プライベートJPanel Center = null; //アイテムはプライベートint item1 = 0にジャンプするために使用されます。 private int item2 = 1; Private int item3 = 2; Private int item4 = 3; private Jlabel []フォーミュララベル; //式のさまざまなアイテムを保存するために使用されますプライベートリスト<文字列> allresult; //ランダムな結果を保存するために使用されますprivate jtextfield [] userresults; //ユーザーが結果を入力できるようにするために使用されています。 //ユーザー入力結果が正しいかどうかを示すアイコンを表示するために使用されます<string> inputResults = null; // jtextfield scorefield = nullをプライベートしないでください。 private int textcount = 1; //現在のフォーカスを記録するために使用されるpublic static void main(string [] args){sa s = new Sa(); } public sa(){// todo auto-enerated constructor stub inputResults = new ArrayList <String>(); // Instantiated Title = new Jlabel(「質問は非常に単純です。真剣に答えてください!〜(質問ごとに1ポイント、正解のために1ポイントを追加します。回答が間違っている場合はポイントが差し引かれません!) "); submit = new jbutton( "submit"); submit.AddActionListener(this); gridlayoutレイアウト= new gridlayout(21、6); Center = new JPanel(レイアウト); //メソッドを呼び出してくださいInstantiation Method initalables(); intuserrestult(); initjudge(); //中央のパネルに記入(gridlayout)int count = 1; int formulacount = 0; int userresultscount = 0; int judgecount = 0; while(count <= 120){// count%6を決定し、If(count%6 == 1 || count%6 == 2 || count%6 == 3 || count%6 == 4){center.add(formulalabels [formulacount]); formulacount ++; } else if(count%6 == 5){center.add(userresults [userresultscount]); USERRERSULTSCOUNT ++; } else if(count%6 == 0){center.add(裁判官[judgecount]); JudgeCount ++; } count ++; } center.add(new Jlabel()); center.add(new Jlabel()); center.add(new Jlabel( "合計スコア:")); scorefield = new jtextfield(); scorefield.setedable(false); center.add(scorefield); center.add(new Jlabel()); center.add(new Jlabel()); this.add(center、borderlayout.center); // component this.add(submit、borderlayout.south); this.add(title、borderlayout.north); // this.setlocation(400、10)を表示します。 this.setVisible(true); this.setsize(500、700); this.setDefaultCloseoperation(jframe.exit_on_close); this.settitle( "Simple Test System"); {thread.sleep(500)を試してください。 } catch(arturnedexception e){// todo auto-fenated catch block e.printstacktrace(); } userresults [0] .requestfocus(); } / ***この方法は、式のさまざまなアイテムの配列を初期化するために使用されます* / private void initlables(){int sum; int firstnumber; int secondNumber; allResult = new ArrayList <String>(); //方程式ラベルthis.formulalabels = new Jlabel [80]; //(int i = 0; i <80; i ++){formulalabels [i] = new jlabel(); } //式の各アイテムのコンテンツを割り当て、ランダム数の合計をアレイリストに保存して、後の検証結果をwhile(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(){ueserresults = new jtextfield [20]; for(int i = 0; i <20; i ++){userresults [i] = new jtextfield(); userresults [i] .setsize(20、20); //リスナーは、userresults [i] .addkeylistener(this)の後に追加されました。 }} / ***このメソッドは、裁判官アレイをインスタンス化し、その中の各ラベルをインスタンス化するために使用されます* / private void initjudge(){judg = new Jlabel [20]; for(int i = 0; i <20; i ++){裁判官[i] = new jlabel( "share it"); }} //リスニングメソッドを実装して、ユーザーがクリックして@Override public void actionperformed(actionEvent arg0)を送信した後にしたいことを実装してください。 for(int i = 0; i <20; i ++){//ユーザーが入力したすべての結果を取得し、それらをすべてのアレイリストに保存します。 inputResults.add(userresults [i] .getText()。toString()。trim()); system.out.println(userresults [i] .getText()。toString()); //ユーザーが入力した回答を取り出し、以前の計算結果と比較します。間違っている場合は、後続のラベルを間違った答えに設定します。 //正しい場合は、正しい答えに設定しますstring result = userresults [i] .getText()。toString()。trim(); if(result.equals(allresult.get(i))){judge [i] .settext( "応答は正しい");裁判官[i] .setforeground(color.red);スコア++; } else {裁判官[i] .settext( "エラー回答");裁判官[i] .setforeground(color.green); }} scorefield.settext(string.valueof(score)); } @Override public void keypressed(keyevent e){// todo auto-fenatedメソッドスタブif(e.getkeycode()== keyevent.vk_enter){userresults [textcount] .requestfocus(); if(textcount <19){textcount ++; }}} @Override public void keytyped(keyevent e){// dodo auto-enerated method stub} @override public void keyreleased(keyevent e){// todo auto-fienated method stub}}}}より多くの学習資料については、特別なトピック「管理システム開発」に注意してください。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。