hi,
hab mal testweise ein kleine prog mit 3 buttons. zwei davon zeigen nur in einem textfeld an, welcher von den beiden grade gedrückt wurde.
der dritte soll ein neues fenster aufmachen und dann disabled werden, damit man nur ein neues fenster aufmachen kann
das neue fenster aufzumachen und den button dann zu disablen ist kein problem, aber wie mache ich, daß er wieder aktiv wird, wenn ich das fenster schließe?
muß ich da irgendwie ein eventlistener einbauen oder so?
hier mal mein ansatz:
die aufrufende app:
und hier das neu geöffnete fenster:
hab mal testweise ein kleine prog mit 3 buttons. zwei davon zeigen nur in einem textfeld an, welcher von den beiden grade gedrückt wurde.
der dritte soll ein neues fenster aufmachen und dann disabled werden, damit man nur ein neues fenster aufmachen kann
das neue fenster aufzumachen und den button dann zu disablen ist kein problem, aber wie mache ich, daß er wieder aktiv wird, wenn ich das fenster schließe?
muß ich da irgendwie ein eventlistener einbauen oder so?
hier mal mein ansatz:
die aufrufende app:
Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class ButtonTest21 extends JFrame implements ActionListener{
JTextField textFeld1 = new JTextField(20);
JButton zwei_Button = new JButton("Knopf 2");
JButton ein_Button = new JButton("Knopf 1");
JButton noch_Button = new JButton("neues Fenster");
public ButtonTest21()
{
super("teste mal buttons");
init();
}
public void actionPerformed(ActionEvent ae)
{
Object eventSource = ae.getSource();
if (eventSource == ein_Button)
{
textFeld1.setText("erster Knopf gedr?ckt");
}
if (eventSource == zwei_Button)
{
textFeld1.setText("zweiter Knopf gedr?ckt");
}
if (eventSource == noch_Button)
{
NeuesFenster newWindow = new NeuesFenster();
newWindow.show();
noch_Button.setEnabled(false);
}
}
public void init()
{
JPanel contentPane = new JPanel();
contentPane.add(ein_Button);
contentPane.add(zwei_Button);
contentPane.add(noch_Button);
contentPane.add(textFeld1);
ein_Button.addActionListener(this);
zwei_Button.addActionListener(this);
noch_Button.addActionListener(this);
setContentPane(contentPane);
WindowListener listener = new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
};
this.addWindowListener(listener);
this.setSize(400,400);
this.setVisible(true);
}
}
und hier das neu geöffnete fenster:
Code:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class NeuesFenster extends JFrame {
String wasImFensterSteht = "noch nix";
JLabel informText = new JLabel(wasImFensterSteht);
public NeuesFenster()
{
super("neues Fenster");
init();
}
public void init()
{
wasImFensterSteht = "hier im neuen Fenster";
JPanel contentPane = new JPanel();
contentPane.add(informText);
setContentPane(contentPane);
WindowListener listener = new WindowAdapter(){
public void WindowClosing(WindowEvent e)
{
System.exit(0);
}
};
this.addWindowListener(listener);
this.setSize(200, 200);
this.setVisible(true);
}
}