(решено: WindowStateListener
и отложенный вызов toBack
, когда окно находится в фокусе)
Привет всем!
Я пытался выяснить, как сделать java.awt.Window
(любой подкласс подойдет), чтобы его нельзя было вывести на фронт. Я работаю над Java-подобной Самуризу программой, которая появляется под всеми окнами приложения и отображает виджеты на экране. Точно так же, как « Всегда в верхних окнах с Java », я надеюсь на что-то простое, надеюсь, просто на один вызов метода, если это возможно, но я проверил документы API и у меня не было удачи.
Edit:
Извините, я имел в виду «всегда снизу», а не просто «не сфокусирован».
Вот базовый контрольный пример. При нажатии на окно, оно не должно быть выше других, находящихся в данный момент на экране:
import java.awt.*;
import javax.swing.*;
public class Main extends JFrame {
public Main() {
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setFocusable(false);
setFocusableWindowState(false);
setBounds(new Rectangle(dim));
toBack();
}
public static void main(String[] args) {
new Main().setVisible(true);
}
}