panel中的JTextField为什么显示不了?

vivi_2012 vivi_2012 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;


public class JTextFieldTest extends JFrame
{
public JTextFieldTest(){
setSize(new Dimension(300,150));
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setVisible(true);

}

public static void main(String[] args)
{
JTextFieldTest test=new JTextFieldTest();
JPanel panel=new JPanel();
JTextField field=new JTextField();
field.setColumns(10);
panel.add(field);

test.setContentPane(panel);
}

}
问题:
这样写代码,窗口上的JTextField显示不出来,要把鼠标在窗口的边框上点击或者拖拽一下才能显示。
但是如果代码改成如下这样,运行程序就可以马上显示。这是为什么呢?
public class JTextFieldTest extends JFrame
{
public JTextFieldTest(){

JPanel panel=new JPanel();
JTextField field=new JTextField();
field.setColumns(10);
panel.add(field);

setContentPane(panel);
}

public static void main(String[] args)
{
JTextFieldTest test=new JTextFieldTest();
test.setSize(new Dimension(300,150));
test.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
test.setVisible(true);

}

}
...全文
评论 1
收藏 已收藏
分享
返回顶部
vivi_2012
Java 51,407 成员 86,132 内容