<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Swing


    天行健 君子以自強不息

    posts - 69, comments - 215, trackbacks - 0, articles - 16
       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    使用Swing編寫全屏程序

    Posted on 2007-10-12 10:02 zht 閱讀(1256) 評論(0)  編輯  收藏 所屬分類: Swing
     也許用到的機會很少,但JDK還是為我們提供了這個的功能。像許多軟件中的打印預覽功能,還有某些文本編輯器中為了獲得更大的編輯畫面,也用到了全屏幕模式,如果你有興趣寫一個像ACDSee這樣的軟件,使用全屏幕模式可以讓用戶看到更大的圖片畫面。

      如何使用全屏幕模式?

      關鍵是java.awt.*里面的兩個與顯示設備有關的類:GraphicsEnvironment和GraphicsDevice。

      GraphicsEnvironment為Java應用程序提供了特定平臺的 GraphicsDevice對象和 Font 對象集合。這些GraphicsDevice可以是各種本機和遠端機器的資源,如屏幕、打印機或者是Image Buffer,甚至是Graphics2D繪圖方法的目標對象。

      而GraphicsDevice就是指特定的圖形環境了,如屏幕和打印設備等。這樣,我們就可以用GraphicsDevice來操縱屏幕了。GraphicsDevice提供的setFullScreenWindow()方法就是設置全屏幕用的。

      由于GraphicsEnvironment的構造器是受保護的(protected),我們不能直接構造一個GraphicsEnvironment 對象來獲得GraphicsDevice對象。幸好它提供了getLocalGraphicsEnvironment()方法,用來獲得一個 GraphicsEnvironment實例:

      GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();

      有了GraphicsEnvironment可以調用getDefaultScreenDevice方法獲得當前的屏幕設備了:

      GraphicsDevice gd = ge.getDefaultScreenDevice();

      自己動手體驗一下

      有了上面的簡介,寫一個實例來體驗一下吧:

    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.GraphicsDevice;
    import java.awt.GraphicsEnvironment;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import javax.swing.JWindow;
    public class FullScreenTest {
        public static void main(String[] args) {
            GraphicsEnvironment ge =

                 GraphicsEnvironment.getLocalGraphicsEnvironment();

            GraphicsDevice gd = ge.getDefaultScreenDevice();

            FullScreenWindow myWindow = new FullScreenWindow();

            if ( gd.isFullScreenSupported() )

               gd.setFullScreenWindow(myWindow);

            else

                System.out.println("Unsupported full screen.");

        }
        static class FullScreenWindow extends JWindow {

            public FullScreenWindow() {

               this.addMouseListener(new MouseAdapter() {

                    public void mousePressed(MouseEvent evt) {

                        quit();

                    }

                });

            }

            public void quit() {

                this.dispose();

            }
            public void paint(Graphics g) {

                g.setFont(new Font("Arial",Font.BOLD,30));

                g.setColor(Color.RED);

                g.drawString("這是全屏幕模式",100,100);

            }

        }

    }

    主站蜘蛛池模板: 亚洲三级电影网站| 伊人久久大香线蕉亚洲五月天 | 一级黄色免费毛片| 日韩视频在线免费| 亚洲欧好州第一的日产suv| 在线观看日本免费a∨视频| 亚洲国产亚洲片在线观看播放 | 4hu四虎免费影院www| 一级毛片直播亚洲| 九九免费观看全部免费视频| www.亚洲精品| 九九久久精品国产免费看小说 | 亚洲AV人无码综合在线观看| a毛片在线看片免费| 亚洲AV无码久久精品成人| 久久久久免费看成人影片| 亚洲日韩在线视频| 拍拍拍又黄又爽无挡视频免费| 亚洲中文无码卡通动漫野外| 精品久久洲久久久久护士免费| 日韩一级片免费观看| 国产专区一va亚洲v天堂| 黄网站色视频免费在线观看的a站最新| 西西人体44rt高清亚洲| 成人免费福利视频| 看亚洲a级一级毛片| 亚洲中文字幕成人在线| 国产午夜精品免费一区二区三区| 亚洲短视频在线观看| 最好免费观看韩国+日本| 国产成人无码精品久久久免费| 亚洲综合色丁香麻豆| 日日操夜夜操免费视频| 国产久爱免费精品视频| 亚洲三级中文字幕| mm1313亚洲精品国产| 中文字幕视频免费| 老湿机一区午夜精品免费福利| 国产A在亚洲线播放| 成人黄动漫画免费网站视频 | 亚洲国产电影在线观看|