全屏幕模式

也許用到的機會很少,但JDK還是爲我們提供了這個的功能。像許多軟件中的打印預覽功能,還有某些文本編輯器中爲了獲得更大的編輯畫面,也用到了全屏幕模式,如果你有興趣寫一個像ACDSee這樣的軟件,使用全屏幕模式可以讓用戶看到更大的圖片畫面。     
    
    如何使用全屏幕模式?     
    關鍵是java.awt.*裏面的兩個與顯示設備有關的類:GraphicsEnvironmentGraphicsDevice。     
    
    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.*;     
    
import   java.awt.event.*;     
    
import   javax.swing.*;     
    
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.");     
          }
     
    }
     
   
    
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);     
   
        }
     
   
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章