gpt4 book ai didi

java - JoptionPane.showInputDialog 没有取消按钮和退出句柄

转载 作者:行者123 更新时间:2023-12-02 12:29:03 24 4
gpt4 key购买 nike

/image/LrdTN.jpg

我想要这种输入对话框问题是它只接受 int 类型找到了这个 `

 String[] options = {"OK"};

int selectedOption = JOptionPane.showOptionDialog(null, panel, "The Title", JOptionPane.NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options , options[0]);

`我还想处理 X(退出按钮、红色按钮、关闭按钮),因为它会导致异常导致的错误

我正在使用正则表达式.Matcher

at java.util.regex.Matcher.getTextLength(Unknown Source)
at java.util.regex.Matcher.reset(Unknown Source)
at java.util.regex.Matcher.<init>(Unknown Source)
at java.util.regex.Pattern.matcher(Unknown Source)

谢谢

最佳答案

现有解决方案

您可以使用JOptionPane的InputDialog

String res = JOptionPane.showInputDialog(null, "Enter your name", "The title", JOptionPane.QUESTION_MESSAGE);
System.err.println(res);

请注意,如果用户关闭对话框或未插入某些文本,结果将为NULL

但是这个解决方案并不完全看起来像您想要的对话框。您必须创建自己的 JOptionPane。

<小时/>

自己的解决方案

我建议使用模态 JDialog 并删除框架(这会给您带来问题)

.setUndecorated(true)

或者在你自己的类中重写 dispose() 来处理它

@Override
public void dispose()
{
//YOUR CODE
super.dispose();
}

您自己的类(class)的开始可能如下所示:

public class MyOptionPane extends JDialog
{
public MyOptionPane(Dialog owner, boolean modal)
{
super(owner, modal);
this.setUndecorated(true); //Remove the frame
}
}

继续执行以下步骤:

  1. 向 GUI 添加标签“输入您的姓名”
  2. 将文本字段添加到 GUI
  3. 向 GUI 添加“确定”按钮(使用 ActionListener)
  4. 在“确定”按钮处附加 ActionListener
  5. 单击“确定”时获取文本字段值,返回它并处置您的 JDialog

如果您有疑问或意见,请评论本文。

关于java - JoptionPane.showInputDialog 没有取消按钮和退出句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45372376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com