Fat*_*tus 6 java user-interface swing awt jframe
(已解决:只要窗口聚焦,a WindowStateListener
和延迟调用toBack
)
大家好!
我一直试图弄清楚如何制作一个java.awt.Window
(任何子类都会这样做),这样它就不会被带到前面.我正在开发一个Java"Samurize-like"程序,该程序出现在所有应用程序窗口下方,并在屏幕上显示Widgets.就像" 永远在Java上的顶级窗口 "一样,我希望有一些简单的东西,希望只是一个方法调用,如果可能的话,但我已经通过API文档检查过,我没有运气.
编辑:对不起,我的意思是"总是在底部"而不是简单地"无法聚焦".
这是一个基本的测试用例.单击窗口时,它不应高于当前屏幕上的任何其他窗口:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
你想用 setFocusableWindowState(false)
(fwiw,这是在你提到的帖子的最高答案链接的API文件中)
编辑:如何添加一个监听器来执行窗口状态更改toBack()
?
编辑:您可能还会考虑覆盖该toFront
方法以防止任何事情将窗口拉到前面.