我的应用程序中有多个JDialogs存储在一个映射中。这些JDialogs都有

setModel(false);


当这些对话框不清晰时,我想将特定的JDialog放到Front上,所有JDialog都来到Front。我想要特定的Jdialog放在前面,并希望其他JDialogs放在后面。

     HashMap<String, JDialog> jDialogMap = getJDialogMap();
       String key = "jd1";
       JDialog specificJDialog= jDialogMap.get(key);

        if (specificJDialog== null){
             specificJDialog= new JDialog();
             specificJDialog.setModel(false);
             specificJDialog.setVisible(true);
             jDialogMap.put("jd2", specificJDialog);
        } else {
             specificJDialog.toFront();
             return;
       }


此代码将所有JDialogs带到前端,并且在堆栈顶部具有specificJDialog。

getJDialogMap();


此方法仅返回HashMap。

最佳答案

使用requiredDialogObject.requestFocusInWindow();

每当您需要专注于特定对话框时

10-06 07:14