Error when using addComponentListener in a getter [message #777361] |
Tue, 10 January 2012 05:38  |
Eclipse User |
|
|
|
The following example shows a blank screen in Window Builder:
import javax.swing.JFrame;
public class Frame extends JFrame{
private JPanel panel;
public Frame(){
super();
initialize();
}
private void initialize() {
this.setName("ABC");
this.setLocation(0, 10);
this.setSize(990, 750);
this.setTitle("abc");
this.setContentPane(this.getPanel());
}
protected JPanel getPanel() {
if (panel == null) {
panel = new JPanel();
JLabel lblTest = new JLabel("lala");
panel.add(lblTest);
}
panel.addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentResized(java.awt.event.ComponentEvent e) {
// abc
}
});
return panel;
}
}
But if panel.addComponentListener is moved into the if block, it works
protected JPanel getPanel() {
if (panel == null) {
panel = new JPanel();
JLabel lblTest = new JLabel("lala");
panel.add(lblTest);
panel.addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentResized(java.awt.event.ComponentEvent e) {
// abc
}
});
}
return panel;
}
Is it possible to get it working without touching the code? We've got a lot of legacy code that isn't even ours and we can't check and update a thousand panels.
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.04031 seconds