JTabbedPanes をネストすると、親と子の間で顕著な色の変化が見られます。
この問題を説明するスクリーンショットを次に示します。
移行をスムーズにするにはどうすればよいですか?
他のレイアウトやコンポーネントを使用するという点で、代替手段はありますか?
JTabbedPanes をネストすると、親と子の間で顕著な色の変化が見られます。
この問題を説明するスクリーンショットを次に示します。
移行をスムーズにするにはどうすればよいですか?
他のレイアウトやコンポーネントを使用するという点で、代替手段はありますか?
それJTabbedPane
は透明ではないからです。setOpaque(false)
タブ付きペインで呼び出してみてください。
JTabbedPane outer = new JTabbedPane();
outer.setOpaque(false);
// ...
// creating inner pane "Modificar"
JTabbedPane modificar = new JTabbedPane();
modificar.setOpaque(false);
outer.addTab("Modificar", modificar);
ただし、すべてのルック アンド フィールで機能するとは限りません。たとえば、GTK L&F は へsetOpaque()
の呼び出しを無視しますJToolbar
。
別の代替手段は、の代わりに単一にグループ化された透明なJPanel
withFlowLayout
およびを使用することです。JToggleButton
ButtonGroup
JTabbedPane
private void initComponents() {
JTabbedPane outer = new JTabbedPane();
outer.setOpaque(false);
// ...
JPanel innerPane = new JPanel();
innerPane.setOpaque(false);
innerPane.setLayout(new FlowLayout());
ButtonGroup group = new ButtonGroup();
addButton(innerPane, group, new JToggleButton("alta"));
addButton(innerPane, group, new JToggleButton("Modificar")).setSelected(true);
addButton(innerPane, group, new JToggleButton("compraTarifa"));
outer.addTab("Socios", innerPane);
// ...
}
private static <T extends AbstractButton> T addButton(Component parent, ButtonGroup group, T btn) {
group.add(btn);
parent.add(btn);
return btn;
}