2014-06-11 85 views
3

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

从某种意义上说,我试图在前面保持一个窗口的反面。

下面是一个例子:

Window 1 
    Window 2 
    Random Window 
My App 
Desktop 

不过,我需要它,这样它会永远留针对桌面的,所以你可以用它,除非你正在寻找在桌面本身不进行交互。

+0

我不确定您是否可以这样做,考虑到与任意应用程序的交互可能会受到限制,所以您引用的应用程序或代码将无法分辨其他应用程序窗口的位置。 – awksp

回答

2

公共无效调用toBack()here

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

+0

它的工作!谢谢你给我看这个。 – Hydroxocobalamin

+0

没问题。很高兴它的工作! – jcjunction

+0

它会留在那里,直到我去到一个新的窗口(然后它会留在那里),所以只需要到桌面,然后修复它。我现在必须进行更多的实验! – Hydroxocobalamin

1

4旬,但如果你需要的窗口永远留在后面,甚至当用户点击它,你可以使用:

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

setFocusableWindowState(假)防止窗口激活点击时。