java - MouseListener 第一次不起作用

标签 java swing mouselistener

我是 Java 的新手,我正在创建一个简单的 GUI。我在 JFrame 中有一个 Java 标签,当我单击它时,程序应该显示另一个框架并隐藏当前框架。我也打印它以检查标签(就像按钮一样)是否有效。第一次它根本工作。它在从第二次点击开始的下一次尝试中起作用,但它隐藏当前帧。

我的代码是:

private void jLabel4MouseClicked(java.awt.event.MouseEvent evt) {                                     

    MainFrame mf = new MainFrame();
    jLabel4.addMouseListener(new MouseAdapter (){

        @Override
        public void mousePressed(MouseEvent e){
            System.out.println("It works.");
            mf.setVisible(true);

            NewJFrame2 n2 = new NewJFrame2();
            n2.setVisible(false);

        }          
    });

有谁知道如何修复它以便从第一次点击开始工作并隐藏当前帧?

最佳答案

与其单击 JLabel,不如创建一个 JButton,它已经使用 ActionListener 处理点击并使其看起来像一个 JLabelthis question 上的多个答案所示.

but it does NOT hide the current JFrame

嗯,你需要调用JFrame#dispose()关于你的监听器的方法,也请看看The Use of Multiple JFrames: Good or Bad Practice? , 最好使用 Card Layout或者看看关于 How to use Dialogs 的教程

关于java - MouseListener 第一次不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44370545/

相关文章:

java - JButton 在我的 java 代码中不起作用

java - AWT 框架不处理事件

java - 比较从 MySql DB 检索的数据时不执行 if block 语句

vim/emacs 中的 Java + jdb + maven : How can I do it?

java - 在 Java 中最大化 JFrame

java - 如何使用designgridlayout在页面中的两类数据之间插入垂直JSeperator?

java - KeyListener 和 MouseListener 不工作

java - 使用来自不同类的参数访问方法

java - 使用java更新特定的cell csv文件

java - Java 中的文件更改检测器(95% 已实现,但在一种情况下需要帮助)