我正在尝试使用 ImageIcon 和 addMouseListener 从 JFrame 上的图像制作一个按钮,该按钮将通过单击将当前图像替换为另一个图像。
static JPanel jp = new JPanel();
final JLabel jl = new JLabel();
final JFrame jf = new JFrame();
ImageIcon image = new ImageIcon("image1.jpg");
jl.setIcon(image);
jp.add(jl);
jf.add(jp);
jf.validate();
JLabel button = new JLabel(image);
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
jl.setIcon( null );
ImageIcon image = new ImageIcon("image2.jpg");
jl.setIcon(image);
}
});
GUI 显示为 image1.jpg,但按钮根本不起作用,我什至无法测试从 image1 到 image2 的替换是否有效。即使我尝试单击窗口上显示的 image1.jpg,GUI 也不会执行任何操作。
编辑:调整 JLabel 变量现在是最终的。其他类似的问题暗示这种方法应该有效,但我无法弄清楚代码有什么问题。