CardLayout, wechseln Sie zwischen JPanels durch ButtonClick
Möchte ich wechseln zwischen den JPanels, indem Sie auf Tasten auf der JPanels.
Zum Beispiel:
Ich habe ein JPanel-sim mit einem JButton simknop und ein JPanel Hilfe bei JButton helpknop
Ich will wechseln Sie zwischen diesen 2 JPanels durch klicken auf die Schaltflächen. Wenn ich auf JButton simknop JPanel helfen sollte
angezeigt und wenn ich auf JButton Hilfe JPanel sim erscheinen soll.
Unten finden Sie die verschiedenen Klassen:
main.java
public class main extends JFrame
{
JPanel cards;
sim sim;
help help;
public main()
{
this.setSize(1024,768);
//this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Crazy Bombardement");
this.setLocation(800, 100);//standaard in de hoek van het scherm
cards = new JPanel();
cards.setLayout(new CardLayout());
sim = new sim();
help = new help();
cards.add(sim, "SIM");
cards.add(help, "HELP");
this.add(cards);
this.setVisible(true);
}
public static void main(String[] args)
{
new main();
}
sim.java
public class sim extends JPanel
{
JButton simknop;
public sim()
{
simknop = new JButton("simknop");
this.add(simknop);
this.setBackground(Color.black);
}
}
help.java
public class help extends JPanel
{
JButton helpknop;
public help()
{
helpknop = new JButton("helpknop");
this.add(helpknop);
this.setBackground(Color.red);
}
Will ich mit CardLayout für diese, aber ich kann nicht herausfinden, wie man es Arbeit für Sie zu hören, verschiedene ActionListeners.
Jede Hilfe wird sehr geschätzt!
- 1) "Jede Hilfe ist sehr geschätzt!" Jede Frage wird sehr geschätzt. Haben Sie eine Frage, und wenn ja, was ist es? 2), um besser helfen früher, nach einem SSCCE. Ein SSCCE gemacht werden können, 3 Klassen, so lange wie 2 sind weniger als
public
. 3) Sie lernen, wie man code formatieren (wählen Sie den eingefügten code und klicken Sie auf die{}
Taste über der Nachricht posten/Bearbeiten von form & sicher sein, um die endgültige}
(was zu fehlen scheint 2 von 3 der oben genannten Klassen). - "//standaard in de hoek van het scherm" Nee! Norm wordt vastgesteld locatie pro Plattform. De zorg er dan commentaar van de code in het Engels in de toekomst, dus ik hoef niet te gebruiken Google vertalen om ze te begrijpen!
Du musst angemeldet sein, um einen Kommentar abzugeben.
1) Die Tasten sollten nicht auf jedes panel in das CardLayout. Sie brauchen, um auf ein anderes externes panel, dass ist immer sichtbar, unabhängig davon welche Karte ist die Schaltung auf der platine.
2) Sobald die Tasten befinden sich richtig, fügen Sie ein ActionListener für jeden, dessen actionPerformed-Methode würde folgendermaßen Aussehen (mit SIM-Schaltfläche als Beispiel):
Weiter Lesen: How To Use CardLayout
EDIT: In der Theorie können Sie die Tasten direkt auf der Karte-panels, aber es wäre das Gegenteil-Taste auf jeder Tafel (d.h. die SIM-Taste, werden Sie auf die Hilfe-panel und Umgekehrt).