【发布时间】:2014-01-31 06:28:43
【问题描述】:
当鼠标悬停在图形 2D 字符串上时,有什么方法可以设置它的颜色吗?
到目前为止,这是我的相关代码:
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.white);
g2d.setFont(new Font("Arial", Font.BOLD, 16));
g2d.drawString("EXIT", 650, 50);
}
MouseListener ml=new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
//hover
//should do something here...
}
@Override
public void mouseExited(MouseEvent e) {
}
};
【问题讨论】:
-
不使用
Color.white,而是将颜色存储在一个字段中并在mouseEntered和mouseExited中更新该字段。 -
@VGR 如何知道 g2d 字符串是否处于悬停状态?
-
啊,我明白了……您的组件不仅仅是文本。我撤销我之前的评论。除了使用 MouseListener,还要使用 MouseMotionListener。
标签: java string swing user-interface awt