2011-09-09 12 views
3

別のスクロールペイン内に「ネスト」スクロールペインを作成する必要があり、ロジックのアドバイスが必要です。ここでネストされたスクロールペインのロジックのヘルプが必要

は、私が何をしたいです - enter image description here

私はそれはそれはを思い出させるものですので、これを容易にするためのデジタルケーブルテレビ「アナロジーを使用するつもりです。

左側の赤いパネルのボックスを「チャンネル名」と考え、青いパネルのボックスを「名前の表示」と考えてください。

右側の黒いスクロールバーは、チャンネル名が常にショー名と並ぶように、両方のパネルの垂直スクロールを制御する必要があります。

ただし、青色のボックスにしか影響を及ぼさない水平スクロールバー(青色)があります(どのショーが表示されているかを見るためにスクロールしますが、まだチャンネルを持っていたいと考えてください)あなたは何が起こっているか知っているので、左の名前)

私がこれまで試した戦略常に垂直スクロールの下部に現れるだけに、水平スクロールバーを引き起こし、それがすべて見えるようにする必要があります時間。私を助けてください!これは可能ですか?

+0

ScrollBar ???で両方のJScrollPanesをスクロールしたい場合は、それが可能であることを確認してください。+ – mKorbel

答えて

1

あなたは私がhereを見つけたような2つのテーブル間のスクロールや選択を同期させることができます。

+0

これは私が探していたものです。ありがとうございます。 –

0

自分のパネルに赤と青の両方の領域があるとします。それぞれredPanelとbluePanelです。

その場合はこのような何かを試してみてください。

JScrollPane bluePane = new JScrollPane(bluePanel, 
     JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
JPanel redAndBluePanel = new JPanel(); 
redAndBluePanel.setLayout(new BoxLayout(redAndBluePanel, BoxLayout.X_AXIS)); 
redAndBluePanel.add(redPanel); 
redAndBluePanel.add(bluePane); 
JScrollPane redAndBluePane = new JScrollPane(redAndBluePanel, 
     JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 

今だけ何が必要面積にredAndBluePaneを追加使用し、必要に応じてそれが機能しなければなりません。

+0

"redAndBluePanel.add(bluePane);"代わりに "redAndBluePanel.add(bluePanel);"?最初のスクロールペインが使用されないという事実に基づいて、私はそう仮定します。これは私が元々持っていたもので、水平スクロールバーは垂直の一番下にあり、常に表示されません。あなたの入力に関係なく、ありがとう。 –

1

行ヘッダーコンポーネントを使用しているようなことがあります。次の基本的な例では、あなたのアイデアが表示される場合があります:

JList insideLeft = new JList(new String[] { "Line 1", "Line 2", "Line 3" }); 
JList insideRight = new JList(new String[] { "Item 1", "Item 2", "Item 3" }); 
JScrollPane scrollPane = new JScrollPane(insideRight, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
scrollPane.setRowHeaderView(insideLeft); 
+0

これは近いですが、この場合は「内部の左」が必要です。これは垂直スクロールバーにリボンドするためです。 (内部の権利は両方とも適切に影響されるべきですが)。 setRowHeaderViewは不動のヘッダーを作成します。 –

+0

@Tim Curry実際にはスクロールします(「列ヘッダービューポートが自動的に左右にスクロールし、メインビューポートの左右スクロールを追跡します(ただし、垂直方向にはスクロールしません)。 )。 – Howard

+0

何が起こっているのか分かりません。私はこれを試してみましたが、動きませんでした。私は新しいアプリケーションで試してみるので、私のサイジングやwhathaveyouがこれに影響しているとは確信できません。 –

関連する問題