java - 使用 JOptionPane.showOptionDialog 时如何监听 Enter 按钮

标签 java swing focus joptionpane

我使用:

    char[] password = null;
    JPasswordField jpf = new JPasswordField(30);
    java.lang.Object [] messageInput = { prompt, jpf };
    java.lang.Object [] options = { jpf , "OK", "Cancel"};
    int result = JOptionPane.showOptionDialog(null, messageInput, title,
            JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,
            null, options, "");

    JOptionPane.showMessageDialog(null,
    result);

    if (result == 1) {
        password = jpf.getPassword();
    }
    else if(result == JOptionPane.CANCEL_OPTION)
    {


    }
    return password;

获取密码,但是这个不能监听回车按钮。 我知道如果我将选项参数设置为空,可以使对话框监听“输入”按钮,但如果我这样做,对话框在显示时不会聚焦于文本框。

有人可以帮我解决这个问题吗?

最佳答案

I know if I set the options parameter to null, can make the dialog listen to "enter" button, but if I do that, the dialog don't focus to the textbox when show up.

Dialog Focus应该可以帮助你。

关于java - 使用 JOptionPane.showOptionDialog 时如何监听 Enter 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4601219/

相关文章:

java - 设置JUnit 5 workingDir进行测试

java - 如何在java浏览器中启用javascript?

java - 如何将 MouseListeners 添加到面板网格中的单个面板?

java - 在 JOptionPane.showOptionDialog() 中设置组件焦点

java - 使 Enter 键充当 java 中 jtextfield、jcombobox、jspinner 的 Tab 键

jquery focus() for Tab 在 Asp.Net 中跳转两次

java - 在 Java 中将一个文件 append 到另一个文件 - 为什么我的代码会覆盖?

java - 如何在 Java Servlet 中执行 DELETE 和 PUT 方法

java - 如何在 Java 9+ 中使用 JFileChooser 显示网络共享?

java - 重新加载 JFrame 或 JLabel