1
這是我的代碼:的Java JScrollPane的問題
public class JJD extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public JJD() {
super("test");
JPanel center = new JPanel();
center.setBackground(Color.red);
JScrollPane pane = new JScrollPane(center);
this.getContentPane().add(pane, BorderLayout.CENTER);
final JFrame fr = this;
this.addWindowFocusListener(new WindowFocusListener() {
@Override
public void windowLostFocus(WindowEvent arg0) {
// TODO Auto-generated method stub
if (fr.isValid()) {
System.out.println("FOCUS VALID!");
} else {
System.out.println("Focus INVALID");
}
}
@Override
public void windowGainedFocus(WindowEvent arg0) {
// TODO Auto-generated method stub
}
});
this.setVisible(true);
this.setSize(500, 500);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame fr = new JJD();
fr.validate();
}
}
你能告訴我爲什麼聽者打印出我的框架是不是有效?我也嘗試了其他方法,如pack()
revalidate()
仍然,監聽器打印出我的幀無效。
提示:問題是因爲JScrollPane
,但我無法弄清楚如何使我的框架有效。
爲什麼在你的上下文中這很重要?當您的監聽器被調用時,機會驗證更新尚未準備好。 – kleopatra 2012-04-01 14:12:47