Я использовал Java и Swing.JWindow всегда сверху
У меня есть два окна MainWindow
и PointWindow
.
MainWindow
- это окно JFrame.
PointWindow
распространяется JWindow
.
Я хочу сохранить PointWindow
всегда сверху (никогда не под другими окнами или компонентами). Я установил в конструкторе PointWindow
a setAlwaysOnTop(true)
, но проблема в том, когда я нажимаю до MainWindow
(фокус), затем по-другому, например, нажимаем на мой рабочий стол (пустое пространство) и пытаемся перетащить PointWindow
, тогда он находится под моим MainWindow
.
Есть ли способ сохранить PointWindow
всегда поверх всех компонентов?
EDIT
В конструкторе я попытался с помощью WindowListener
ниже
this.addWindowListener(new WindowAdapter() {
@Override
public void windowDeactivated(WindowEvent e) {
toFront();
}
@Override
public void windowLostFocus(WindowEvent e) {
toFront();
}
});
... но это не работает, события не поймают
setAlwaysOnTop (true); должен это сделать –
Но не надо. Проблема показывает, когда я потерял фокус на «PointWindow», нажмите на другое (а не проектное) место и попробую перетащить. – ACz
вы можете прослушивать другие события (прослушиватель состояния окна) или создавать «сверху» для вызова .toFront(); –