日期:2014-05-20  浏览次数:20751 次

GridLayout怎样自定义每一列高度?
在一个JFrame窗体里使用了

JFrame serverFrame=new JFrame();
Container contain=serverFrame.getContentPane();
contain.setLayout(new GridLayout(2, 1));

serverFrame使用了GridLayout布局,是两行一列的,但是怎定义第一行高度为20%,第二行高度为80%呢??
想要的结果如下图


手画的,大概就是这个意思,上面的代码定义后行是均等大小的,我想改成图中所示的那样,该怎么布局?

------解决方案--------------------
好像不可以,推荐使用TableLayout,实现这个要求非常简单
------解决方案--------------------
用GridData辅助就行。
------解决方案--------------------
引用:
好像不可以,推荐使用TableLayout,实现这个要求非常简单


TableLayout是安卓开发里面才有的吧,话说都很高级的样子,GridLayout不能自定义容器组件的大小,你设置Layout为null,然后添加两个JPanel就行了,JPanel的左上角坐标是相对于JFrame的,很简单的
------解决方案--------------------
其实用默认的BoaderLayout就行啦 一个在北 一个在中间!如果或者用BoxLayout的垂直模式 或者不要默认的布局方式 直接setLayout(null);然后自己定义大小!希望对你有帮助
------解决方案--------------------
Swing的TableLayout下载http://mvnrepository.com/artifact/tablelayout/TableLayout/20050920