当我运行这个时,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