-2

任何人都可以展示如何制作JWindow始终在桌面上的示例吗?我无法设置“AlwaysOnTop”,因为我不希望它位于其他应用程序之上,但我希望它留在桌面上。

每当我单击显示桌面按钮或 Windows 键 + M 以最小化所有时,它也会消失。当我返回任何窗口时,它将再次可见。

我想在桌面中注入窗口。

4

1 回答 1

0

我无法理解“我想在桌面中注入窗口”是什么意思。但是如果你想防止你的应用程序窗口被最小化(ICONIFIED),你可以写一个小的WindowStateListenerand 来windowStateChanged检查你的窗口的新状态。如果它的新状态是ICONIFIED您可以NORMAL再次将状态更改为:

public static void main(String[] args) {
    final JFrame jf = new JFrame();
    jf.addWindowStateListener(new WindowStateListener() {
        @Override
        public void windowStateChanged(WindowEvent e) {
            System.out.println(e.getNewState());
            if(e.getNewState() == JFrame.ICONIFIED) {
                jf.setExtendedState(JFrame.NORMAL);
            }
        }
    });
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setBounds(100, 100, 300, 300);
    jf.setVisible(true);
}

它将支持您的windows+M热键,因为在最小化所有窗口后,您的应用程序的窗口将被取消图标化。

希望这有帮助。

于 2016-06-05T10:49:58.973 回答