亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? screenmanager.java

?? goldminer游戲
?? JAVA
字號:
package com.hbwhzdg.goldminer.gamecore;

import java.awt.*;
import java.awt.image.BufferStrategy;
import java.awt.image.BufferedImage;
import java.lang.reflect.InvocationTargetException;
import javax.swing.JFrame;

/**
 *
 * <p>Title: 管理屏幕初始化,顯示為全屏模式</p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class ScreenManager {
     private static final ScreenManager instance = new ScreenManager();
    //GraphicsDevice 類描述了可以在特殊圖形環(huán)境中使用的圖形設(shè)備。這些設(shè)備包括屏幕和打印機(jī)設(shè)備。
    //GraphicsDevice 對象可以是屏幕、打印機(jī)或圖像緩沖區(qū),并且都是 Graphics2D 繪圖方法的目標(biāo)。
    private GraphicsDevice device;
    private JFrame frame = null;

    /**
     * 構(gòu)造函數(shù)。
     */
    public ScreenManager() {
        //GraphicsEnvironment 類描述了 Java(tm) 應(yīng)用程序在特定平臺上可用的 GraphicsDevice 對象和 Font 對象的集合。
        GraphicsEnvironment environment =
            GraphicsEnvironment.getLocalGraphicsEnvironment();
        device = environment.getDefaultScreenDevice();//獲取默認(rèn)顯示設(shè)備
    }

    public static ScreenManager getInstance() {
        return instance;
    }


   /**
    *  返回此 GraphicsDevice 可用的所有顯示模式。
    * @return DisplayMode[]
    */
   public DisplayMode[] getCompatibleDisplayModes() {
        return device.getDisplayModes();
    }


    /**
     * 返回指定顯示模式中第一個適配的模式。
     * @param modes DisplayMode[]
     * @return DisplayMode
     */
    public DisplayMode findFirstCompatibleMode(
        DisplayMode modes[])
    {
        DisplayMode goodModes[] = device.getDisplayModes();
        for (int i = 0; i < modes.length; i++) {
            for (int j = 0; j < goodModes.length; j++) {
                if (displayModesMatch(modes[i], goodModes[j])) {
                    return modes[i];
                }
            }
        }
        return null;
    }


    /**
     * 當(dāng)前的顯示模式。
     * @return DisplayMode
     */
    public DisplayMode getCurrentDisplayMode() {
        return device.getDisplayMode();
    }

    /**
     * 比較指定的兩種模式是否一樣。
     * @param mode1 DisplayMode
     * @param mode2 DisplayMode
     * @return boolean
     */
    public boolean displayModesMatch(DisplayMode mode1,
        DisplayMode mode2)

    {
        if (mode1.getWidth() != mode2.getWidth() ||
            mode1.getHeight() != mode2.getHeight())
        {
            return false;
        }

        if (mode1.getBitDepth() != DisplayMode.BIT_DEPTH_MULTI &&
            mode2.getBitDepth() != DisplayMode.BIT_DEPTH_MULTI &&
            mode1.getBitDepth() != mode2.getBitDepth())
        {
            return false;
        }

        if (mode1.getRefreshRate() !=
            DisplayMode.REFRESH_RATE_UNKNOWN &&
            mode2.getRefreshRate() !=
            DisplayMode.REFRESH_RATE_UNKNOWN &&
            mode1.getRefreshRate() != mode2.getRefreshRate())
         {
             return false;
         }

         return true;
    }

    /**
     * 設(shè)置為全屏顯示模式。
     * @param displayMode DisplayMode
     */
    public void setFullScreen(DisplayMode displayMode) {
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setUndecorated(true);
        frame.setIgnoreRepaint(true);
        frame.setResizable(false);

        device.setFullScreenWindow(frame);

        if (displayMode != null &&
            device.isDisplayChangeSupported())
        {
            try {
                device.setDisplayMode(displayMode);
            }
            catch (IllegalArgumentException ex) { }
            // fix for mac os x
            frame.setSize(displayMode.getWidth(),
                displayMode.getHeight());
        }
        // avoid potential deadlock in 1.4.1_02
        try {
            EventQueue.invokeAndWait(new Runnable() {
                public void run() {
                    //為此組件上的多緩沖創(chuàng)建一個新策略。多緩沖對于呈現(xiàn)性能非常有用。
                    //此方法試圖根據(jù)提供的緩沖數(shù)創(chuàng)建可用的最佳策略。它將始終根據(jù)該緩沖數(shù)創(chuàng)建 BufferStrategy。
                    frame.createBufferStrategy(2);
                }
            });
        }
        catch (InterruptedException ex) {
            // ignore
        }
        catch (InvocationTargetException  ex) {
            // ignore
        }
    }


    /**
     * 取當(dāng)前設(shè)備的圖形上下文.
     * @return Graphics2D
     */
    public Graphics2D getGraphics() {
        //Window window = device.getFullScreenWindow();
        if (frame != null) {
            BufferStrategy strategy = frame.getBufferStrategy();
            return (Graphics2D)strategy.getDrawGraphics();
        }
        else {
            return null;
        }
    }


    /**
     * 提交結(jié)果,通過復(fù)制內(nèi)存(位圖傳輸)或改變顯示指針(翻轉(zhuǎn))使下一個可用緩沖區(qū)變?yōu)榭梢姟?     */
    public void update() {
        //Window window = device.getFullScreenWindow();
        if (frame != null) {
            BufferStrategy strategy = frame.getBufferStrategy();
            if (!strategy.contentsLost()) {
                strategy.show();
            }
        }
        // Sync the display on some systems.
        // (on Linux, this fixes event queue problems)
        Toolkit.getDefaultToolkit().sync();
    }


    /**
     * 如果設(shè)備處于全屏模式,則返回表示全屏窗口的 Window 對象。
     * @return JFrame
     */
    public JFrame getFullScreenWindow() {
        //return (JFrame)device.getFullScreenWindow();
        return frame;
    }


    /**
     * 返回屏幕寬度。
     * @return int
     */
    public int getWidth() {
        //Window window = device.getFullScreenWindow();
        if (frame != null) {
            return frame.getWidth();
        }
        else {
            return 0;
        }
    }


    /**
     * 返回屏幕高度。
     * @return int
     */
    public int getHeight() {
        //Window window = device.getFullScreenWindow();
        if (frame != null) {
            return frame.getHeight();
        }
        else {
            return 0;
        }
    }


    /**
     * 釋放由此 Window、其子組件及其擁有的所有子組件所使用的所有本機(jī)屏幕資源。
     */
    public void restoreScreen() {
        //Window window = device.getFullScreenWindow();
        if (frame != null) {
            frame.dispose();
        }
        device.setFullScreenWindow(null);
    }

   /**
    * 創(chuàng)建一個適應(yīng)當(dāng)前顯示模式的圖象緩沖區(qū)。
    * @param w int
    * @param h int
    * @param transparancy int
    * @return BufferedImage
    */
   public BufferedImage createCompatibleImage(int w, int h,
        int transparancy)
    {
        //Window window = device.getFullScreenWindow();
        if (frame != null) {
            GraphicsConfiguration gc =
                frame.getGraphicsConfiguration();
            return gc.createCompatibleImage(w, h, transparancy);
        }
        return null;
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av资源网一区| 偷拍日韩校园综合在线| 国产一区二区日韩精品| 日韩三级av在线播放| 亚洲国产精品一区二区久久| 91亚洲精品久久久蜜桃网站| 最好看的中文字幕久久| 97精品超碰一区二区三区| 亚洲精品视频免费看| 欧美色手机在线观看| 青青青爽久久午夜综合久久午夜| 日韩精品中文字幕一区| 国产美女一区二区| 最新热久久免费视频| 日本道精品一区二区三区 | 波多野结衣精品在线| 国产精品区一区二区三| 91网站最新地址| 午夜精品久久久久影视| 欧美va亚洲va| 91亚洲大成网污www| 亚洲国产裸拍裸体视频在线观看乱了| 日韩欧美中文字幕精品| 成人av在线资源网| 天天色天天操综合| 中文字幕不卡三区| 欧美在线观看一区二区| 另类人妖一区二区av| 日韩一区在线播放| 欧美一区二区三区免费大片| 国产精品91xxx| 午夜免费久久看| 国产日韩av一区| 欧美丝袜第三区| 国产成人精品午夜视频免费| 亚洲国产人成综合网站| 久久久久国产一区二区三区四区| 处破女av一区二区| 免费成人小视频| 有码一区二区三区| 久久久久久久综合| 欧美人动与zoxxxx乱| 国产成人在线视频网站| 天堂久久一区二区三区| 国产精品免费aⅴ片在线观看| 欧美精品 国产精品| 99国产精品久| 国产精华液一区二区三区| 亚洲成人av福利| 国产精品不卡在线| 精品精品欲导航| 欧美三级电影在线看| 成人激情免费视频| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲欧美欧美一区二区三区| 久久久影院官网| 日韩视频免费观看高清在线视频| 色综合天天性综合| 成人免费视频网站在线观看| 蜜桃久久久久久久| 亚洲影视在线观看| 国产精品久久久久国产精品日日| 欧美va亚洲va| 日韩欧美在线一区二区三区| 欧美综合久久久| 一本久久精品一区二区| 99久久精品免费精品国产| 国产精品一区二区久久不卡| 蜜臀99久久精品久久久久久软件| 亚洲摸摸操操av| 亚洲人成精品久久久久| 国产精品久久久久aaaa樱花 | 亚洲欧洲色图综合| 欧美韩日一区二区三区四区| 欧美成va人片在线观看| 日韩一级视频免费观看在线| 欧美日韩综合色| 欧洲精品视频在线观看| 色视频一区二区| 色狠狠色狠狠综合| 日本国产一区二区| 91国产丝袜在线播放| 一本大道av一区二区在线播放| 波多野结衣91| 91免费精品国自产拍在线不卡| av色综合久久天堂av综合| 成人免费看黄yyy456| 本田岬高潮一区二区三区| jvid福利写真一区二区三区| 99re热这里只有精品免费视频 | 亚洲国产日产av| 天堂成人免费av电影一区| 五月天激情综合网| 蜜桃久久av一区| 久久国产精品99久久人人澡| 国产麻豆一精品一av一免费| 国产福利电影一区二区三区| 成人精品小蝌蚪| 在线观看三级视频欧美| 精品视频在线免费观看| 日韩亚洲国产中文字幕欧美| 欧美精品一区二区三| 国产精品久久久久久久岛一牛影视 | 亚洲卡通动漫在线| 午夜精品在线视频一区| 精品一区二区三区蜜桃| 成人听书哪个软件好| 欧美主播一区二区三区| 日韩一区和二区| 国产欧美精品国产国产专区 | 久久久美女艺术照精彩视频福利播放| 国产午夜精品久久久久久免费视 | 亚洲综合精品自拍| 免费成人美女在线观看| 国产精品一区二区91| 一本到高清视频免费精品| 欧美一级免费大片| 国产目拍亚洲精品99久久精品| 亚洲精品乱码久久久久久日本蜜臀| 无吗不卡中文字幕| 国产一区二区三区四区五区美女 | 国产福利一区二区三区视频| 色偷偷久久一区二区三区| 制服.丝袜.亚洲.另类.中文| 国产丝袜欧美中文另类| 亚洲综合久久久久| 国产精品一区二区免费不卡| 在线观看亚洲精品| 久久精品一区二区三区不卡| 一区二区在线观看不卡| 精品一区二区三区欧美| 在线欧美日韩精品| 国产网红主播福利一区二区| 亚洲国产日韩一区二区| 国产精品亚洲午夜一区二区三区| 欧美中文字幕一区二区三区| 国产视频在线观看一区二区三区| 亚洲在线视频网站| 国产成人亚洲精品青草天美| 欧美日韩三级视频| 综合色中文字幕| 国产在线精品国自产拍免费| 欧美性大战久久| 中文字幕一区二区三区乱码在线 | 精品理论电影在线观看| 亚洲午夜久久久久久久久电影网| 国产夫妻精品视频| 欧美大肚乱孕交hd孕妇| 亚洲大型综合色站| jiyouzz国产精品久久| 国产亚洲综合色| 老司机免费视频一区二区| 欧美日韩精品一区二区在线播放| 国产精品国产自产拍在线| 久久99精品久久久久婷婷| 在线不卡一区二区| 亚洲国产精品自拍| 91国产视频在线观看| 一区精品在线播放| 成人黄色小视频| 国产农村妇女精品| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 五月激情综合婷婷| 欧美日韩国产精品自在自线| 1024精品合集| 99精品在线观看视频| 国产精品乱码久久久久久| 国产盗摄一区二区| 国产亚洲精品精华液| 国产成人午夜精品影院观看视频| 26uuu久久天堂性欧美| 精品影视av免费| 精品毛片乱码1区2区3区| 国产在线国偷精品产拍免费yy| 精品美女一区二区| 国产成人综合网| 中文字幕亚洲一区二区va在线| 成人av一区二区三区| 亚洲精品免费看| 在线观看一区不卡| 五月天婷婷综合| 欧美不卡视频一区| 国产成人免费av在线| 亚洲人精品一区| 欧美欧美午夜aⅴ在线观看| 日韩中文字幕不卡| 精品美女一区二区三区| 国产69精品久久久久毛片| 国产精品理论在线观看| 在线观看三级视频欧美| 日本va欧美va精品发布| 26uuu国产电影一区二区| 国产99久久久国产精品潘金网站| 国产精品久久777777| 一本久久精品一区二区| 日本aⅴ亚洲精品中文乱码| 精品精品欲导航| 色综合久久综合网97色综合| 天天综合色天天综合色h| 亚洲精品一线二线三线|