我正在尝试创建一个带有选项卡的JTabbedPane,这些选项卡在选择时会有不同的颜色。例如,假设我有选项卡A,B和C.如果未选择选项卡,则选项卡颜色将是默认选项卡。如果选择了选项卡A,则选项卡颜色将变为红色。如果选择了选项卡B,则选项卡颜色将变为绿色。如果选择了选项卡C,则选项卡颜色将变为黄色。我怎样才能实现这种行为?我能找到的最接近的方法是调用UIManager.put("TabbedPane.selected", Color.RED)
,但这会将所有选定选项卡的颜色设置为红色。
答案 0 :(得分:1)
为选择添加侦听器,然后相应地更改背景。类似的东西:
pane.addChangeListener( new ChangeListener() {
public void stateChanged( ChangeEvent e ) {
int index = pane.getSelectedIndex();
if( index == 0 ) {
pane.setBackgroundAt( 0, Color.RED );
} else if( index == 1 ) {
pane.setBackgroundAt( 0, Color.GREEN);
}
...
}
} );