java - JPanel doesn't wait for user input before moving on -


i'm trying make program simple calculations in jpanel. 1 of requirements repeat until user says otherwise. unfortunately when jpanel opens not wait user input, instead moves right on next thing (as have yet written part asks user if continue or quit, it's in infinite while loop means new jpanels keep opening continually until stop program). question is: why isn't program waiting until user presses okay button move on?

here main():

public class driver extends jframe{  public static void main(string args[]){       do{         new gui();         while (!gui.isbuttonpressed()){          }         //int choice = joptionpane.showconfirmdialog(null, "default tax rate 7.5%\ndefault discount rate 10%.\nkeep these default values?", "choose option", joptionpane.yes_no_option);         //switch (choice){             //case joptionpane.yes_option: {                 //saleitem newitem = new saleitem();                 //break;             //}             //case joptionpane.no_option: {                 //new gui();                 //break;             //}         //}     }while(true); } 

and here gui:

import javax.swing.*; import java.awt.event.*;    public class gui extends jframe {     jpanel panel;     jlabel pricelabel;     jlabel discountlabel;     jlabel taxlabel;     jtextfield taxtextfield;     jtextfield pricetextfield;     jtextfield discounttextfield;     jbutton okaybutton;     jbutton defaultsbutton;     final int window_width = 300;     final int window_height = 250;     boolean buttonpressed = false;      public boolean isbuttonpressed() {         return buttonpressed;     }      public void setbuttonpressed(boolean buttonpressed) {         this.buttonpressed = buttonpressed;     }      public gui(){         super("item properties");         setsize(window_width, window_height);         setdefaultcloseoperation(jframe.exit_on_close);         buildpanel();         add(panel);         setvisible(true);     }      private void buildpanel(){         pricelabel = new jlabel("enter item price:");         pricetextfield = new jtextfield(10);          discounttextfield = new jtextfield(10);         discountlabel = new jlabel("enter discount percent:");          taxlabel = new jlabel("enter tax percent:");         taxtextfield = new jtextfield(10);          okaybutton = new jbutton("okay");         okaybutton.addactionlistener(new buttonlistener());          defaultsbutton = new jbutton("use defaults");         defaultsbutton.addactionlistener(new buttonlistener());          panel = new jpanel();          panel.add(pricelabel);         panel.add(pricetextfield);         panel.add(discountlabel);         panel.add(discounttextfield);         panel.add(taxlabel);         panel.add(taxtextfield);          panel.add(okaybutton);         panel.add(defaultsbutton);     }      private class buttonlistener implements actionlistener {         private boolean buttonpressed = false;          public void actionperformed(actionevent event){             gui.setbuttonpressed(true);             saleitem newitem = new saleitem(double.parsedouble(pricetextfield.gettext()), double.parsedouble(discounttextfield.gettext()), double.parsedouble(taxtextfield.gettext()));     } } 

the stuff getbuttonpressed() , isbuttonpressed() , me trying (unsuccessfully) solve problem on own.

thanks in advance help!

unfortunately when jpanel opens not wait user input,

panels don't open. add panel frame or dialog. if want "open" or "popup" use jdialog.

saleitem newitem = new saleitem(...); 

saleitem should modal jdialog. dialog not close until user clicks on button create close dialog. dialog created same way create jframe.


Comments

Popular posts from this blog

How to provide Authorization & Authentication using Asp.net, C#? -

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

How to use Authorization & Authentication in Asp.net, C#? -