读书人

java swing 组件大小偶尔不能调整,该怎

发布时间: 2012-09-19 13:43:54 作者: rapoo

java swing 组件大小偶尔不能调整
我用如下代码创建了一个应用,用以显示一个文本框

Java code
    public static void main(String[] args) {        JFrame frame = new JFrame();        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setSize(500, 400);        frame.setVisible(true);        frame.setTitle("电话簿");                JTextField textField = new JTextField("hello,world");        textField.setColumns(1);        frame.add(textField);        textField.setBounds(10, 10, 300, 30);        //textField.setText( String.valueOf( textField.getColumns()) );                Font font = new Font("Comic Sans MS", Font.PLAIN, 15);        textField.setFont(font);    }

可现在遇到了个奇怪的问题,我在eclipse下调试时,有时文本框组件占满整个应用界面,有时又正常
通过不断的点击运行按钮我琢磨出个规律,第偶数号次运行时正常,也就是第2,4,6...次点击 run 按钮时组件大小显示正常。

谁能告诉我这是哪里的原因? 还是怪我人品值差?

[解决办法]
frame 要预先设置成 无布局模式(或者说绝对定位布局)
frame.setLayout(null);
[解决办法]
默认,里面控件随窗体变化而变化。
所以如果把窗体最大化了,那里面field也最大化了,就是楼主说的占满整个空间了。

frame.setResizable(false);
设置一下锁定窗体大小,这样就不会变化了;

或者将布局管理器设置为null

读书人网 >J2SE开发

热点推荐