Java JoptionPane.showInputDialog不带取消按钮和退出句柄
我想得到这种输入对话框,问题是它只接受int类型 找到这个 ` ` 我还想处理X(退出按钮和红色按钮关闭按钮),因为它会导致异常 引起的错误 我用的是正则表达式匹配器Java JoptionPane.showInputDialog不带取消按钮和退出句柄,java,joptionpane,Java,Joptionpane,我想得到这种输入对话框,问题是它只接受int类型 找到这个 ` ` 我还想处理X(退出按钮和红色按钮关闭按钮),因为它会导致异常 引起的错误 我用的是正则表达式匹配器 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 j
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)
位于java.util.regex.Matcher.getTextLength(未知源代码)
位于java.util.regex.Matcher.reset(未知源)
位于java.util.regex.Matcher。(未知源)
位于java.util.regex.Pattern.matcher(未知源)
感谢现有的解决方案
您可以使用JOptionPane的InputDialog
String res = JOptionPane.showInputDialog(null, "Enter your name", "The title", JOptionPane.QUESTION_MESSAGE);
System.err.println(res);
请注意,如果用户关闭了对话框或未插入某些文本,则结果为空
但是这个解决方案并不完全像您想要的对话框。您必须创建自己的JOptionPane
自己的解决方案 我建议使用模态JDialog并删除框架(这会给您带来问题) .SETUNDEARATED(正确) 或者在您自己的类中重写dispose()来处理它
@Override
public void dispose()
{
//YOUR CODE
super.dispose();
}
您自己的课程的开始可以如下所示:
public class MyOptionPane extends JDialog
{
public MyOptionPane(Dialog owner, boolean modal)
{
super(owner, modal);
this.setUndecorated(true); //Remove the frame
}
}
继续执行以下步骤:
如果您有问题或意见,请评论此帖子。您试图解决什么问题?我们不会为您编写代码。请查看,因为它会告诉您如何执行此操作。请解释:我还希望处理X(退出按钮),因为它会导致异常。还有您尝试过的错误消息和代码。那我们就可以帮忙了。还读了刚才修改的问题等待帮助
public class MyOptionPane extends JDialog
{
public MyOptionPane(Dialog owner, boolean modal)
{
super(owner, modal);
this.setUndecorated(true); //Remove the frame
}
}