一尘不染

带有Java的“ Always on Top” Windows

java

在Java中,是否有一种方法可以使窗口始终位于“始终位于顶部”,而不管用户是否将焦点切换到另一个应用程序?我已经在网上搜索了所有的解决方案,它们都倾向于使用本机绑定的某种JNI接口。确实这不是唯一的方法吗?..还是吗?


阅读 312

收藏
2020-03-24

共1个答案

一尘不染

尝试使用此类的方法Window

Window.setAlwaysOnTop(boolean)

它的工作方式与Windows TaskManager中的默认工作方式相同:切换到另一个应用程序,但始终显示在最前面。

这是在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 );
    }
}
2020-03-24