當我運行這個時,JLabel是不可見的,但是當我調整窗口大小(用鼠標)JLabel顯示。爲什麼?Java JFrame很奇怪
import javax.swing.*;
import java.awt.*;
public class FrmTaoLogin extends JFrame {
private JPanel pnlLeft = new JPanel();
public FrmTaoLogin() {
super();
pnlLeft.setBorder(BorderFactory.createEtchedBorder());
pnlLeft.add(new JLabel("test1"));
getContentPane().add(pnlLeft,BorderLayout.SOUTH);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(200, 200);
}
public static void main(String[] args) {
FrmTaoLogin FrmLogin = new FrmTaoLogin();
FrmLogin.setVisible(true);
}
}
對我來說,你的例子工作正常。 Windows 7 64位上的Java 1.6.0_17 – Midhat 2010-03-27 11:35:27
僅僅爲了添加組件而繼承JFrame是一種糟糕的做法。 – kdgregory 2010-03-27 11:56:01
它也適用於我,這就是爲什麼我懷疑是線程問題。 – 2010-03-27 11:59:33