设置为FlowLayout后,组件不能设置size

lg_asus 2011-09-29 03:25:12

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?
...全文
267 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lg_asus 2011-09-30
  • 打赏
  • 举报
回复
哦,原来这样,,多谢!
蛋黄车 2011-09-29
  • 打赏
  • 举报
回复
看来真记错了 = =!

记得加上这一句:this.setDefaultCloseOperation(3); 点关闭的时候,关掉程序
蛋黄车 2011-09-29
  • 打赏
  • 举报
回复
不用JFrame的getContentPane() 这个方法,直接换成this试试

我记得设置了布局是可以改大小的啊,难道我记错了 =.=~
sunyiz 2011-09-29
  • 打赏
  • 举报
回复
既然使用布局管理了

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

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

只是不用布局管理器,即setLayout(null); 时
才需要自己设置 size

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧