2016-12-23 15 views
0

私はJsplitPaneをプロジェクトに追加しようとしていました。必要なのは、Jpanelを右パネルのJSplitPaneに追加する必要があります。JSplitPanel内のJpanelのSIZE

のでJpanelpanel1内の2枚のパネルを追加するよりも、右のパネルにpanel1言うとBoxLayout.Y-AXISを設定し、私が最初に追加されて行っていました。

2パネルの最初のパネルにはBoxLayoutがあります。このパネルの幅はpanel1ですが、私はできません。

誰もがそれを行う方法を知っていますか?私は私のproject.RequirementにJsplitPaneを追加しようとしていた

+0

も自分で試してみました何としてコードを共有、あなたの条件を起草するために、単純なペイントアプリを使用してください。 – Arvind

+0

[例](http://stackoverflow.com/a/10110232/230513)。 – trashgod

答えて

1

は私がJSplitPaneの右側のパネルの内側に2 Jpanelを追加する が必要です。

JSplitPaneを使用して、我々はそれが唯一の2つのコンポーネントは左と右またはトップとボトムを言うにペインを分割することを忘れてはなりません。したがって、JSplitPaneの片面に2つ以上のコンポーネントを追加する場合は、のように、ネスト分割ペインを使用することをお勧めします。これは分割ペイン内に分割ペインを作成することを意味します。私が最初にJpanelを追加されて行っていたので、何

panel1内の2枚のパネルを追加するよりも、右側のパネル にpanel1言うとBoxLayout.Y-AXISを設定します。

ここで2パネルの最初のパネルにはBoxLayoutがあります。このパネルの幅 はpanel1のサイズにしますが、できません。

あなたはネストスプリットペインを使用している場合、あなたはpanel1と言っ余分な親JPanelを作成する必要がないかもしれません。実際に分割ペインは、ペインを2つのセグメントに分割するために使用されます。したがって、を使用して分割パネルをネスティングする作成するものの代わりに別の分割ペインを作成して、panel1とし、ネストされた新しいJSplitPaneによって作成された2つのペインに2つの子パネルを配置します。だから、あなたはサイズの問題についても考える必要はありません。私はあなたを明確にすることができ、あなたの問題を解決できることを願っています。

宣言:コンストラクタで

private JSplitPane jSplitPane1; 
private JSplitPane jSplitPane2; 
private JPanel jPanel1; 
private JPanel jPanel2; 

jSplitPane1 = new JSplitPane(); 
jSplitPane2 = new JSplitPane(); 

jSplitPane1.setOrientation(JSplitPane.HORIZONTAL_SPLIT); 
jSplitPane1.setRightComponent(jSplitPane2); 
jSplitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT); 

jSplitPane1.setTopComponent(jPanel1); 
jSplitPane1.setBottomComponent(jPanel2); 

を上記の方法での最も簡単で使用していることを達成する

簡単な方法あなたが望むものを達成してください。ただし、スプリットペインをネストすることなく、マルチスプリットペインを使用すると便利です。それでもあなたは、Oracleでこの古い記事を見てすることができます

https://community.oracle.com/docs/DOC-983539

+1

ありがとう@Rakibulイスラム...これは便利です – nik123