如何通过右键单击鼠标删除 JLabel 中的图像

我正在做一个动物项目,我想用 MouseListener 函数改进这个项目,但我不知道如何做这个特定的部分,我到处找。这是我的代码,因此您可以很好地了解我在做什么。


主类


public class Animals {


public static void main(String[] args) {

    JFrame application = new JFrame("Animal Project");


    GUI graphicalInterface = new GUI();

    application.add(graphicalInterface);


    application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    application.setLocation(200, 200);

    application.pack();

    application.setVisible(true);

    application.setResizable(false);

}

这就是我运行代码并选择我想要的动物后的样子


http://img4.mukewang.com/60d306940001ad9e06240545.jpg

我有一个清除所有按钮,如果我点击它,它会清除 imageBlock Jlabel 中的所有图像,但是我想添加一个功能,如果我右键单击特定的 JLabel,图像及其所有内容将被删除特定的 JLabel。任何帮助将不胜感激。


富国沪深
浏览 177回答 3
3回答

GCT1015

您可以将鼠标侦听器设置为在右键单击时将其移出框架。或者,如果单击鼠标,您可以设置一个布尔值,设置为真,并且仅在布尔值为真时才显示该对象,因此,如果没有单击鼠标右键,则从文件中设置图像的位置仅运行该代码

素胚勾勒不出你

类似于以下伪代码:imageBlock1.addMouseListener(new MouseAdapter() {    public void mouseClicked (MouseEvent e) {        // use flags to figure out if it is right mouse click        imageBlock1.setIcon(null);    }});对 imageBlock2、3、4 等执行此操作。已经有一段时间了,但沿着这些路线的东西可以做你所要求的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java