保持窗口在后面

时间:2014-06-11 19:32:16

标签: java jframe desktop-application

这很可能是一个显而易见的问题,但我想知道如何在所有其他窗口(桌面除外)后面保留一个程序?

在某种程度上,我试图实现与在前面保持一个窗口相反的方式。

以下是一个例子:

    Window 1
   Window 2
  Random Window
 My App
Desktop

但是,我需要它以便它始终与桌面保持一致,因此除非您正在查看桌面本身,否则无法与其进行交互。

2 个答案:

答案 0 :(得分:2)

public void toBack()here

如果此窗口可见,则将此窗口发送到后面,如果它是聚焦或活动窗口,可能会导致它失去焦点或激活。 将此窗口置于堆叠顺序的底部,并将其显示在此VM中的任何其他Windows后面。如果此窗口不可见,则不会执行任何操作。某些平台不允许其他Windows拥有的Windows显示在其所有者下方。将尽一切努力在堆叠顺序中尽可能低地移动此窗口;但是,开发人员不应该假设此方法会在任何情况下将此窗口移动到所有其他窗口之下。

答案 1 :(得分:1)

迟了4年,但如果您需要窗口始终保持在后面,即使用户点击它,您也可以使用:

JFrame frame = new JFrame("");
frame.setFocusableWindowState(false);
frame.toBack();

setFocusableWindowState(false)可防止单击时激活窗口。