java - JOptionPane.showInputDialog() 问题

标签 java swing

今晚我刚刚开始 Java 编程(尽管我是一名长期的 C++ 程序员)。

我正在尝试使用 JOptionPane.showInputDialog() 函数来收集用户输入。

但是,它一直在我的 IDE 下设置输入对话框的 z 顺序,甚至在开始菜单上都没有通知对话框是否存在。

有什么方法可以设置选项让它出现在 z 顺序的顶部,甚至可能是系统模态吗?

还有,有没有办法限制输入对话框的文本框中可以输入的字符类型,例如只能输入数字类型?

感谢您的帮助

最佳答案

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

String myInput = JOptionPane.showInputDialog(this, "myPrompt");

如果您这样调用它,您会发现它位于屏幕中央:

String myInput = JOptionPane.showInputDialog("myPrompt");

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

为了格式化和控制输入的 JTextField,您应该创建自己的 JDialog,这相当简单,并在内部使用 JFormattedTextField 并具有您需要的任何限制。

关于java - JOptionPane.showInputDialog() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5374752/

相关文章:

java - 如何从没有空值的列表中显示转换后的字符串?

java - 如何设置 JSplitPane-Divider 的折叠/展开状态?

java - 在Java中使用EventQueue.push()方法时出现"Not applicable for the arguments (void)"错误

java - 为什么 java 中的 collection.toArray() 不支持自动装箱

java - 无法使用@MapsId 和@Id 进行查询,但仅适用于@Id

java - 如何在 JVM 中持久化变量

java - 如何更新不断变化的 GUI 而不会因更新而闪烁(图形 g)?

java - 二叉树到JTree?

java - Java中的动态文本框

java - 如何使用 Spring Java 在 JSP 中的文本框中保留用户名