2013-06-18 33 views

回答

0
JTabbedPane pane = new JTabbedPane(); 
pane.addChangeListener(new ChangeListener(){ 

@Override 
public void stateChanged(ChangeEvent e) { 
    JTabbedPane source = (JTabbedPane) e.getSource(); 
    // Set all tabs to PLAIN font 
    for(int i = 0; i < source.getTabCount(); i++) { 
     Component c = source.getTabComponentAt(i); 
     c.setFont(c.getFont().deriveFont(Font.PLAIN)); 
    } 
    Component selectedComp = source.getTabComponentAt(source.getSelectedIndex()); 
    // Set selected component to BOLD 
    selectedComp.setFont(selectedComp.getFont().deriveFont(Font.BOLD)); 
    } 
}); 

試試這個,我寫得很快,也許你需要做一些調整的初始選項卡,不知道肯定。

也不太確定如果你需要JTabbedPane.getTabComponentAt(int idx)或JTabbedPane.getComponentAt(int idx),但我想第一個版本是正確的。

+0

** getComponentAt **獲取組件,即選項卡選擇的窗格的內容。它不會影響標籤上的標題文本。您可以使用** getTitleAt **獲得標題的文本,但不能以這種方式更改字體。 – JavaLatte