java - How can I make a 'Play ' button in a JFrame go to another class without adding another JFrame? -
i did code once user clicked on button play shows class called jframe4 show jframe
private void jbutton2mouseclicked(java.awt.event.mouseevent evt) { joptionpane.showmessagedialog(null, "this .....","aide",joptionpane.information_message); } private void jbutton1actionperformed(java.awt.event.actionevent evt) { dispose(); jframe4 play= new jframe4(); play.setvisible(true); } private void jbutton3actionperformed(java.awt.event.actionevent evt) { dispose(); } and here's class jframe4:
public class jframe4 extends javax.swing.jframe { /** * creates new form jframe4 */ public jframe4() { initcomponents(); } /** * method called within constructor initialize form. * warning: not modify code. content of method * regenerated form editor. */ @suppresswarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="generated code"> private void initcomponents() { jpanel1 = new javax.swing.jpanel(); jlabel2 = new javax.swing.jlabel(); jbutton1 = new javax.swing.jbutton(); jlabel1 = new javax.swing.jlabel(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); jpanel1.setlayout(null); jlabel2.setfont(new java.awt.font("tahoma", 1, 48)); // noi18n jlabel2.setforeground(new java.awt.color(0, 51, 51)); jlabel2.settext("welcome"); jpanel1.add(jlabel2); jlabel2.setbounds(130, 10, 760, 70); jbutton1.setfont(new java.awt.font("tahoma", 1, 14)); // noi18n jbutton1.settext("back menu "); jbutton1.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { jbutton1actionperformed(evt); } }); jpanel1.add(jbutton1); jbutton1.setbounds(720, 480, 170, 25); jlabel1.seticon(new javax.swing.imageicon("c:\\users\\asus\\desktop\\files\\40639a0054b339d12685d654878daa25.jpg")); // noi18n jpanel1.add(jlabel1); jlabel1.setbounds(0, 0, 910, 530); javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorizontalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addcomponent(jpanel1, javax.swing.grouplayout.default_size, 915, short.max_value) ); layout.setverticalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addcomponent(jpanel1, javax.swing.grouplayout.default_size, 531, short.max_value) ); pack(); }// </editor-fold> private void jbutton1actionperformed(java.awt.event.actionevent evt) { dispose(); newjframe play= new newjframe(); play.setvisible(true); } /** * @param args command line arguments */ public static void main(string args[]) { /* set nimbus , feel */ //<editor-fold defaultstate="collapsed" desc=" , feel setting code (optional) "> /* if nimbus (introduced in java se 6) not available, stay default , feel. * details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) { if ("nimbus".equals(info.getname())) { javax.swing.uimanager.setlookandfeel(info.getclassname()); break; } } } catch (classnotfoundexception ex) { java.util.logging.logger.getlogger(jframe4.class.getname()).log(java.util.logging.level.severe, null, ex); } catch (instantiationexception ex) { java.util.logging.logger.getlogger(jframe4.class.getname()).log(java.util.logging.level.severe, null, ex); } catch (illegalaccessexception ex) { java.util.logging.logger.getlogger(jframe4.class.getname()).log(java.util.logging.level.severe, null, ex); } catch (javax.swing.unsupportedlookandfeelexception ex) { java.util.logging.logger.getlogger(jframe4.class.getname()).log(java.util.logging.level.severe, null, ex); } //</editor-fold> /* create , display form */ java.awt.eventqueue.invokelater(new runnable() { public void run() { new jframe4().setvisible(true); } }); } // variables declaration - not modify private javax.swing.jbutton jbutton1; private javax.swing.jlabel jlabel1; private javax.swing.jlabel jlabel2; private javax.swing.jpanel jpanel1; // end of variables declaration } but want stay on same frame (like usual games).
simply swap contents:
private void jbutton1actionperformed(java.awt.event.actionevent evt) { dispose(); jpanel play= new jframe4().getcontentpane(); myframe.setcontentpane(play); } note, heavily violate swing's conventions, not directly passing event action listener, signature:
public void actionperformed(actionevent evt)
Comments
Post a Comment