java - 如何更改 JtabbedPane 鼠标悬停时选项卡文本的颜色?

标签 java swing jtabbedpane

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

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

谢谢 乔蒂

最佳答案

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

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

关于java - 如何更改 JtabbedPane 鼠标悬停时选项卡文本的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4222269/

相关文章:

java - 为什么这个简单的 Java Swing 程序会死机?

java - 如何在运行时更改 JTabbedPane 的背景颜色?

java - 如何在 Netbeans 中运行 cucumber 功能文件

java - 在 Java 中创建命名管道

java - com.mysql.jdbc.PacketTooBigException : Packet for query is too large even with Packet for query is too large even with max_allowed_packet

Java Swing : Add tabs into JPanels

java - 在选项卡 Pane 中显示多个图像

java - Deeplearning4j 在 Scala 中的线程间共享计算图

java - 如何使用 GUI - 使用 PaintComponent() 初始化 GUI,然后添加基于鼠标的 GUI

Java Swing 将工具提示显示为消息对话框