私は本当に簡単なテストケースを作りました:
BorderLayout(panel1)を含むグローバル包含パネルがあります- このグローバルパネルには
JScrollPane(scroll1)が含まれています - これには、 (panel2)が設定され
JScrollPaneたパネルが含まれていますBoxLayoutPAGE_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サイズを変更します。これは私が望む動作ではありません。スクロールペインで固定サイズを維持する必要があります。