2017-10-31 8 views
0

に自動縮小するJPanelSplitPaneとTabbedPaneがある。 SplitPaneの左側には、JTableを含むScrollPaneがあります。右側には、JTextEditのような公式データを含むJPanelがあります。JSplitPaneの内部のJPaneをJFrameの最適な

私は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); 
+0

利用適切に構成レイアウト。 –

+0

適切に設定されたレイアウトを達成するにはどうすればよいですか?ディバイダをクリックして右側にドラッグした後、最小サイズに達し、ディバイダはこの位置にとどまります。しかし、私はプログラムの開始時にこの位置を直接持っています – jollepe

+0

右のJScrollPaneで 'setMinimumSize()'を試してみよう – aKilleR

答えて

0

どのように私は、自動的に右のJPanelの最小レベルを設定するために私のコードを向上させることができますか?

オーバーライド右パネルのgetMinimumSize()メソッド:

@Override 
public Dimension getMinimumSize() 
{ 
    return super.getPreferredSize(); 
} 
関連する問題