我正在使用Matisse,NetBeans GUI Builder开发一个简单的Swing应用程序。我在所有的窗户中都遇到了同样的问题。当我在主JFrame或其他JDialog上打开一个新的JDialog时,当我在后台窗口中的某处单击时,我将失去在前台JDialog中用鼠标选择字段的功能。
在附加的图像中,背景窗口是一个JFrame,我用以下内容构建前景JDialog:new JDialog(this,true);
你能帮我解决一下这个问题吗?作为提示,如果在失去鼠标功能之后,我使用tab键前进到'ComboBox Rol'或日历字段,然后点击空格键,我再次获得鼠标点击,一切都像开头一样完美。
以下是代码:
public class PrincipalUI extends javax.swing.JFrame {
private void jMenuItemUserManagementActionPerformed(java.awt.event.ActionEvent evt) {
userManagementUI = new UserManagementUI(this, true);
userManagementUI.setVisible(true);
}
}
public class UserManagementUI extends javax.swing.JDialog {
/**
* Creates new form UserManagement
*/
public UserManagementUI(Frame owner, boolean modal) {
super(owner, modal);
initOperations();
initComponents();
initPostOperations();
}
}
答案 0 :(得分:1)
对话框看起来不正确的父级。创建this
时,请检查JDialog
的内容。这可能是不正确的。例如。错误的父对话框或框架实例。
答案 1 :(得分:0)
我在Windows上测试并且工作得非常好,所以忘了它。这是CentOS或至少虚拟机的问题。
感谢您的帮助。