java - Calling a JMenuBar from another class -


i have following code gui button on , code jmenubar.

menubartest.java

import javax.swing.*; import java.awt.*; import java.awt.event.*; import menubar.*;  public class menubartest extends jframe implements actionlistener {     jframe mymainwindow = new jframe("this title");      jpanel  firstpanel = new jpanel();      jbutton btntest = new jbutton("refresh results");      guidmenubar mbr;      public void rungui()     {         mymainwindow.setbounds(10, 10, 800, 800);         mymainwindow.setdefaultcloseoperation(jframe.exit_on_close);          mymainwindow.setlayout(new gridlayout(1,1));          createfirstpanel();          mymainwindow.getcontentpane().add(firstpanel);          mymainwindow.setjmenubar(mbr.guidmenubar());          mymainwindow.setvisible(true);     }      public void createfirstpanel()     {         firstpanel.setlayout(null);          btntest.setbounds(100, 100, 200, 50);         btntest.addactionlistener(this);         firstpanel.add(btntest);     }      public void actionperformed(actionevent e)     {         if(e.getsource() == btntest)         {             system.out.println("hi");         }     }      public static void main(string[] args)     {         menubartest mbt = new menubartest();         mbt.rungui();     } } 

guidmenubar.java

package menubar;  import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.event.*;  public class guidmenubar extends jmenubar {        jmenu m_popups;     public jcheckboxmenuitem m_p_allpopups,m_p_namepopups,m_p_textpopups,m_p_sizepopups,m_p_tooltippopups;      public guidmenubar()     {         setborderpainted(true);         makepopupmenu();     }      void makepopupmenu()     {         m_popups = new jmenu("pop ups");         m_popups.setmnemonic('p');          m_p_allpopups = new jcheckboxmenuitem("enable pop ups");         m_p_namepopups = new jcheckboxmenuitem("enable name pop ups");         m_p_sizepopups = new jcheckboxmenuitem("enable automatic sizing pop ups");         m_p_textpopups = new jcheckboxmenuitem("enable add contents pop ups");         m_p_tooltippopups = new jcheckboxmenuitem("enable add tooltips pop ups");          m_p_allpopups.additemlistener(new itemlistener()          {             public void itemstatechanged(itemevent e)              {                 if(m_p_allpopups.getstate())                 {                     m_p_namepopups.setstate(true);                     m_p_sizepopups.setstate(true);                     m_p_textpopups.setstate(true);                     m_p_tooltippopups.setstate(true);                 }                  else                 {                     m_p_namepopups.setstate(false);                     m_p_sizepopups.setstate(false);                     m_p_textpopups.setstate(false);                     m_p_tooltippopups.setstate(false);                 }             }         });          m_popups.add(m_p_allpopups);         m_popups.addseparator();         m_popups.add(m_p_namepopups);         m_popups.add(m_p_sizepopups);         m_popups.add(m_p_textpopups);         m_popups.add(m_p_tooltippopups);          add(m_popups);     }      public void checkstate()     {         system.out.println(m_p_allpopups.getstate());         system.out.println(m_p_namepopups.getstate());         system.out.println(m_p_sizepopups.getstate());         system.out.println(m_p_textpopups.getstate());         system.out.println(m_p_tooltippopups.getstate());     } } 

my aim add jmenubar jframe. when compile error saying can't find guidmenubar(). appreciate help. thanks

you're trying call constructor if static method. don't. instead create instance calling constructor constructor, assign instance variable, , use it. changes:

// guidmenubar mbr; guidmenubar mbr = new guidmenubar(); // create instance , assign  public void rungui() {     // ....      // mymainwindow.setjmenubar(mbr.guidmenubar());     mymainwindow.setjmenubar(mbr); // use instance      mymainwindow.setvisible(true); } 

next we'll talk evils of null layouts , setbounds(...)


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -