当前位置: 代码迷 >> J2SE >> 设置为FlowLayout后,组件不能设置size,该如何处理
  详细解决方案

设置为FlowLayout后,组件不能设置size,该如何处理

热度:104   发布时间:2016-04-24 12:33:17.0
设置为FlowLayout后,组件不能设置size
Java code
public class Test3 extends JFrame{    private JTextField textField;    public Test3() {        getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));                JComboBox comboBox = new JComboBox(new String[]{"1","2","3"});//        comboBox.setSize(new Dimension(60,10));//doesn't work        getContentPane().add(comboBox);                textField = new JTextField();        textField.setSize(100,50);//do not work either        getContentPane().add(textField);        textField.setColumns(10);        this.pack();        this.setVisible(true);    }    public static void main(String...args){        new Test3();    }}

代码中的两处地方,JComboBox和JTextField不能改变size,请如在保证FlowLayout布局的情况下,怎么才能改变size?

------解决方案--------------------
既然使用布局管理了

那 size 是由布局管理器来控制了

你需要的设置控件的以下三个属性:
preferredSize
maximumSize
minimumSize
布局管理器会根据这三个属性,来计算控件的 size

只是不用布局管理器,即setLayout(null); 时
才需要自己设置 size
------解决方案--------------------
看来真记错了 = =!

记得加上这一句:this.setDefaultCloseOperation(3); 点关闭的时候,关掉程序
  相关解决方案