Hallo Leute!
Ich habe leider ein Problem. Ich habe ein kleines Login-Interface gebastelt und wenn der Login durchgeführt wurde, soll sich das Fenster verändern und neue Buttons (und ähnliche ELemente) sollen angezeigt werden.
Buttons entfernen ist kein Problem - das funktioniert. Aber wenn ich neue Buttons mit einem Actionlistener hinzufügen will, passiert scheinbar nichts. Erst wenn ich den Rand des Fensters anklicke (!) erscheinen die Buttons.. Komisch, oder?
Habt ihr eine AHnung, was ich falsch mache?
Ich habe leider ein Problem. Ich habe ein kleines Login-Interface gebastelt und wenn der Login durchgeführt wurde, soll sich das Fenster verändern und neue Buttons (und ähnliche ELemente) sollen angezeigt werden.
Buttons entfernen ist kein Problem - das funktioniert. Aber wenn ich neue Buttons mit einem Actionlistener hinzufügen will, passiert scheinbar nichts. Erst wenn ich den Rand des Fensters anklicke (!) erscheinen die Buttons.. Komisch, oder?
Habt ihr eine AHnung, was ich falsch mache?
Java:
public class mv_RMI_transfer_test extends JFrame implements ActionListener {
private static final Color black = null;
// Die grafischen Elemente werden global deklariert - damit auch das Actionevent diese behandeln kann
private JButton button2;
private JTextArea jta1;
mv_RMI_transfer_test pane;
GridBagConstraints gBC;
private JList themenAuswahl;
public mv_RMI_transfer_test(){
pane = this; // ?? Wurde so von Eclipse angeboten
pane.setLayout(new GridBagLayout());
gBC = new GridBagConstraints();
gBC.fill = GridBagConstraints.HORIZONTAL;
//--------------------------
//---- Username Field
//--------------------------
jta1 = new JTextArea(1,10);
gBC.gridx = 2;
gBC.gridy = 0;
jta1.setEditable(true);
jta1.setBorder(BorderFactory.createLineBorder(black));
pane.add(jta1, gBC);
//--------------------------
//---- Login button
//--------------------------
button2 = new JButton("Login");
gBC.weightx = 0.0;
gBC.gridwidth = 3;
gBC.gridx = 0;
gBC.gridy = 3;
gBC.insets = new Insets(3,30,3,30);
button2.addActionListener(this);
this.getContentPane().add(button2);
pane.add(button2, gBC);
//-------------------------------------------------
//------ 2nd Screen -------------------------------
//-------------------------------------------------
Font font2 = new Font("SansSerif", Font.BOLD, 14);
tf4 = new JTextField("Please choose: ");
gBC.gridx = 0;
gBC.gridy = 1;
gBC.insets = new Insets(30,3,3,3);
tf4.setEditable(false);
//-------------------------------------------------
//------ List -------------------------------
//-------------------------------------------------
// Array für unsere JList
String votings[] = {"111", "2j2", "3j33"};
//JList mit Einträgen wird erstellt
themenAuswahl = new JList(votings);
gBC.gridx = 0;
gBC.gridy = 2;
gBC.insets = new Insets(30,30,30,30);
}
public void actionPerformed(ActionEvent e) {
System.out.println("ActionPerformed!");
if(e.getSource() == button2)
{
pane.remove(jta1);
pane.remove(button2);
pane.add(tf4);
pane.add(themenAuswahl);
pane.repaint();
}
} // void actionPerformed
public static void main(String[] args){
mv_RMI_transfer_test bec = new mv_RMI_transfer_test();
bec.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
bec.setSize(400, 400);
bec.setVisible(true);
} // void main
}// class