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
Post a Comment