https://i.stack.imgur.com/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(退出按钮红色按钮关闭按钮),因为它会导致异常 引起的错误
我正在使用regex.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)
由于
答案 0 :(得分:1)
您可以使用JOptionPane的InputDialog
String res = JOptionPane.showInputDialog(null, "Enter your name", "The title", JOptionPane.QUESTION_MESSAGE);
System.err.println(res);
如果用户关闭了对话框或者没有插入某些文字,请注意该结果为 NULL 。
但是这个解决方案并非完全看起来像你想要的对话框。您必须创建自己的JOptionPane。
我建议使用模态JDialog并删除框架(这会导致问题)
.setUndecorated(真)
或覆盖自己类中的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
}
}
继续这些步骤:
如果您有任何问题或意见,请评论此帖。