3

我需要在 MouseOver 上更改 JtabbedPane 选项卡的文本颜色。

是否可以使用鼠标侦听器或者是否有任何不同的属性可以做到这一点?

谢谢乔蒂

4

2 回答 2

3

没有内置的属性或方法可以做到这一点。

一种选择是创建一个自定义 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) 时,还可以像这样设置自定义标题组件:

yourTabbedPane.setTabComponentAt(index, new CustomMouseOverJLabel("title"));
于 2010-11-19T18:52:13.143 回答
0

选项卡式窗格教程有一个带有自定义组件的选项卡示例,可能会有所帮助。

于 2010-11-19T17:14:50.573 回答