为什么当JFrame设置了setSize()属性,程序运行时JLabel并不显示,当拖动JFrame使其改变大小时JLabel才会显示.
而当JFrame不设置setSize()属性,而用pack(),程序一运行就可以看到jlabel中的内容.还请各位指教,谢谢!
(示例程序如下)import javax.swing.*;
public class test extends JFrame{
JLabel label = null;
public test(){
label = new JLabel("Helloret",JLabel.CENTER);
setSize(300,200);
setVisible(true);
getContentPane().add(label);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
new test();
}
}
而当JFrame不设置setSize()属性,而用pack(),程序一运行就可以看到jlabel中的内容.还请各位指教,谢谢!
(示例程序如下)import javax.swing.*;
public class test extends JFrame{
JLabel label = null;
public test(){
label = new JLabel("Helloret",JLabel.CENTER);
setSize(300,200);
setVisible(true);
getContentPane().add(label);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
new test();
}
}
this.getContentPane().setLayout(borderLayout1);
//
this.getContentPane().add(label, java.awt.BorderLayout.CENTER);
或者在最后加上this.validate(),this.repaint();
我也试过了,还是不行!
contentPane = this.getContentPane()
contentPane.setLayout(null);
contentPane.add(label);