JOptionPane.showInputDialog()问题

Tur*_*oes 0 java swing

我今晚刚刚开始Java编程(虽然我是一个很长时间的C++编码器).

我正在尝试JOptionPane.showInputDialog()收集用户输入的功能.

但是,它会继续在IDE下面设置输入对话框的z顺序,而在开始菜单上没有通知对话框就在那里.

有没有办法设置选项让它出现在z顺序的顶部,或者甚至是系统模态?

另外,有没有办法限制可以输入到输入对话框文本框中的字符类型,例如仅限数字类型?

谢谢您的帮助

Cos*_*lis 6

JOptionPane对话框总是模态的.这里没有问题.如果你像这样使用它,你会发现你的输入对话框位于底层JFrame(this)的中心:

String myInput = JOptionPane.showInputDialog(this, "myPrompt");
Run Code Online (Sandbox Code Playgroud)

如果你这样称呼,你会发现它位于屏幕的中央:

String myInput = JOptionPane.showInputDialog("myPrompt");
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,默认情况下对话框都是模态的.

为了为您的输入格式化和控制JTextField,您应该创建自己的JDialog,这非常简单,并且在内部使用JFormattedTextField以及您需要的任何限制.