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

SWING 布局小问题,顶者有分
主窗体是个JFrame;里面有四个JPanel;位置在上,左,下各放一个,中间来个放大的.
只希望窗口大小变化时.只有中间的JPanel大小铺满剩余位置.
上下两个JPanel高度不变,宽度自动适应整个窗体;
左边的JPanel 宽度不变,高度自动适应;
左上角和左下角的交错部分,不能交错.有代码区分处理即可;
关键是正中间最大块部分要占满剩余位置.窗体大小可变.
不希望在窗口尺寸变化的事件里处理这个问题;
类似于BorderLayout的东南西北中.大概的样子;
上左下三个区域要是能自动隐藏显示就更好了;小弟新手请尽量请清楚,简洁.谢谢!

Swing 布局 java

------解决方案--------------------
对Swing不熟
------解决方案--------------------
新手帮你顶一个
------解决方案--------------------
要好好研究一下
------解决方案--------------------
一般会把最大化按钮禁用,如果程序必须用最大化就呀借助事件来实现了。如果没有使用布局管理器在setBounds(x,y,width,height)时里面的参数最好是通过其他相邻或父窗体计算出来,不要写具体的数字。

窗体改变后调用一下repaint()方法试试。
------解决方案--------------------
swing真心不熟,但是还是来接分
------解决方案--------------------
楼主说的情况就是 BorderLayout 的默认行为。
------解决方案--------------------
引用:
怎么达到这个效果呀.代码.你要自己试了才知道,要是行的话,我也用不差来提问了


只希望窗口大小变化时.只有中间的JPanel大小铺满剩余位置.
上下两个JPanel高度不变,宽度自动适应整个窗体;
左边的JPanel 宽度不变,高度自动适应;

===============

这正是 BorderLayout 的默认行为没错,
用不着试,BorderLayout 不知用过多少次了。
------解决方案--------------------

Swing不熟,接分,顺便帮楼主顶贴!
------解决方案--------------------
帮楼主顶下
------解决方案--------------------
你把你的代码发上来,我去改改试试,
自己写一个的工作量就有点大了。
我一般都是用绝对布局的
用九宫格的方式布局比较少,只是感觉应该把四周的控件定死,应该可以的。
------解决方案--------------------
不会swing