swing - Trying to implement JComboBox into program - Java -
this first post!
i'm trying implement combo box made in tutcombo program examgradesgui + examgrades one. can see in tutcombo program, there 'string subjectunittxt'. ideally, replace 'subjectunittxt' in examgradesgui program, having functionality of combo box , being able saved file along firstname, lastname , exammark. if tell me how this, great. sorry if have added code. thanks
i got work making minor changes in code (see attached code). search "unitcombo".
import java.awt.color; import java.awt.gridlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jcombobox; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.joptionpane; import javax.swing.jpanel; import javax.swing.jtextfield; public class examgradesgui { public static void main(string[] args) { new examgradesgui(); } string[] firstname = new string[20]; string[] lastname = new string[20]; string[] subjectunit = new string[20]; double[] exammark = new double[20]; private jlabel firstnamelbl, lastnamelbl, unitlbl, marklbl; private jtextfield firstnametxt, lastnametxt, subjectunittxt, exammarktxt; private jcombobox<string> unitcombo; private jbutton btnclear, btnsave, btnopen, btnexit; private jpanel panel; private jframe frame; public examgradesgui(){ buildframe(); buildfields(); buildbuttons(); frame.setvisible(true); frame.add(panel); } public void buildframe(){ frame = new jframe("gradeenter"); frame.setsize(650,450); frame.setdefaultcloseoperation(jframe.exit_on_close); panel = new jpanel(); panel.setlayout(null); panel.setbackground(color.white); } public void buildfields(){ // labels, user input + location firstnametxt = new jtextfield(10); firstnametxt.setbounds(180, 80, 150, 20); panel.add(firstnametxt); string str = firstnametxt.gettext(); if(str.matches("[-a-za-z]*")) { } else { joptionpane.showmessagedialog(null, "please enter amount donating"); } lastnametxt = new jtextfield(10); lastnametxt.setbounds(180, 110, 150, 20); panel.add(lastnametxt); subjectunittxt = new jtextfield(10); string[] courses = {"computing","forensic","business"}; unitcombo = new jcombobox<string>(courses); //subjectunittxt.setbounds(180, 140, 150, 20); //panel.add(subjectunittxt); unitcombo.setbounds(180, 140, 150, 20); panel.add(unitcombo); // if have time: turn combo box gui - refer testgui.java exammarktxt = new jtextfield(10); exammarktxt.setbounds(180, 170, 150, 20); panel.add(exammarktxt); firstnamelbl = new jlabel("first name:"); firstnamelbl.setbounds(70, 80, 100, 20); panel.add (firstnamelbl); lastnamelbl = new jlabel("last name:"); lastnamelbl.setbounds(70, 110, 100, 20); panel.add (lastnamelbl); unitlbl = new jlabel("unit:"); unitlbl.setbounds(70, 140, 100, 20); panel.add (unitlbl); marklbl = new jlabel("mark:"); marklbl.setbounds(70, 170, 100, 20); panel.add (marklbl); } public void buildbuttons() { btnclear = new jbutton ("reset fields"); btnclear.setbounds(55, 220, 110, 20); btnclear.addactionlistener(new clearbuttonlistener()); panel.add (btnclear); btnsave = new jbutton ("save"); btnsave.setbounds(155, 220, 70, 20); btnsave.addactionlistener(new savebutton()); panel.add (btnsave); btnopen = new jbutton ("open 'gradeenter.txt' "); btnopen.setbounds(90, 250, 200, 20); btnopen.addactionlistener(new openbutton()); panel.add (btnopen); btnexit = new jbutton ("exit"); btnexit.setbounds(255, 220, 70, 20); btnexit.addactionlistener(new exitbutton()); panel.add (btnexit); } public void settext() { firstnametxt.settext(""); lastnametxt.settext(""); subjectunittxt.settext(""); exammarktxt.settext(""); } public void gettext() { int = 0; i++; firstname[i] = firstnametxt.gettext(); lastname[i] = lastnametxt.gettext(); subjectunit[i] = unitcombo.getitemat(unitcombo.getselectedindex()); exammark[i] = double.parsedouble(exammarktxt.gettext()); } private class clearbuttonlistener implements actionlistener { public void actionperformed (actionevent e) { settext(); } } private class savebutton implements actionlistener { public void actionperformed(actionevent e) { gettext(); settext(); examgrades save = new examgrades(); save.fileopen(); save.addrecords(firstname, lastname, subjectunit, exammark); joptionpane.showmessagedialog(null, "entry saved!"); save.fileclose(); } } private class openbutton implements actionlistener { public void actionperformed(actionevent e) { try { joptionpane.showmessagedialog(null, "'gradeenter.txt' opening in java!"); thread.sleep(2); // adds 2 second delay user can read dialog message runtime.getruntime().exec("eclipse gradeenter.txt" ); } catch (exception nofilefound) { system.out.println("couldn't open or find file."); } } } class exitbutton implements actionlistener{ public void actionperformed(actionevent e) { int n = joptionpane.showconfirmdialog(frame, "are sure want exit?", "exit?", joptionpane.yes_no_option); if(n == joptionpane.yes_option){ system.exit(0); } } } }
Comments
Post a Comment