0

我正在尝试使用图形在 Swing 中的多个图像上制作悬停效果,我知道这可以通过使用 CSS 来完成,但在 Java 中制作这种效果时感到困惑,有人可以帮助我吗?

4

2 回答 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 回答