java - Navigating between multiple panels -
can tell me how go coding navigation between multiple jpanel
classes taking event trigger jbutton
objects (panels) themselves? have read cardlayout
. panel can swapped events happening in parent panel. want achieve on click of button embedded in panel, should should disappear or desired panel should displayed. can't seem find solution.
there nothing cardlayout prevents switching cards actions of children within cards.
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class testing extends jframe { private jpanel cardholder; private cardlayout cards; private static final string carda = "a"; private static final string cardb = "b"; private class switcher implements actionlistener{ string card; switcher(string card) { this.card = card; } @override public void actionperformed(actionevent e) { cards.show(cardholder, card); } } private void run() { setdefaultcloseoperation(exit_on_close); jpanel pa = new jpanel(); jbutton ba = new jbutton("switch b"); ba.addactionlistener(new switcher(cardb)); pa.add(ba); pa.setbackground(color.cyan); jpanel pb = new jpanel(); jbutton bb = new jbutton("switch a"); bb.addactionlistener(new switcher(carda)); pb.add(bb); pb.setbackground(color.magenta); cardholder = new jpanel(); cards = new cardlayout(); cardholder.setlayout(cards); cardholder.add(pa, carda); cardholder.add(pb, cardb); add(cardholder); pack(); setvisible(true); } public static void main(string[] args) { try { swingutilities.invokeandwait(new runnable() { @override public void run() { new testing().run(); } }); } catch (exception ex) { } } }
Comments
Post a Comment