【问题标题】:setEnabled() and requestFocusWindow() not workingsetEnabled() 和 requestFocusWindow() 不起作用
【发布时间】:2015-12-14 20:56:16
【问题描述】:

所以我在网上搜索并尝试了专注于窗口的东西和常用功能,但是每当我点击退出按钮时,它都不会返回到主 JFrame。

当我删除 this.setEnabled(true) 时,它会执行此操作,但我真正想做的是在单击 jButton9 时禁用主 JFrame 并显示 JInternalFrame。然后在单击 Exit 按钮时关闭 JInternalFrame。

我试过这个网站上的说明http://www.coderanch.com/t/334157/GUI/java/JInternalFrame-Focus

这是我到目前为止所做的。我会很感激任何帮助。

private void jButton9ActionPerformed(java.awt.event.ActionEvent evt)     {                                         

    AddTo_Assigned_Subjects_InternalFrame.setVisible(true);
    this.setEnabled(false);
    AddTo_Assigned_Subjects_InternalFrame.requestFocusInWindow();

}                                        

private void ExitActionPerformed(java.awt.event.ActionEvent evt) {                                     
    this.requestFocusInWindow();
    AddTo_Assigned_Subjects_InternalFrame.setVisible(false);
    AddTo_Assigned_Subjects_InternalFrame.dispose();


}              

“this”是我的 MainFrame “Add_To_Assigned_Subjects_InternalFrame”持有退出按钮。

谢谢。

【问题讨论】:

    标签: java swing jframe focus jinternalframe


    【解决方案1】:

    在 requestFocusWindow() 上形成 Javadoc

    此方法不能用于将焦点所有者设置为根本没有组件。请改用 KeyboardFocusManager.clearGlobalFocusOwner()。

    此方法的焦点行为可以跨平台统一实现,因此强烈建议开发人员尽可能使用此方法而不是 requestFocus。依赖 requestFocus 的代码在不同平台上可能会表现出不同的焦点行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多