この記事の例では、Java投票プログラムの設計コードについて説明し、参照のためにそれを共有します。特定のコンテンツは次のとおりです
ランニングレンダリング:
手順は次のとおりです。
java.awt。*; Import java.awt.event。*;インポートjava.awt.event.actionevent; Import java.awt.event.actionlistener; import java.util.stringtokenizer; import javax.swing。プライベートJPanel P1、P2、P3、P2_1;プライベートJlabel label1、label2、label3;プライベートjtextfield名、投票。 Private JTextfield Schoolvote [];プライベートjbutton com、con、sure、resh、sort;プライベートチェックボックスチェックボックス[]; private int [] count; Private int totalvote、schoolnumber、max、dis、giveup; public botetest(){frame = new JFrame( "中国大学ランキング投票システムv1.0"); p1 = new JPanel(); p2 = new JPanel(); p3 = new JPanel(); label1 = new Jlabel( "最初に候補学校の名前を入力します(数字は10を超えない、コンマで区切られています):"); label2 = new Jlabel( "次の選択ボックスを使用して投票をカウントします。"、jlabel.center); label3 = new Jlabel( "選挙結果:"); name = new jtextfield(10);投票= new JTextfield(46); schoolvote = new jtextfield [10]; com = new JButton( "Confism"); con = new JButton( "Cancel"); sure = new jbutton( "Confism"); resh = new jbutton( "refresh"); sort = new jbutton( "sort");チェックボックス=新しいチェックボックス[10]; p2_1 = new JPanel(); count = new int [10]; //学校の投票数を記録するtotalvote = 0; schoolnumber = 0; max = 3; dis = 0; giveup = 0; init(); } public void init(){frame.setlayout(new gridlayout(3,1)); frame.add(p1); frame.add(p2); frame.add(p3); p1.setlayout(new borderlayout()); p1.add(label1、borderlayout.north); p1.add(name、borderlayout.center); JPanel P1_3; p1_3 = new JPanel(); p1_3.add(com); p1_3.add(con); p1_3.add(label2); P1.Add(P1_3、BorderLayout.South); p2.setlayout(new borderlayout()); JPanel P2_2; p2_2 = new JPanel(); p2_1.setlayout(new gridlayout(2,5)); for(int i = 0; i <= 9; i ++){checkbox = new Checkbox(); p2_1.add(チェックボックス); } p2_2.add(sure); p2_2.add(resh); p2_2.add(sort); p2.dd(p2_1、borderlayout.center); p2.add(p2_2、borderlayout.south); p3.setlayout(new borderlayout()); jpanel(); p3_2 = new jPanel(); p3_1.add(label3); p3_1.add(投票); p3_2.setlayout(new gridlayout(10,1)); for(int i = 0; i <= 9; i ++){schoolvote = new jtextfield(); p3_2.add(schoolvote); } scrollpane scroll = new Scrollpane(); scroll.add(p3_2); p3.add(p3_1、borderlayout.north); p3.add(scroll、borderlayout.center); com.addactionlistener(this); con.addactionlistener(this); sure.addactionlistener(this); resh.AddActionListener(this); sort.addactionlistener(this); } public void show(){frame.pack(); frame.setVisible(true); frame.setDefaultCloseoperation(jframe.exit_on_close); } / *(nonjavadoc) * @see java.awt.event.actionlistener#actionperformed(java.awt.event.actionevent) * / public void actionperformed(actionevent e){// todo auto-formated method stub string s [] = new String [10]; if(e.getSource()== com){p2_1.removeall();文字列s_name = name.getText(); //コンマ(英語のコンマまたは中国のコンマ)で区切られた候補者名を抽出します。 stringtokenizer fenxi = new StringTokenizer(s_name、 ",,"); schoolnumber = fenxi.counttokens(); //候補者の数を取得int i = 0; while(fenxi.hasmoretokens()){//ラジオボックスで候補者を表し、パネルに追加しますp2_1 s = fenxi.nexttoken(); p2_1.add(チェックボックス); checkbox.setlabel(s); i ++; } for(int k = 0; k <schoolnumber; k ++){schoolvote [k] .settext(null); }} else if(e.getSource()== con){name.settext(null); com.setEnabled(true); for(int k = 0; k <schoolnumber; k ++){schoolvote [k] .settext(null); }} else if(e.getSource()== sure){totalvote = totalvote+1; com.setEnabled(false); int number = 0; for(int k = 0; k <schoolnumber; k ++){if(checkbox [k] .getState()){number ++; }} if(number> max){dis ++; for(int k = 0; k <schoolnumber; k ++){checkbox [k] .setState(false); }} else if(number == 0){giveup ++; } else if(number> 0 && number <= max){for(int k = 0; k <schulnumber; k ++){if(checkbox [k] .getState()){count [k] = count [k] +1;チェックボックス[k] .setState(false); schoolvote [k] .settext(checkbox [k] .getlabel()+"投票数:"+count [k]); } else {schoolvote [k] .settext(checkbox [k] .getlabel()+"投票数:"+count [k]); }}} hotemess.settext( "カウントされました:"+totalvote+"票数、棄権票:"+giveup+"は無効です:"+dis); } else if(e.getSource()==並べ替え){for(int i = 0; i <schulnumber; i ++){for(int j = i+1; j <scholnumber; j ++){if(count [j]> count){string str_temp = schoolvote.getText(); schoolvote.settext(schoolvote [j] .getText()); schoolvote [j] .settext(str_temp); int nnn = count; count = count [j]; count [j] = nnn; }}} sort.setEnabled(false); sure.setEnabled(false); } else if(e.getSource()== resh){totalvote = 0; hotemess.settext( "カウントされました:"+totalvote+"zhang票"); name.settext(null); com.setEnabled(true); sure.setEnabled(true); sort.setEnabled(true); for(int i = 0; i <= 4; i ++){count = 0; schoolvote.settext(null); p2_1.RemoveAll(); }}} / ** * @param args * / public static void main(string [] args){// todo auto-feenated method stub new botetest()。show(); }}この記事がJavaソフトウェアプログラミングを学ぶのに役立つことを願っています。