Ein Bedienfeld wird durch die Methode hinzugefügt, in der sich das Kartenlayout befindet. Und eine andere wird durch das Objekt an eine Methode übergeben. Das Problem ist, dass das Panel eines Kartenlayouts Panel "1" anstelle von Panel "2" zeigt, wie Panel "2" nicht einmal zu einer Methode übergeht. Es gibt keine Fehler ....Kartenlayout mit falschem Bedienfeld
Ich habe versucht, den Code zu vereinfachen, so viel wie ich kann:
Erste Klasse:
public class Game extends JFrame {
private CardLayout cl;
private JPanel MAIN;
private JPanel FIRST;
public Game(){
FIRST = new JPanel();
FIRST.setLayout(new BorderLayout());
cl = new CardLayout();
MAIN = new JPanel();
MAIN.setLayout(cl);
}
public void Show(){
MAIN.add(FIRST, "1");
cl.show(MAIN, "2");
add(MAIN);
}
public void addPanel2(JPanel panel){
MAIN.add(panel, "2");
}
}
Zweite Klasse:
public class meni {
private JPanel SECOND;
Game nova = new Game();
public meni(){
SECOND = new JPanel();
SECOND.setLayout(new GridBagLayout());
nova.addPanel2(SECOND);
}
}
Hauptklasse:
public static void main(String[] args){
Game ticFrame = new Game();
meni luk = new meni();
ticFrame.show();
ticFrame.setTitle("Hey");
ticFrame.setSize(600,600);
ticFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ticFrame.setLocationRelativeTo(null);
ticFrame.setVisible(true);
}
}
hinzufügt. Vielen Dank! – quadrar