2015-12-14 50 views
0

,所以我在網上搜索和嘗試的東西,常用功能集中於窗口,但每當我點擊退出按鈕,它不會返回主JFrame的。的setEnabled()和requestFocusWindow()不工作

當我刪除this.setEnabled(true)時,它做到了,但我真正想做的是在點擊jButton9並顯示JInternalFrame時禁用主JFrame。然後在單擊退出按鈕時關閉JInternalFrame。

我想這個網站http://www.coderanch.com/t/334157/GUI/java/JInternalFrame-Focus

上的說明這裏是我到目前爲止已經完成。我會很感激任何幫助。

enter image description here

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(); 


}    

「本」 是我的大型機 「Add_To_Assigned_Subjects_InternalFrame」 保存退出按鈕。

謝謝。上requestFocusWindow

回答

0

表格的Javadoc()

此方法不能被用來將聚焦在所有者所有設置爲no元器件。改爲使用KeyboardFocusManager.clearGlobalFocusOwner()。

該方法的聚焦行爲可以均勻地平臺上實現,因此開發者應當在可能時,而不是requestFocus使用此方法。依賴於requestFocus的代碼可能會在不同的平臺上顯示不同的焦點行爲。