java – 如何确保JDialog始终保持最佳状态

我有一个JDialog,它取一个用户的名字.在JDialog的背后,是一个applet.我不希望用户在输入名称之前访问该applet.我尝试了JDialog.setAlwaysOnTop(true),但是applet抛出了一个AccessException错误.所以我做的是保持一个执行JDialog.setVisible(true)的while循环,直到JtextField(用户名的输入)为空(“”).但由于某种原因,这种方法效果很慢,这意味着JDialog会加载,但是需要时间来关注JTextField,即使用户输入他的名字,它也会非常慢……就像2秒钟内的一个角色……有没有在访问applet之前,强制用户输入名称的任何其他方式?

解决方法

使用模态JDialog.例如,JApplet的init(…)方法中的代码可能包括:
JDialog dialog = new JDialog(SwingUtilities.windowForComponent(this));
dialog.setModal(true);
dialog.setSize(...);
dialog.setVisible( true );

或者您可以使用JOptionPane.showInputDialog().您只需将“this”指定为选项窗格的父组件即可.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...