我需要实现一个例程,以确保应用程序永远不会失去对其他应用程序的关注(但是当它被最小化时,我不应该强迫它回来)。所以我决定在主窗口中实现WindowFocusListener:
public class DialogoPrincipal extends JFrame implements WindowFocusListener {
public DialogoPrincipal() {
initComponents();
this.addWindowFocusListener(this);
}
@Override
public void windowGainedFocus(WindowEvent e) {
//Do nothing
}
@Override
public void windowLostFocus(WindowEvent e) {
this.toFront();
}
/*hidden code*/
}
当主窗口不显示任何子窗口时,它工作得很好。但是当打开一些子窗口时,我无法强制应用程序获得焦点。有没有一种方法可以强制应用程序中的焦点,即使应用程序有子窗口,或者我需要在所有对话框中实现 WindowFocusListener?如果我需要实现这个接口,我该怎么做才能让 JOptionPane.showMessageDialog(...) 不失去焦点?