如何更改鼠标悬停在JtabbedPane上的选项卡文本的颜色?

时间:2010-11-19 05:09:40

标签: java swing jtabbedpane

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

可以使用鼠标侦听器还是有任何不同的属性来执行此操作?

由于 乔蒂

2 个答案:

答案 0 :(得分:2)

没有内置属性或方法来执行此操作。

一个选项是创建一个自定义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"));

答案 1 :(得分:0)

tabbed pane tutorial有一个标签示例,其中包含可能有用的自定义组件。