我正在尝试使用图形在 Swing 中的多个图像上制作悬停效果,我知道这可以通过使用 CSS 来完成,但在 Java 中制作这种效果时感到困惑,有人可以帮助我吗?
user1782870
问问题
616 次
2 回答
1
是的,完全有可能做到这一点。
假设您有一个JPanel
带有图像的图像,每次用户将鼠标悬停在它上面时您都想更改它。代码将是这样的:
JPanel panel = new JPanel(); // create a JPanel
this.setupGI(panel); // prepare your background
panel.addMouseListener(new MouseHandler()); // add a listener
this.getContentPane.add(panel); // add it to JApplet / JFrame
MouseHandler
这是在您的自定义处理程序类 中添加侦听器。
class MouseHandler extends java.awt.event.MouseAdapter{
@Override public void mouseEntered(MouseEvent e){
// your logic here
}
@Override public void mouseExited(MouseEvent e){
//
}
}
现在,MouseHandler
班级将如何访问JPanel
,这取决于您。通常,我将处理程序类设为子类,以便它可以访问封闭类的所有方法和字段。或者,您可以创建 getter 和 setter 方法。它是由你决定。
更多信息:http: //docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html
于 2013-04-13T03:31:58.440 回答
0
将 MouseListener 与事件 mouseEntered 和 mouseExited 一起使用。
于 2013-04-13T03:30:43.780 回答