Как установить разные цвета для разных выбранных вкладок JTabbedPane? - PullRequest
2 голосов
/ 29 ноября 2011

Я пытаюсь создать JTabbedPane с вкладками, которые будут иметь разные цвета при выборе. Например, допустим, у меня есть вкладки A, B и C. Если вкладка не выбрана, цвет вкладки будет использоваться по умолчанию. Если выбрана вкладка A, цвет вкладки изменится на красный. Если выбрана вкладка B, цвет вкладки изменится на зеленый. Если выбрана вкладка C, цвет вкладки изменится на желтый. Как я могу добиться этого поведения? Самым близким методом, который я мог найти, был вызов UIManager.put("TabbedPane.selected", Color.RED), но он устанавливает цвет всех выбранных вкладок на красный.

1 Ответ

1 голос
/ 29 ноября 2011

Добавьте слушателя для выбора и затем измените фон соответственно.Что-то вроде:

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);
      }
      ...
   }
} );
...