| 
            
            
            
            
            
            
            
            
               也許用到的時機很少,但JDK還是為我們供給了這個的功效。像許多軟件中的打印預覽功效,還有某些文本編輯 器中為了獲得更大的編輯 畫面,也用到了Swing全屏幕模式,如果你有興趣 寫一個像ACDSee這樣的軟件,應用 Swing全屏幕模式可以讓用戶看到更大的圖片畫面。   如何應用 Swing全屏幕模式?   要害是java.awt.*里面的兩個與顯示設備 有關的類:GraphicsEnvironment和GraphicsDevice。   GraphicsEnvironment為利用程序供給了特定平臺的 GraphicsDevice對象和 Font 對象聚攏。這些GraphicsDevice可以是各種本機和遠端機器的資源,如屏幕、打印機或者是Image Buffer,甚至是Graphics2D繪圖法子的目標 對象。   而GraphicsDevice就是指特定的圖形環(huán)境了,如屏幕和打印設備 等。這樣,我們就可以用GraphicsDevice來節(jié)制屏幕了。GraphicsDevice供給的setFullScreenWindow()法子就是設置全屏幕用的。   由于GraphicsEnvironment的結構器是受保護的(protected),我們不能直接結構一個GraphicsEnvironment 對象來獲得GraphicsDevice對象。幸好它供給了getLocalGraphicsEnvironment()法子,用來獲得一個 GraphicsEnvironment實例:   GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();   有了GraphicsEnvironment可以調用getDefaultScreenDevice法子獲得當前的Swing全屏幕模式設備 了:   GraphicsDevice gd = ge.getDefaultScreenDevice();   自己動手體驗一下   有了上面的簡介,寫一個實例來體驗一下吧:   1.importjava.awt.Color;   2.importjava.awt.Font;   3.importjava.awt.Graphics;   4.importjava.awt.GraphicsDevice;   5.importjava.awt.GraphicsEnvironment;   6.importjava.awt.event.MouseAdapter;   7.importjava.awt.event.MouseEvent;   8.importjavax.swing.JWindow;   9.publicclassFullScreenTest{   10.publicstaticvoidmain(String[]args){   11.GraphicsEnvironmentGraphicsEnvironmentge=   12.GraphicsEnvironment.getLocalGraphicsEnvironment();   13.GraphicsDevicegd=ge.getDefaultScreenDevice();   14.FullScreenWindowmyWindow=newFullScreenWindow();   15.if(gd.isFullScreenSupported())   16.gd.setFullScreenWindow(myWindow);   17.else   18.System.out.println("Unsupportedfullscreen.");   19.}   20.staticclassFullScreenWindowextendsJWindow{   21.publicFullScreenWindow(){   22.this.addMouseListener(newMouseAdapter(){   23.publicvoidmousePressed(MouseEventevt){   24.quit();   25.}   26.});   27.}   28.publicvoidquit(){   29.this.dispose();   30.}   31.publicvoidpaint(Graphicsg){   32.g.setFont(newFont("Arial",Font.BOLD,30));   33.g.setColor(Color.RED);   34.g.drawString("這是全屏幕模式",100,100);   35.}   36.}   37.} |