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?

解决方案 »

  1.   

    既然使用布局管理了那 size 是由布局管理器来控制了你需要的设置控件的以下三个属性:
    preferredSize
    maximumSize
    minimumSize
    布局管理器会根据这三个属性,来计算控件的 size只是不用布局管理器,即setLayout(null); 时
    才需要自己设置 size
      

  2.   

    不用JFrame的getContentPane() 这个方法,直接换成this试试我记得设置了布局是可以改大小的啊,难道我记错了 =.=~
      

  3.   

    看来真记错了 = =!记得加上这一句:this.setDefaultCloseOperation(3); 点关闭的时候,关掉程序