要想实现通过监听鼠标点击事件来更换图像。可以通过改写MouseAdapter类中的mouseClicked方法来实现。下面的实例就是通过继承MouseAdapter类,并对mouseClicked()方法进行改写来实现的两个图像交替显示的效果。这里也应用了JLabel类中的setIcon(Icon icon)方法。使用这个方法可以很方便地对JLabel对象所显示的图像进行修改。
import javax.swing.*;
import java.awt.event.*;
public class BackFrontTest{
//private String photo;
private JLabel label;
public BackFrontTest(){
JFrame frame = new JFrame();
frame.setSize(500,400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label = new JLabel(new ImageIcon("images\\1.PNG"));
JPanel panel = new JPanel();
panel.add(label);
frame.add(panel);
frame.addMouseListener(new MyListener());
}
class MyListener extends MouseAdapter{
int number;
public MyListener(){
super();
this.number = 0;
}
public void mouseClicked(MouseEvent event){
number++;
if(number%2 == 1){
label.setIcon(new ImageIcon("images\\1.PNG"));
}else{
label.setIcon(new ImageIcon("images\\2.PNG"));
}
}
}
public static void main(String[] args) {
new BackFrontTest();
}
}