是否可以使用图形对图像进行悬停效果?

时间:2013-04-13 03:25:53

标签: java swing graphics

我正在尝试使用图形在Swing中对多个图像进行悬停效果,我知道这可以通过使用CSS来完成但是在Java中产生这种效果很困惑,有人可以帮助我吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

将MouseListener与事件mouseEntered和mouseExited一起使用。