Hallo,
sobald das folgende Fenster in der Größe verändert wird, soll der JFrame neu gezeichnet werden (repaint()), indem der Konstruktor aufgerufen wird. In dem Textfeld soll dann der neue Text ("NEUER Text") stehen. Der Konstruktor wird aber nicht aufgerufen und der JFrame nicht neu gezeichnet. Warum?
Gruß,
Raphalon
sobald das folgende Fenster in der Größe verändert wird, soll der JFrame neu gezeichnet werden (repaint()), indem der Konstruktor aufgerufen wird. In dem Textfeld soll dann der neue Text ("NEUER Text") stehen. Der Konstruktor wird aber nicht aufgerufen und der JFrame nicht neu gezeichnet. Warum?
Gruß,
Raphalon
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Tess extends JFrame {
private String myvalue = "Mein Text";
public Tess() {
super("Tess");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
cp.add(new JTextField(myvalue), BorderLayout.NORTH);
this.addComponentListener(new ComponentRepaintAdapter());
}
public static void main(String[] args) {
Tess frame = new Tess();
frame.setLocation(100, 100);
frame.setSize(300, 200);
frame.setVisible(true);
}
private class ComponentRepaintAdapter extends ComponentAdapter {
public void componentResized(ComponentEvent event) {
myvalue = "NEUER Text";
event.getComponent().repaint();
}
}
}