在我的JFrame中,我得到了一个JPanelSplitPane和一个TabbedPane。在SplitPane的左侧,我得到了一个ScrollPane,其中包括一个JTable。在右边,我得到了一个JPanel,其中包括一些公式化的数据,比如JTextEdit等等…
我在tje JSplitPane中遇到的一个小问题是,在程序启动后,右侧的JPane的宽度为整个程序帧的30%。当我单击分隔符时,右侧窗格将缩小到最低级别。我如何改进我的代码,以便自动设置正确JPanel的最低级别?因为这个尺寸是完美的!
这是我的建议,但没有如预期的那样奏效:
int iFrameWidth = getWidth();
int iTableCustomer = scrollPaneCustomer.getWidth();
int iSizePaneDetailCustomer = PaneDetailCustomer.getMinimumSize().width;
int iSizeLeft = iFrameWidth-iTableCustomer-iSizePaneDetailCustomer;
int iDividerLocationCustomer = iSizeLeft+iTableCustomer;
SplitPaneCustomer.setDividerLocation(iDividerLocationCustomer);
如何改进我的代码,以便自动设置正确JPanel的最低级别?
覆盖右侧面板的getMinimumSize()方法:
@Override
public Dimension getMinimumSize()
{
return super.getPreferredSize();
}