Ich habe hier ein kleines prob… Und zwar habe ich frame, in dieses frame packe ich zwei panel und mache eines sichtbar - klappt auch wunderbar. Nun möchte ich auf ein event hin dieses panel unsichtbar machen und das andere sichtbar - das klappt leider nicht… das zweite panel wird erst sichtbar wenn ich das fenster mit der hand (automatisch verändern klappt auch nicht) größer oder kleiner mache… Woran liegt das?
Hier mal der code…:
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Dialog1 extends Frame implements ActionListener, ItemListener
{
Button bt1;
Button bt3;
TextField Pw1;
TextField Pw2;
Panel panel;
Frame rahmen;
Button bt2;
Checkbox Cbox1;
Checkbox Cbox2;
Panel panel2;
/*****************
* Konstruktor *
****************/
public Dialog1()
{
setTitle(„Login“);
setSize(200, 200);
// Neue Panel erzeugen + panel hinzufuegen und sichtbar machen
panel = new Panel();
panel2 = new Panel();
add(panel);
panel.setVisible(true);
// Layout Manager einrichten
panel.setLayout(new FlowLayout());
panel2.setLayout(new GridLayout(5, 2));
// Buttons und Fields zum Panel hinzufuegen
panel.add(new Label(„Name“));
panel.add(Pw1 = new TextField(„test“, 20));
panel.add(new Label(„Passwort“));
panel.add(Pw2 = new TextField(„test“, 20));
Pw2.setEchoChar(’*’);
panel.add(bt1 = new Button(„Test“));
// Buttons und Fields zum Panel2 hinzufuegen
panel2.add(
new Label(„Ist die Archivierung der Scan-Belege beendet?“));
panel2.add(Cbox1 = new Checkbox());
panel2.add(new Label(„Ist der Interpreter heruntergefahren?“));
panel2.add(Cbox2 = new Checkbox());
panel2.add(bt2 = new Button(„Connect“));
bt2.setVisible(false);
// ActionListener hinzufuegen
bt1.addActionListener(this);
bt2.addActionListener(this);
Cbox1.addItemListener(this);
Cbox2.addItemListener(this);
// WindowListener hinzufuegen
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
}
//Button Event
public void actionPerformed(ActionEvent ae)
{
Object quelle = ae.getSource();
if (quelle == bt1)
{
String a = Pw1.getText();
String b = Pw2.getText();
String c = „test“;
String d = „test“;
if (a.equals© && b.equals(d))
{
// altes panel unsichtbar machen
panel.setVisible(false);
panel.removeAll();;
//größe anpassen und neus panel hinzufügen und sichtbar machen
setSize(280,200);
add(panel2);
panel2.setVisible(true); //??
this.repaint(); //??
panel2.repaint(); //??
}
else
{
bt1.setLabel(„BAD“);
}
panel2.setVisible(true); //??
this.repaint(); //??
panel2.repaint(); //??
}
if (quelle == bt2)
{
bt2.setBackground(Color.red);
bt2.setLabel(„Verarbeite“);
connect();
}
}
//Chkbox Event
public void itemStateChanged(ItemEvent e)
{
if (Cbox1.getState() == true && Cbox2.getState() == true)
{
bt2.setVisible(true);
}
}
public void connect()
{
try
{
Client Cl = new Client();
}
catch (Exception e)
{
e.printStackTrace(System.out);
}
}
/****************
* Startpunkt *
***************/
public static void main(String[] args)
{
Frame rahmen = new Dialog1();
rahmen.setVisible(true);
}
}