私は本当に簡単なテストケースを作りました:
BorderLayout
(panel1)を含むグローバル包含パネルがあります- このグローバルパネルには
JScrollPane
(scroll1)が含まれています - これには、 (panel2)が設定され
JScrollPane
たパネルが含まれていますBoxLayout
PAGE_AXIS
そして、パネルJLabel
にコンポーネント( 's)を追加するこの小さなコードがあります2 :
for (int i = 0; i < 150; i++) {
panel2.add(new JLabel(String.valueOf(i)));
}
panel2.revalidate();
できます。JXPanel
ここで、SwingXから拡張したカスタムパネルを使用したいと思います。したがって、 panel2は私のテストケースのようになります。
public class Panel2 extends JXPanel {
}
もう動作しません。スクロールバーは表示されません。なんで?JXPanel
内で使用するときに何か特別なことはありますJScrollPane
か?
編集:
setScrollableHeightHint(ScrollableSizeHint.NONE);
onを使用した後、コンポーネントの数panel2
に関してpanel2
サイズを変更します。これは私が望む動作ではありません。スクロールペインで固定サイズを維持する必要があります。