我需要在鼠标悬停时更改JtabbedPane标签文本的颜色。
是否可以使用鼠标监听器实现,还是有其他属性来实现这个需求呢?
谢谢。 Jyoti
我需要在鼠标悬停时更改JtabbedPane标签文本的颜色。
是否可以使用鼠标监听器实现,还是有其他属性来实现这个需求呢?
谢谢。 Jyoti
没有内置的属性或方法可以完成这个功能。
一个选项是创建一个自定义的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"));