多半是因为你是在frame显示之后才把组件加上去,
当改变窗口大小的时候窗口要重绘,这时组件才显示出来
把你加组件的代码放到frame.setVisible(true);后面就行了
你可以添加一个JPanel控件,把其他控件放在该JPanel控件中
给你个实例:HelloWorld.java
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class HelloWorld {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new HelloWorld();
}
HelloWorld(){
JFrame frame=new JFrame("Baidu");
frame.setSize(300,200);//设置窗体大小
frame.setVisible(true);//设置窗体可见
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭按钮
JPanel panel=new JPanel();//添加一个面板,把控件放在面板中
JTextField text=new JTextField();
text.setText("你好,很高兴认识你");
JLabel label=new JLabel("这是一个标签控件");
panel.add(text);
panel.add(label);
frame.add(panel);
}
}
//可以试一试先创建容器,容器添加组件,最后JFrame显示;本人亲测
Container ct=this.getContentPane();//生成一个容器
ct.add(comp);
this.setTitle("");
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
因为有可能这和你的显示屏分辨率有关系。