第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有Java的“ Always on Top” Windows

帶有Java的“ Always on Top” Windows

慕標琳琳 2019-11-18 14:04:53
在Java中,是否有一種方法可以使窗口始終位于“始終位于頂部”,而不管用戶是否將焦點切換到另一個應用程序?我已經在網上搜索了,所有解決方案都依賴于具有本機綁定的某種JNI接口。確實,這不是唯一的方法嗎?..還是?
查看完整描述

3 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

試試這個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 );

    }

}

http://img1.sycdn.imooc.com//5dd2349e0001f46001870109.jpg

即使未激活,窗口仍位于頂部


查看完整回答
反對 回復 2019-11-18
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

從我的觀察中,我發(fā)現(xiàn)AlwaysOnTop特權已授予要求始終位于最前面的最新進程。


因此,如果您有一個應用程序,setAlwaysOnTop(true)后來又有另一個應用程序使用此選項,則將特權授予第二個應用程序。為了解決此問題,我在任何窗口位于當前窗口頂部時都設置了setAlwaysOnTop(false)和setAlwaysOnTop(true)。


我已經檢查了它wordweb在windows。WordWeb是使用以下AlwaysOnTop選項的應用程序之一OS


我不確定它是否適合您的游戲場景。


警告:我不知道副作用。


這是代碼示例:


import java.awt.event.*;


import javax.swing.*;


public class MainWindow extends JFrame implements WindowFocusListener

{

    public MainWindow()

    {

        addWindowFocusListener(this);

        setAlwaysOnTop(true);

        this.setFocusable(true);

       // this.setFocusableWindowState(true);

        panel = new JPanel();

        //setSize(WIDTH,HEIGHT);

        setUndecorated(true);

        setLocation(X,Y);

        setExtendedState(MAXIMIZED_BOTH);

        setVisible(true);

    }


    public void windowGainedFocus(WindowEvent e){}

    public void windowLostFocus(WindowEvent e)

    {

        if(e.getNewState()!=e.WINDOW_CLOSED){

            //toFront();

            //requestFocus();

            setAlwaysOnTop(false);

            setAlwaysOnTop(true);

            //requestFocusInWindow();

            System.out.println("focus lost");

        }


    }


    private JPanel panel;

    private static final int WIDTH = 200;

    private static final int HEIGHT = 200;

    private static final int X = 100;

    private static final int Y = 100;


    public static void main(String args[]){

              new MainWindow();}

    }


查看完整回答
反對 回復 2019-11-18
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

不要使用setFullScreenWindow,只獲取屏幕尺寸,然后獲取setSize,一切都會好起來的。


查看完整回答
反對 回復 2019-11-18
  • 3 回答
  • 0 關注
  • 442 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號