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

请教一个swing布局问题(带图)


如图,灰色背景的是我自定义的一个控件,派生自JPanel,里面添加了几个JButton.
其布局方式是:setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));

深黄色部分就是JSplitPane的左侧的JPanel,默认的布局方式。

现在问题是,我无法控制派生JPanel的宽度,我相让它和深黄色背景JPanel等宽,但是:
int w = this.panel1.getWidth();
panel1就是深黄色背景的JPanel,调试时,查看panel1的width属性,发现值为234,这和实际相符。但w却只有一百多,它是灰色背景派生JPanel的宽度!

晕啊,本来是想获取到深黄色背景JPanel的宽度再去设置派生JPanel的宽度,但貌似返回的是其中子控件宽度。

请大虾们指点一二啊

------解决方案--------------------
JSplitPane 左侧 就是黄色背景的是什么? JPanel 布局管理器是什么? 估计是默认的 所以才这样