Создание окна Unfocusable в Java

(РЕШЕННЫЙ: a WindowStateListener и задержанный вызов к toBack каждый раз, когда окно фокусируется),

Привет все!

Я пытался выяснить, как сделать a java.awt.Window (любой подкласс сделает) так, чтобы он не мог быть выявлен. Я работаю над Java "подобная Samurize" программа, которая появляется ниже всех окон приложения и отображает Виджеты на экране. Точно так же, как "Поверх остальных окон окна с Java", я надеюсь на что-то простое, надо надеяться, просто вызов отдельного метода, если это возможно, но я послал багажом документы API и у меня не было удачи.

Править: Извините, я имел в виду "всегда в нижней части", а не просто "unfocusable".

Вот случай базового теста. При нажатии на Окно это не должно в настоящее время прибывать выше никаких других на экране:

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);
    }
}

6
задан Community 23 May 2017 в 12:24
поделиться

2 ответа

[

] Вы хотите использовать [][]setFocusableWindowState(false)[][][

] [

](fwiw, это было в API документе, связанном с верхним ответом сообщения, на которое вы ссылались)[

] [

]edit: а как насчет добавления слушателя в изменение состояния окна, которое выполняет [][]toBack()[][]? [

] [

]редактирование: вы также можете рассмотреть возможность переопределения метода []toFront[], чтобы что-нибудь не затягивало окно спереди.[

].
8
ответ дан 10 December 2019 в 02:48
поделиться
[

]setFocusableWindowState[

] [

]public void setFocusableWindowState(булевый-фокус-виндекс-виндекс-виндекс-виндекс-виндекс-виндекс-виндекс-виндекс)[

] [
Sets whether this Window can become the focused Window if it meets the other requirements outlined in isFocusableWindow. If this Window's focusable Window state is set to false, then isFocusableWindow will return false. If this Window's focusable Window state is set to true, then isFocusableWindow may return true or false depending upon the other requirements which must be met in order for a Window to be focusable.

Setting a Window's focusability state to false is the standard mechanism for an application to identify to the AWT a Window which will be used as a floating palette or toolbar, and thus should be a non-focusable Window. Setting the focusability state on a visible Window can have a delayed effect on some platforms — the actual change may happen only when the Window becomes hidden and then visible again. To ensure consistent behavior across platforms, set the Window's focusable state when the WIndow is invisible and then show it.

Parameters:
    focusableWindowState - whether this Window can be the focused Window
Since:
    1.4
See Also:
    isFocusableWindow(), getFocusableWindowState(), isShowing(), Component.setFocusable(boolean)
] [

][]http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window. html#setFocusableWindowState%28boolean%29[][

]
1
ответ дан 10 December 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: