2014-06-11 89 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(假)防止窗口激活點擊時。