2014-04-17 29 views
0

当嵌套JTabbedPanes,有家长和孩子之间有明显的颜色变化。嵌套JTabbedPanes视觉干扰

下面是截图来说明问题:

Alt text goes here.

你如何获得有关使过渡更平滑?

是否有使用其他布局或组件方面的任何替代方案?

回答

1

这是因为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大号&˚F忽略了一个JToolbar调用setOpaque()

另一种替代方法是使用一个透明JPanelFlowLayoutJToggleButton S IN单个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; 
} 
+0

感谢详细的解答。我会尽快接受这个测试。干杯 – MBlanc