ตัวอย่างในบทความนี้จะบอกคุณเกี่ยวกับรหัสการออกแบบโปรแกรมการลงคะแนน Java และแบ่งปันกับคุณสำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
รันเรนเดอร์:
ขั้นตอนมีดังนี้:
นำเข้า java.awt.*; นำเข้า java.awt.event.*; นำเข้า java.awt.event.actionEvent; นำเข้า java.awt.event.actionListener; นำเข้า Java.util.stringTokenizer; นำเข้า Javax.swing*; JPANEL ส่วนตัว P1, P2, P3, P2_1; Private Jlabel Label1, Label2, Label3; ชื่อ Jtextfield ส่วนตัว, Votemess; Private Jtextfield Schoolvote []; ส่วนตัว Jbutton com, con, sure, resh, เรียงลำดับ; ช่องทำเครื่องหมายส่วนตัวกล่องกาเครื่องหมาย []; INT ส่วนตัว [] นับ; Private Int TotalVote, SchoolNumber, Max, Dis, GiveP; Public Notetest () {frame = new JFrame ("China University Ranking System v1.0"); P1 = new JPanel (); P2 = new JPanel (); P3 = new JPanel (); label1 = new jlabel ("แรกป้อนชื่อของโรงเรียนผู้สมัคร (หมายเลขไม่เกิน 10, คั่นด้วยเครื่องหมายจุลภาค):"); label2 = new jlabel ("ใช้กล่องเลือกต่อไปนี้เพื่อนับคะแนน:", jlabel.center); label3 = new JLabel ("ผลการเลือกตั้ง:"); NAME = ใหม่ JTextField (10); Votemess = new Jtextfield (46); Schoolvote = new Jtextfield [10]; com = new JButton ("ยืนยัน"); con = new JButton ("ยกเลิก"); แน่นอน = new JButton ("ยืนยัน"); resh = new jbutton ("รีเฟรช"); sort = new JButton ("sort"); ช่องทำเครื่องหมาย = ช่องทำเครื่องหมายใหม่ [10]; P2_1 = new JPanel (); count = new int [10]; // บันทึกจำนวนคะแนนในโรงเรียน TotalVote = 0; SchoolNumber = 0; สูงสุด = 3; dis = 0; GiveUp = 0; init (); } โมฆะสาธารณะ init () {frame.setLayout (ใหม่ gridlayout (3,1)); frame.add (P1); frame.add (p2); frame.add (P3); P1.SetLayout (New BorderLayout ()); p1.add (label1, Borderlayout.north); P1.Add (ชื่อ, 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 (ใหม่ gridlayout (2,5)); สำหรับ (int i = 0; i <= 9; i ++) {ช่องทำเครื่องหมาย = ช่องทำเครื่องหมายใหม่ (); p2_1.add (ช่องทำเครื่องหมาย); } p2_2.add (แน่นอน); p2_2.add (resh); p2_2.add (เรียงลำดับ); p2.add (p2_1, borderlayout.center); p2.add (p2_2, borderlayout.south); p3.setLayout jPanel (); p3_2 = new JPanel (); P3_1.ADD (label3); p3_1.add (votemess); p3_2.setLayout (ใหม่ gridlayout (10,1)); สำหรับ (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 (นี่); Con.addactionListener (นี่); Sure.addactionListener (นี่); resh.addactionListener (นี่); sort.addactionListener (นี่); } โมฆะสาธารณะแสดง () {frame.pack (); frame.setVisible (จริง); frame.setDefaultCloseoperation (jframe.exit_on_close); } / * (ไม่ใช่ javadoc) * @see java.awt.event.actionListener#actionperformed (java.awt.event.actionEvent) * / โมฆะสาธารณะ actionperformed (actionEvent e) {// todo วิธีการที่สร้างอัตโนมัติ if (e.getSource () == com) {p2_1.removeAll (); สตริง s_name = name.getText (); // แยกชื่อผู้สมัครแยกกันด้วยเครื่องหมายจุลภาค (เครื่องหมายจุลภาคภาษาอังกฤษหรือคอมม่าจีน); StringTokenizer fenxi = new StringTokenizer (s_name, ",,"); Schoolnumber = fenxi.counttokens (); // รับจำนวนผู้สมัคร int i = 0; ในขณะที่ (fenxi.hasmoretokens ()) {// เป็นตัวแทนของผู้สมัครด้วยกล่องวิทยุและเพิ่มลงในแผง P2_1 s = fenxi.nexttoken (); p2_1.add (ช่องทำเครื่องหมาย); ช่องทำเครื่องหมาย SetLabel (S); i ++; } สำหรับ (int k = 0; k <Schoolnumber; k ++) {schoolvote [k] .settext (null); }} อื่นถ้า (e.getSource () == con) {name.settext (null); com.setenabled (จริง); สำหรับ (int k = 0; k <Schoolnumber; k ++) {schoolvote [k] .settext (null); }} อื่นถ้า (e.getSource () == แน่นอน) {TotalVote = TotalVote+1; com.setenabled (เท็จ); หมายเลข int = 0; สำหรับ (int k = 0; k <Schoolnumber; k ++) {ถ้า (ช่องทำเครื่องหมาย [k] .getState ()) {number ++; }} if (number> max) {dis ++; สำหรับ (int k = 0; k <Schoolnumber; k ++) {ช่องทำเครื่องหมาย [k] .setstate (เท็จ); }} อื่นถ้า (number == 0) {giveup ++; } อื่นถ้า (หมายเลข> 0 && number <= สูงสุด) {สำหรับ (int k = 0; k <Schoolnumber; k ++) {ถ้า (ช่องทำเครื่องหมาย [k] .getState ()) {count [k] = count [k] +1; ช่องทำเครื่องหมาย [k] .setstate (เท็จ); Schoolvote [k] .settext (ช่องทำเครื่องหมาย [k] .getLabel ()+"จำนวนคะแนน:"+count [k]); } else {Schoolvote [k] .settext (ช่องทำเครื่องหมาย [k] .getLabel ()+"จำนวนคะแนน:"+count [k]); }}} votemess.settext ("มันนับได้:"+TotalVote+"จำนวนคะแนนโหวตและการโหวตการงดออกเสียง:"+GiveUp+"ไม่ถูกต้อง:"+dis); } อื่นถ้า (e.getSource () == เรียงลำดับ) {สำหรับ (int i = 0; i <Schoolnumber; i ++) {สำหรับ (int j = i+1; j <Schoolnumber; j ++) {ถ้า (นับ [j]> นับ) {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 (เท็จ); } อื่นถ้า (e.getSource () == resh) {totalVote = 0; Votemess.settext ("มันถูกนับ:"+TotalVote+"Zhang Votes"); name.settext (Null); com.setenabled (จริง); Sure.setEnabled (จริง); sort.setenabled (จริง); สำหรับ (int i = 0; i <= 4; i ++) {count = 0; Schoolvote.settext (Null); P2_1.removeAll (); }}} / ** * @param args * / โมฆะคงที่สาธารณะหลัก (String [] args) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ stub netetest ใหม่ (). show (); -ฉันหวังว่าบทความนี้จะเป็นประโยชน์สำหรับทุกคนในการเรียนรู้การเขียนโปรแกรมซอฟต์แวร์ Java