Hallo,
wie kann man es realisieren, dass ein und dass selbe Panel ein-/ und ausgeblendet wird. Beim Einblenden ist es aber möglich, daß sich die Eingabefelder in dem Panel ändern.
Ich habe es bisher so versucht:
Ich habe zwei Panels ... das zweite Panel wird per Button-Klick vom ersten Panel aufgerufen. Beim Klick auf den Button "Back" wird das zweite Panel entfernt und nur das erste Panel angezeigt (funktioniert anscheinend richtig). Wenn ich nun im ersten Panel wieder auf den Button "Next" klicke, soll Panel2 wieder angezeigt werden, im GridBagLayout in der Zelle daneben (das funktioniert nicht mehr). Panel1 bleibt mittig ausgerichtet im Layout und Panel2 legt sich darüber (eigentlich an der richtigen Stelle, nur Panel1 wird nicht an der richtigen Stelle angezeigt). Außerdem funktioniert der Button auf Panel2 nicht mehr (das Panel wird nicht mehr ausgeblendet).
Irgendwie steh ich auf der Leitung ...
Danke
chrissy
wie kann man es realisieren, dass ein und dass selbe Panel ein-/ und ausgeblendet wird. Beim Einblenden ist es aber möglich, daß sich die Eingabefelder in dem Panel ändern.
Ich habe es bisher so versucht:
Code:
private void showStep2(int iSelect)
{
this.getContentPane().add(pnlStep2,
new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
new Insets(0, 0, 0, 0), 100, 0));
pnlStep2.setVisible(true);
GridBagLayout layoutInput = new GridBagLayout();
pnlStep2.setLayout(layoutInput);
String[] comboSelect = {"Case1", "Case2", "Case3", "Case4", "Case5"};
cboCase = new JComboBox(comboSelect);
JLabel lblStep1 = new JLabel("<html>[b]<u>Step 2 - Fall-Unterscheidung</u>[/b]</html>");
btnNext2 = new JButton("Go to Step 3 >");
btnNext2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
if (! pnlStep3.isShowing())
showStep3();
}
});
btnBack2 = new JButton("< Back to Step 1");
btnBack2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
hideStep2();
}
});
pnlStep2.add(lblStep1,
new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE,
new Insets(0,0,10,0), 0, 0));
pnlStep2.add(cboCase, new GridBagConstraints(0, 1, 2, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 2, 0), 70, 0));
pnlStep2.add(btnBack2,
new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE,
new Insets(0,0,0,0), 0, 0));
pnlStep2.add(btnNext2,
new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE,
new Insets(0,0,0,0), 0, 0));
pnlStep2.setPreferredSize(new Dimension(100, 50));
pnlStep2.validate();
}
private void hideStep2()
{
pnlStep2.removeAll();
this.getContentPane().remove(pnlStep2);
this.validate();
}
Ich habe zwei Panels ... das zweite Panel wird per Button-Klick vom ersten Panel aufgerufen. Beim Klick auf den Button "Back" wird das zweite Panel entfernt und nur das erste Panel angezeigt (funktioniert anscheinend richtig). Wenn ich nun im ersten Panel wieder auf den Button "Next" klicke, soll Panel2 wieder angezeigt werden, im GridBagLayout in der Zelle daneben (das funktioniert nicht mehr). Panel1 bleibt mittig ausgerichtet im Layout und Panel2 legt sich darüber (eigentlich an der richtigen Stelle, nur Panel1 wird nicht an der richtigen Stelle angezeigt). Außerdem funktioniert der Button auf Panel2 nicht mehr (das Panel wird nicht mehr ausgeblendet).
Irgendwie steh ich auf der Leitung ...
Danke
chrissy