Hallo, ich habe hier ein kleines Problem und bin schon fast am Verzeifeln..
Dabei handelt es sich um folgends:
Ich möchte ein in einem Frame untergebrachtes Panel einfach durch ein anderes ersetzen.
Habe hier mal ien Beispiel gebastelt. Die beiden Panels sind eigene Klassen (von JPanel geerbt)
Durch das Drücken auf "Change" soll das Panel in der Mitte des Frames (zu Anfang von der Klasse "Panel_X") durch ein Panel der klasse "Panel_Y" ersetzt werden. Doch wenn man drückt, so ändert sich nichts...
Hier noch die Definition von Panel_X; Panel_Y ist identisch, bis auf einen anderen Button...
Was habe ich denn da nicht beachtet und verkehrt gemacht?
Weiß jemand Rat?
Mit freundlichem Gruß
BeSp
Dabei handelt es sich um folgends:
Ich möchte ein in einem Frame untergebrachtes Panel einfach durch ein anderes ersetzen.
Habe hier mal ien Beispiel gebastelt. Die beiden Panels sind eigene Klassen (von JPanel geerbt)
Code:
package gui;
import gui.option.*;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class TheGUI extends JFrame {
private static final long serialVersionUID = 1L;
private JButton quit = new JButton("Quit");
private JButton change = new JButton("Change");
private JPanel midPanel;
public TheGUI()
{
this.setSize(200, 200);
this.setLayout(new BorderLayout());
this.add(change, BorderLayout.NORTH);
this.add(quit, BorderLayout.SOUTH);
// add panel
midPanel = new Panel_X();
this.add(midPanel, BorderLayout.CENTER);
// action listener
change.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
changeButtonActionPerformed(arg0);
}
});
this.setVisible(true);
}
private void changeButtonActionPerformed(ActionEvent ae)
{
midPanel = new Panel_Y();
this.validate();
}
public static void main(String[] args)
{
@SuppressWarnings("unused")
JFrame gui = new TheGUI();
}
}
Durch das Drücken auf "Change" soll das Panel in der Mitte des Frames (zu Anfang von der Klasse "Panel_X") durch ein Panel der klasse "Panel_Y" ersetzt werden. Doch wenn man drückt, so ändert sich nichts...
Hier noch die Definition von Panel_X; Panel_Y ist identisch, bis auf einen anderen Button...
Code:
package gui.option;
import javax.swing.*;
public class Panel_X extends JPanel
{
private JButton button1 = new JButton("Hallo");
public Panel_X() {
super();
this.add(button1);
}
}
Code:
package gui.option;
import javax.swing.*;
public class Panel_Y extends JPanel
{
private JButton button1 = new JButton("Guten Morgen");
public Panel_Y() {
super();
this.add(button1);
}
}
Was habe ich denn da nicht beachtet und verkehrt gemacht?
Weiß jemand Rat?
Mit freundlichem Gruß
BeSp