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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在雙監(jiān)視器配置中的特定屏幕上顯示JFrame

在雙監(jiān)視器配置中的特定屏幕上顯示JFrame

暮色呼如 2019-12-13 14:10:55
我有一個(gè)雙監(jiān)視器配置,如果找到它,我想在特定的監(jiān)視器中運(yùn)行我的GUI。我試圖創(chuàng)建JFrame一個(gè)通過GraphicConfiguration屏幕設(shè)備對(duì)象的窗口,但是它不起作用,框架仍顯示在主屏幕上。如何設(shè)置必須顯示框架的屏幕?
查看完整描述

3 回答

?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

public static void showOnScreen( int screen, JFrame frame )

{

    GraphicsEnvironment ge = GraphicsEnvironment

        .getLocalGraphicsEnvironment();

    GraphicsDevice[] gs = ge.getScreenDevices();

    if( screen > -1 && screen < gs.length )

    {

        gs[screen].setFullScreenWindow( frame );

    }

    else if( gs.length > 0 )

    {

        gs[0].setFullScreenWindow( frame );

    }

    else

    {

        throw new RuntimeException( "No Screens Found" );

    }

}



查看完整回答
反對(duì) 回復(fù) 2019-12-14
?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

以允許在不強(qiáng)制全屏的情況下實(shí)現(xiàn)此目的:


public static void showOnScreen( int screen, JFrame frame ) {

? ? GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();

? ? GraphicsDevice[] gd = ge.getScreenDevices();

? ? if( screen > -1 && screen < gd.length ) {

? ? ? ? frame.setLocation(gd[screen].getDefaultConfiguration().getBounds().x, frame.getY());

? ? } else if( gd.length > 0 ) {

? ? ? ? frame.setLocation(gd[0].getDefaultConfiguration().getBounds().x, frame.getY());

? ? } else {

? ? ? ? throw new RuntimeException( "No Screens Found" );

? ? }

}

在這段代碼中,我假設(shè)getDefaultConfiguration()永遠(yuǎn)不會(huì)返回null。如果不是這種情況,請(qǐng)有人糾正我。但是,此代碼可將您JFrame移至所需的屏幕。



查看完整回答
反對(duì) 回復(fù) 2019-12-14
?
繁星點(diǎn)點(diǎn)滴滴

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊

閱讀屏幕2上有關(guān)JFrame.setLocationRelativeTo的文檔后,一種更清潔的解決方案


public void moveToScreen() {

    setVisible(false);

    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();

    GraphicsDevice[] screens = ge.getScreenDevices();

    int n = screens.length;

    for (int i = 0; i < n; i++) {

        if (screens[i].getIDstring().contentEquals(settings.getScreen())) {

            JFrame dummy = new JFrame(screens[i].getDefaultConfiguration());

            setLocationRelativeTo(dummy);

            dummy.dispose();

        }

    }

    setVisible(true);

}

此功能可用于在屏幕之間切換應(yīng)用程序窗口



查看完整回答
反對(duì) 回復(fù) 2019-12-14
  • 3 回答
  • 0 關(guān)注
  • 375 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)