java - JButton in a JTabbedPane -


i'm writing interactive program jtabbedpane , jbutton. far, i've been able make when "reserve flight" tab clicked, panel shows up:

img http://i46.tinypic.com/2dtt91j.png

i want image use mouselistener display when click either button. code like?

this current method:

displaying image:

protected jcomponent makeimagepanel(string path)  {     try{         jpanel panel = new jpanel(false);         bufferedimage mypicture = imageio.read(new file(path));         jlabel piclabel = new jlabel(new imageicon( mypicture ));         panel.add(piclabel);          return panel;     }catch (ioexception e)     {         throw new illegalargumentexception("unable load" + path);     }  }  

and mouse events:

     protected jcomponent flightoptions()    {     jpanel panel= new jpanel(false);     jbutton international= new jbutton("international flights");     jbutton domestic= new jbutton("domestic flights");     international.setverticaltextposition (abstractbutton.center);     international.sethorizontaltextposition(abstractbutton.leading);     domestic.setverticaltextposition (abstractbutton.center);     domestic.sethorizontaltextposition(abstractbutton.leading);     international.setactioncommand("international");     domestic.setactioncommand("domestic");     international.setenabled(true);     mouseadapter2 mouse= new mouseadapter2();     international.addmouselistener(mouse);     domestic.addmouselistener(mouse);     panel.setlayout(new gridlayout(1, 1));     panel.add(international);     panel.add(domestic);     return panel; } class mouseadapter2 extends mouseadapter {      public void mousepressed(mouseevent e) {         jbutton buttonpressed = (jbutton)e.getsource();         if(buttonpressed==international)         {             reservation= makeimagepanel("international_1.gif");             overview.addtab("international flight", reservation);          }     } 

thanks!

you can using

jbutton2.setpressedicon(new javax.swing.imageicon(getclass().getresource("/newpackage/water lilies.jpg"))); 

run code , see how works

updation 2

import javax.swing.jframe; import javax.swing.joptionpane;  public class sample extends javax.swing.jframe {     public sample() {         initcomponents();     }     @suppresswarnings("unchecked")     // <editor-fold defaultstate="collapsed" desc="generated code">     private void initcomponents() {          jtabbedpane1 = new javax.swing.jtabbedpane();         jpanel2 = new javax.swing.jpanel();         jbutton1 = new javax.swing.jbutton();         jbutton2 = new javax.swing.jbutton();          setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close);          jpanel2.setlayout(new java.awt.gridlayout());          jbutton1.settext("jbutton1");         jbutton1.setpressedicon(new javax.swing.imageicon(getclass().getresource("/newpackage/blue hills.jpg"))); // noi18n         jbutton1.addactionlistener(new java.awt.event.actionlistener() {             public void actionperformed(java.awt.event.actionevent evt) {                 jbutton1actionperformed(evt);             }         });         jpanel2.add(jbutton1);          jbutton2.settext("jbutton1");         jbutton2.setpressedicon(new javax.swing.imageicon(getclass().getresource("/newpackage/water lilies.jpg"))); // noi18n         jbutton2.addactionlistener(new java.awt.event.actionlistener() {             public void actionperformed(java.awt.event.actionevent evt) {                 jbutton2actionperformed(evt);             }         });         jpanel2.add(jbutton2);          jtabbedpane1.addtab("tab2", jpanel2);          javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane());         getcontentpane().setlayout(layout);         layout.sethorizontalgroup(             layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addcomponent(jtabbedpane1, javax.swing.grouplayout.default_size, 400, short.max_value)         );         layout.setverticalgroup(             layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addcomponent(jtabbedpane1, javax.swing.grouplayout.default_size, 300, short.max_value)         );          pack();     }// </editor-fold>      private void jbutton1actionperformed(java.awt.event.actionevent evt) {      imagepanel panel = new imagepanel();     // display jpanel in joptionpane dialog, using showmessagedialog     jframe frame = new jframe("joptionpane showmessagedialog component example");     joptionpane.showmessagedialog(frame, panel);     }      private void jbutton2actionperformed(java.awt.event.actionevent evt) {     imagepanel2 panel = new imagepanel2();     // display jpanel in joptionpane dialog, using showmessagedialog     jframe frame = new jframe("joptionpane showmessagedialog component example");     joptionpane.showmessagedialog(frame, panel);     }      public static void main(string args[]) {          //<editor-fold defaultstate="collapsed" desc=" , feel setting code (optional) ">          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(sample.class.getname()).log(java.util.logging.level.severe, null, ex);         } catch (instantiationexception ex) {             java.util.logging.logger.getlogger(sample.class.getname()).log(java.util.logging.level.severe, null, ex);         } catch (illegalaccessexception ex) {             java.util.logging.logger.getlogger(sample.class.getname()).log(java.util.logging.level.severe, null, ex);         } catch (javax.swing.unsupportedlookandfeelexception ex) {             java.util.logging.logger.getlogger(sample.class.getname()).log(java.util.logging.level.severe, null, ex);         }         //</editor-fold>          java.awt.eventqueue.invokelater(new runnable() {              public void run() {                 new sample().setvisible(true);             }         });     }     // variables declaration - not modify     private javax.swing.jbutton jbutton1;     private javax.swing.jbutton jbutton2;     private javax.swing.jpanel jpanel2;     private javax.swing.jtabbedpane jtabbedpane1;     // end of variables declaration } 

imagepanel.java

public class imagepanel extends javax.swing.jpanel {     public imagepanel() {         initcomponents();     }     @suppresswarnings("unchecked")     // <editor-fold defaultstate="collapsed" desc="generated code">     private void initcomponents() {          jlabel1 = new javax.swing.jlabel();          jlabel1.seticon(new javax.swing.imageicon(getclass().getresource("/newpackage/blue hills.jpg"))); // noi18n          javax.swing.grouplayout layout = new javax.swing.grouplayout(this);         this.setlayout(layout);         layout.sethorizontalgroup(             layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addcomponent(jlabel1, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, short.max_value)         );         layout.setverticalgroup(             layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addcomponent(jlabel1, javax.swing.grouplayout.default_size, 609, short.max_value)         );     }// </editor-fold>     // variables declaration - not modify     private javax.swing.jlabel jlabel1;     // end of variables declaration } 

imagepanel2.java

public class imagepanel2 extends javax.swing.jpanel {     public imagepanel2() {         initcomponents();     }     @suppresswarnings("unchecked")     // <editor-fold defaultstate="collapsed" desc="generated code">     private void initcomponents() {          jlabel1 = new javax.swing.jlabel();          jlabel1.seticon(new javax.swing.imageicon(getclass().getresource("/newpackage/water lilies.jpg"))); // noi18n          javax.swing.grouplayout layout = new javax.swing.grouplayout(this);         this.setlayout(layout);         layout.sethorizontalgroup(             layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addcomponent(jlabel1, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, short.max_value)         );         layout.setverticalgroup(             layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addcomponent(jlabel1, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, short.max_value)         );     }// </editor-fold>     // variables declaration - not modify     private javax.swing.jlabel jlabel1;     // end of variables declaration } 

Comments