jTabbedPane 设置活动选项卡文本属性

use*_*472 6 fonts text properties bold tabbed

我有一个 jTabbedPane,其中有多个选项卡。我正在尝试将所选/活动选项卡的标题文本设为粗体。有没有一种简单的方法可以做到这一点?

Dor*_*lan 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));
     }
});
Run Code Online (Sandbox Code Playgroud)

试试这个,我写得很快,也许你需要对初始选项卡做一些调整,不确定。

也不太确定您是否需要 JTabbedPane.getTabComponentAt(int idx) 或 JTabbedPane.getComponentAt(int idx) 尽管我认为第一个版本是正确的。