java - "Always on Top"带有 Java 的 Windows

标签 java user-interface swing awt

在 Java 中,有没有办法让一个窗口“始终在顶部”,无论用户是否将焦点切换到另一个应用程序?我在网上搜索过,所有解决方案都倾向于某种带有 native 绑定(bind)的 JNI 接口(interface)。真的这不是唯一的方法吗?或者是吗?

最佳答案

试试Window类的这个方法:

Window.setAlwaysOnTop(boolean)

它的工作方式与 Windows 任务管理器中的默认方式相同:切换到另一个应用程序,但它始终显示在顶部。

这是在 Java 1.5 中添加的

示例代码:

import javax.swing.JFrame;
import javax.swing.JLabel;

public class Annoying {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Hello!!");

        // Set's the window to be "always on top"
        frame.setAlwaysOnTop( true );

        frame.setLocationByPlatform( true );
        frame.add( new JLabel("  Isn't this annoying?") );
        frame.pack();
        frame.setVisible( true );
    }
}

alt text

即使不活动,窗口也会保持在顶部

关于java - "Always on Top"带有 Java 的 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/297938/

相关文章:

java - 为什么要在 Double-Checked-Locking 中添加第二个测试?

java - 如何将自定义 SOAP-Header 元素添加到 Spring-WS 中生成的 WSDL

java - 如何设置 JLabel 数组中元素的文本?

swift - 将矩形对齐到安全区域底部边缘一定距离内 SWIFTUI

python - python PyQt4 中 sys.argv 的用途是什么

ios - 测试 iPhone View Controller : where to start?

java - Id 列来自其他表 JPA 实体

java - JSlider 更改监听器不工作

java - 除非程序从终端运行,否则 JFrame 框架图标不会显示

java - 为什么我的 Swing GUI 无法从一种 GUI 切换到另一种 GUI?