java - GUI Save Feature so that when the GUI is closed, when it reopens it has the same data visible -


gui save feature when gui closed, when reopens has same data visible. right gui works fine, , logic segment unfinished doesn't affect problem @ hand. lads.

    import java.awt.*;  import java.awt.event.*;     import javax.swing.*;      import java.text.numberformat;     import java.lang.math;      public class abdul {           public static void main(string[] args) {              jframe frame = new futurevalueframe();          frame.setvisible(true); } }      class futurevalueframe extends jframe {         public futurevalueframe() {          settitle("loan calculator");         setsize(300, 300);          centerwindow(this);          setresizable(false);         setdefaultcloseoperation(jframe.exit_on_close);          jpanel panel = new futurevaluepanel();          this.add(panel); }          private void centerwindow(window w) {              toolkit tk = toolkit.getdefaulttoolkit();              dimension d = tk.getscreensize();              setlocation((d.width-w.getwidth())/2, (d.height-w.getheight())/2); } }      class futurevaluepanel extends jpanel implements actionlistener {         private jtextfield paymenttext, ratetext, yearstext, loantext;         private jlabel paymentlabel, ratelabel, yearslabel, loanlabel;          private jbutton calculatebutton, exitbutton, paymentbutton, loanbutton;          public futurevaluepanel() { // display panel          jpanel displaypanel = new jpanel();         displaypanel.setlayout( new flowlayout(flowlayout.right));            loanlabel = new jlabel("loan amount:");         displaypanel.add(loanlabel);          //hello         loantext = new jtextfield(10);         displaypanel.add(loantext);          //////            ///////         ratelabel = new jlabel("yearly interest rate:");          displaypanel.add(ratelabel);           ratetext = new jtextfield(10);         displaypanel.add(ratetext);        ////////         yearslabel = new jlabel("number of years:");          displaypanel.add(yearslabel);          yearstext = new jtextfield(10);         displaypanel.add(yearstext);         ////////         paymentlabel = new jlabel("monthly payment:");          displaypanel.add(paymentlabel);          //hello         paymenttext = new jtextfield(10);          displaypanel.add(paymenttext);         // button panel     jpanel buttonpanel = new jpanel();     jpanel alphapanel = new jpanel();     ;     buttonpanel.setlayout( new flowlayout(flowlayout.right));     alphapanel.setlayout( new flowlayout(flowlayout.right));      // calculate button      calculatebutton = new jbutton("calculate");     calculatebutton.addactionlistener(this);     buttonpanel.add(calculatebutton);       paymentbutton = new jbutton("monthly payment");     paymentbutton.addactionlistener(this);     alphapanel.add(paymentbutton);       loanbutton = new jbutton("loan amount");     loanbutton.addactionlistener(this);     alphapanel.add(loanbutton);       // exit button     exitbutton = new jbutton("exit");     exitbutton.addactionlistener(this);      buttonpanel.add(exitbutton);      // add panels main panel     this.setlayout(new borderlayout());     this.add(displaypanel, borderlayout.center);     this.add(buttonpanel, borderlayout.south);      this.add(alphapanel, borderlayout.north);     }      public void actionperformed(actionevent e) {          object source = e.getsource();          if(source == exitbutton) {             system.exit(0);}         if (source == paymentbutton){             paymenttext.seteditable(false);             paymenttext.setfocusable(false);             paymenttext.settext(null);             loantext.seteditable(true);             loantext.setfocusable(true);             }          if (source == loanbutton){             loantext.seteditable(false);             loantext.setfocusable(false);              loantext.settext(null);             paymenttext.seteditable(true);             paymenttext.setfocusable(true);         }         if (source == calculatebutton){             numberformat currency = numberformat.getcurrencyinstance();             //  paymenttext.settext(currency.format(double.parsedouble(loantext.gettext())));             if()             string = currency.format(double.parsedouble(loantext.gettext()));                         paymenttext.settext(the);              }          }          } 

you'll want attach windowlistener futurevalueframe , monitor windowclosing event.

when occurs, want write settings want keep.

when application loaded, read these settings in , apply them application

check out how write window listeners more details

as actual storage, have number of options...

you use properties api has save , load functionality, based on simple key/value pair api.

you use preferences api, has little more functionality (store primitives), lose control on data stored (more or less)

the choice come down want achieve , amount of work want go to


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

How to get multiresult with multicondition in Sql Server -