как изменить цвет текста вкладки при наведении курсора на JtabbedPane? - PullRequest
3 голосов
/ 19 ноября 2010

Мне нужно изменить цвет текста вкладки JtabbedPane на MouseOver.

Возможно ли использовать Mouse Listener или есть другое свойство для этого?

Спасибо Jyoti

Ответы [ 2 ]

2 голосов
/ 19 ноября 2010

Нет встроенного свойства или метода для этого.

Один из вариантов - создать пользовательский JLabel (или другой компонент), добавить MouseListener, который изменит цвет при входе / выходе мыши.

Пример, примерно так:

class CustomMouseOverJLabel extends JLabel{
    public CustomMouseOverJLabel(String text) {
        super(text);
        addMouseListener(new MouseAdapter(){
            @Override
            public void mouseEntered(MouseEvent e) {
                setForeground(Color.BLUE);
            }
            @Override
            public void mouseExited(MouseEvent e) {
                setForeground(Color.RED);
            }               
        });
    }       
}

Затем, когда вы вызываете addTab (title, item), также устанавливаете пользовательские компоненты title следующим образом:

yourTabbedPane.setTabComponentAt(index, new CustomMouseOverJLabel("title"));
0 голосов
/ 19 ноября 2010

В руководстве по вкладкам приведен пример вкладок с пользовательскими компонентами, которые могут помочь.

...