use*_*472 6 fonts text properties bold tabbed
我有一个 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));
}
});
Run Code Online (Sandbox Code Playgroud)
试试这个,我写得很快,也许你需要对初始选项卡做一些调整,不确定。
也不太确定您是否需要 JTabbedPane.getTabComponentAt(int idx) 或 JTabbedPane.getComponentAt(int idx) 尽管我认为第一个版本是正确的。