2
我有一個jTabbedPane其中有多個選項卡。我正在嘗試使所選/活動選項卡的標題文本變爲粗體。有沒有簡單的方法來做到這一點?jTabbedPane設置活動標籤文本屬性
我有一個jTabbedPane其中有多個選項卡。我正在嘗試使所選/活動選項卡的標題文本變爲粗體。有沒有簡單的方法來做到這一點?jTabbedPane設置活動標籤文本屬性
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),但我想第一個版本是正確的。
** getComponentAt **獲取組件,即選項卡選擇的窗格的內容。它不會影響標籤上的標題文本。您可以使用** getTitleAt **獲得標題的文本,但不能以這種方式更改字體。 – JavaLatte