Java 嵌套JTabbedPanes视觉故障

Java 嵌套JTabbedPanes视觉故障,java,swing,tabs,visual-glitch,Java,Swing,Tabs,Visual Glitch,嵌套JTabbedPane时,父对象和子对象之间有明显的颜色变化 下面是一个屏幕截图来说明这个问题: 您将如何使过渡更平滑 在使用其他布局或组件方面有其他选择吗?这是因为JTabbedPane是不透明的。尝试在选项卡式窗格上调用setOpaque(false),例如: JTabbedPane outer = new JTabbedPane(); outer.setOpaque(false); // ... // creating inner pane "Modificar" JTabbedPa

嵌套JTabbedPane时,父对象和子对象之间有明显的颜色变化

下面是一个屏幕截图来说明这个问题:

您将如何使过渡更平滑


在使用其他布局或组件方面有其他选择吗?

这是因为
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忽略对
JToolbar
上的
setOpaque()
的调用

另一种选择是使用透明的
JPanel
,将
FlowLayout
JToggleButton
分组在一个
ButtongGroup
中,而不是
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;
}
private void initComponents(){
JTabbedPane outer=新的JTabbedPane();
外部不透明(假);
// ...
JPanel innerPane=新的JPanel();
innerPane.set不透明(false);
setLayout(新的FlowLayout());
ButtonGroup=新建ButtonGroup();
addButton(内部窗格、组、新JToggleButton(“alta”);
addButton(innerPane,group,new JToggleButton(“Modificar”))。setSelected(true);
addButton(内部窗格、组、新JToggleButton(“Compatarifa”);
外部.addTab(“Socios”,内部窗格);
// ...
}
私有静态T addButton(组件父级、按钮组组、T btn){
添加组(btn);
父添加(btn);
返回btn;
}

谢谢您的详细回答。我会尽快接受这个测试。干杯