jpanel - Java tabbed pane not showing programs -


i'm inexperienced java , have searched around quite bit resolve issue. believe have code correct tabs not showing anything. came across changing layout borderlayout didn't work me. when run program can see quick glimpse of first tab program it's blank. posted tabbedprograms class because believe problem lies in here can post rest if needed. thank in advance help.

import java.awt.borderlayout; import javax.swing.jframe; import javax.swing.jtabbedpane;   public class tabbedprograms extends jframe { public tabbedprograms() {     settitle("week 4 lab assignment");     setlayout(new borderlayout()); //this added change default layout     jtabbedpane jtp = new jtabbedpane();     getcontentpane().add(jtp);      jtp.addtab("day gui", new daygui());     jtp.addtab("office area calculator", new officeareacalculator());      getcontentpane().add(jtp);     setsize(310, 210);     setvisible(true); }  public static void main(string[] args)  {     tabbedprograms test = new tabbedprograms();     test.setdefaultcloseoperation(jframe.exit_on_close);  }  }  import java.awt.color; import java.awt.container; import java.awt.flowlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowadapter; import java.awt.event.windowevent;  import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.joptionpane; import javax.swing.jpanel;  public class daygui extends jpanel  { private jframe mainframe; private jbutton cmdgood; private jbutton cmdbad;  public daygui() {     mainframe = new jframe("messages");      cmdgood = new jbutton("good");     cmdbad = new jbutton("bad");      container c = mainframe.getcontentpane();     c.setlayout(new flowlayout());     c.setbackground(color.orange);      c.add(cmdgood);     c.add(cmdbad);      cmdgood.setmnemonic('g');     cmdbad.setmnemonic('b');      mainframe.setsize(300, 100);      mainframe.addwindowlistener(new windowadapter() {         public void windowclosing(windowevent e) {             system.exit(0);         }  });      buttonshandler bhandler = new buttonshandler();     cmdgood.addactionlistener(bhandler);     cmdbad.addactionlistener(bhandler);      mainframe.setvisible(true); }  class buttonshandler implements actionlistener {     public void actionperformed(actionevent e) {          if(e.getsource() == cmdgood)             joptionpane.showmessagedialog(null, "today day!",                     "event handler message",                     joptionpane.information_message);          if(e.getsource() == cmdbad)             joptionpane.showmessagedialog(null, "today bad day!",                     "event handler message",                     joptionpane.information_message);     } }  public static void main(string[] args)  {     daygui app;     app = new daygui();  }  }   import java.awt.container; import java.awt.flowlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.focusevent; import java.awt.event.focuslistener; import java.awt.event.windowadapter; import java.awt.event.windowevent; import java.text.decimalformat;  import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jtextfield;  public class officeareacalculator extends jpanel { private jframe mainframe; private jbutton calculatebutton; private jbutton exitbutton; private jtextfield lengthfield; private jtextfield widthfield; private jtextfield areafield; private jlabel lengthlabel; private jlabel widthlabel; private jlabel arealabel;  public officeareacalculator() {     mainframe = new jframe("office area calculator");      exitbutton = new jbutton("exit");     lengthlabel = new jlabel("enter length of office:");     widthlabel = new jlabel("enter width of office:");     arealabel = new jlabel("office area:");     lengthfield = new jtextfield(5);     widthfield = new jtextfield(5);     areafield = new jtextfield(5);     areafield.seteditable(false);     calculatebutton = new jbutton("calculate");      container c = mainframe.getcontentpane();      c.setlayout(new flowlayout());      c.add(lengthlabel);     c.add(lengthfield);     c.add(widthlabel);     c.add(widthfield);     c.add(arealabel);     c.add(areafield);     c.add(calculatebutton);     c.add(exitbutton);      calculatebutton.setmnemonic('c');     exitbutton.setmnemonic('x');      mainframe.setsize(260, 150);      mainframe.addwindowlistener(new windowadapter() {         public void windowclosing(windowevent e) {             system.exit(0);         }     });       calculatebuttonhandler chandler = new calculatebuttonhandler();     calculatebutton.addactionlistener(chandler);      exitbuttonhandler ehandler = new exitbuttonhandler();     exitbutton.addactionlistener(ehandler);      focushandler fhandler = new focushandler();     lengthfield.addfocuslistener(fhandler);     widthfield.addfocuslistener(fhandler);     areafield.addfocuslistener(fhandler);      mainframe.setvisible(true);         }  class calculatebuttonhandler implements actionlistener {     public void actionperformed(actionevent e)     {         decimalformat num = new decimalformat(", ###.##");         double width, length, area;         string instring;          instring = lengthfield.gettext();         if(instring.equals(""))         {             instring = ("0");             lengthfield.settext("0");         }         length = double.parsedouble(instring);          instring = widthfield.gettext();         if(instring.equals(""))         {             instring = "0";             widthfield.settext("0");         }         width = double.parsedouble(instring);          area = length * width;         areafield.settext(num.format(area));      } }  class exitbuttonhandler implements actionlistener {     public void actionperformed(actionevent e) {         system.exit(0);     } }  class focushandler implements focuslistener {     public void focusgained(focusevent e)     {         if(e.getsource() == lengthfield || e.getsource() == widthfield)         {             areafield.settext("");         }         else if (e.getsource() == areafield)         {             calculatebutton.requestfocus();         }     }      public void focuslost(focusevent e)     {         if(e.getsource() == widthfield)         {             calculatebutton.requestfocus();         }     } }  } 

the problem both daygui , officeareacalculator both add components to own individual jframe windows rather tabbedprograms. frames appear simultaneously main application frame displayed.

in both containers add components directly onto jpanel components appear on jtabbedpane

for example

//c.add(lengthlabel); add(lengthlabel); 

Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

java - Copying object fields -

c++ - Clear the memory after returning a vector in a function -