サイズと定義された位置のJPanelが必要です。 JPanelの内部には、一定数の要素(ボタン)が水平に挿入されています。私のJPanelは定義された幅を持っているので、たくさんのボタンを追加すると、私はそれを見ることができませんでした。この場合、私はこのJPanelのスクロールバーが必要です。しかし、このJPanelは、JFrame内の特定の位置にある一定のサイズでなければなりません。 JPanelのスクロールバーは、その下に水平に配置されています。誰かが私を助けることができますか?私は成功せずにそれを試してみました!JPanelのスクロール
12
A
答えて
17
JScrollPaneを使用し、preferredSizeを指定されたサイズに強制します(または、scrollPaneコンテナLayoutManagerをnullに設定し、スクロールペインでsetBounds()を呼び出します)。また、スクロールバーのポリシーを設定します。ここではその小さなサンプルです:ここでは
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class Test {
public static void main(String... args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
for (int i = 0; i < 10; i++) {
panel.add(new JButton("Hello-" + i));
}
JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
scrollPane.setBounds(50, 30, 300, 50);
JPanel contentPane = new JPanel(null);
contentPane.setPreferredSize(new Dimension(500, 400));
contentPane.add(scrollPane);
frame.setContentPane(contentPane);
frame.pack();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
}
5
すべてのボタンをパネルに追加します。次に、このパネルをスクロールペインに追加します。
panel.add(button1);
panel.add(button2);
panel.add(button3);
.
.
.
panel.add(buttonn);
パネルにボタンを追加したら、スクロールパネルにパネルを追加します。
JScrollPane panelPane = new JScrollPane(panel);
このパネルをフレームに追加します。
4
は、いくつかの可能なソリューションです:
または
- が決定
Point
またはRectangle
にスクロールしますメソッドが存在するscrollRectToVisible
など。myPanel.scrollRectToVisible(myButton.getBounds());
関連する問題
- 1. JPanelの内容をスクロール
- 2. スクロール可能なJPanelのJava
- 3. jpanelをスクロールするjava-how?
- 4. 縦スクロールのみのJPanelとJScrollPane
- 5. スクロール可能なJPanelの問題
- 6. JTableセルのスクロール可能なJPanel
- 7. スクロールフローレイアウトのブレーク要素がスクロール可能JPanel
- 8. JPanelをスクロール可能にするには?
- 9. BorderLayout - JPanelのJPanel
- 10. シェイプがJPanelの外にあるときの自動スクロール
- 11. GridBagLayout内のJScrollPane内のJPanelが正しくスクロールしない
- 12. JPanelでアクティブなコンテンツを自動スクロールする - マーキーのテキスト
- 13. 他のJPanel内のJPanelサイジング
- 14. 別のJPanel上のJPanel
- 15. JPanelをJavaでスクロール可能にするには?
- 16. JPanelが追加されたときにJScrollPaneがスクロールしない
- 17. のJPanel
- 18. のJPanel
- 19. JPanelの
- 20. JPanelの
- 21. 私のJScrollPaneは私のJPanelの上に垂直にスクロールしません
- 22. JScrollPane内のJPanelスクロール中にグラフィックスの不具合が発生する
- 23. JavaのJScrollPaneでスクロールしながらJPanelを固定する方法は?
- 24. JLabelの/ JPanelの
- 25. BoxLayoutのJPanelマージン
- 26. JPanelのスライディングウィンドウ
- 27. JPanelのJavaカスタムドラッグアンドドロップ
- 28. jPanelの同期
- 29. アプレットのJPanelレイアウト
- 30. JPanelのチェックボックスは
AFAIK、あなたの 'JPanel'には' Defined Width/Height/Size'が1つありますので、一度追加すると大きさを超えたものは ' 'JScrollPane'でも' JPanel'のサイズを越えることはできないので、これらのコンポーネントは常に隠されています:(サイズを定義しないと、コンポーネントは最初に 'JPanel'に追加されます。 'preferredSize()'は 'doLayout()'で暗黙的に決定されますので、 'JScrollPane'はここでは動作しません。 –
[' JToolBar'](http://docs.oracle .com/javase/tutorial/uiswing/components/toolbar.html)または[適切なレイアウト](http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)を参照してください。[sscce] (http://sscce.org/)の意味を明確にする_確かなsize_と_確かなposition_、この質問は現在の形で答えることはできません。 – trashgod