2014-04-17 74 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