熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Swing全屏幕模式

2022-06-13   來源: Java核心技術 

  也許用到的機會很少但JDK還是為我們提供了這個的功能像許多軟件中的打印預覽功能還有某些文本編輯器中為了獲得更大的編輯畫面也用到了Swing全屏幕模式如果你有興趣寫一個像ACDSee這樣的軟件使用Swing全屏幕模式可以讓用戶看到更大的圖片畫面

  如何使用Swing全屏幕模式?

  關鍵是javaawt*裡面的兩個與顯示設備有關的類GraphicsEnvironment和GraphicsDevice

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

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

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

  GraphicsEnvironment ge = GraphicsEnvironmentgetLocalGraphicsEnvironment();

  有了GraphicsEnvironment可以調用getDefaultScreenDevice方法獲得當前的Swing全屏幕模式設備了

  GraphicsDevice gd = gegetDefaultScreenDevice();

  自己動手體驗一下

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

  importjavaawtColor;

  importjavaawtFont;

  importjavaawtGraphics;

  importjavaawtGraphicsDevice;

  importjavaawtGraphicsEnvironment;

  importjavaawteventMouseAdapter;

  importjavaawteventMouseEvent;

  importjavaxswingJWindow;

  publicclassFullScreenTest{

  publicstaticvoidmain(String[]args){

  GraphicsEnvironmentGraphicsEnvironmentge=

  GraphicsEnvironmentgetLocalGraphicsEnvironment();

  GraphicsDevicegd=gegetDefaultScreenDevice();

  FullScreenWindowmyWindow=newFullScreenWindow();

  if(gdisFullScreenSupported())

  gdsetFullScreenWindow(myWindow);

  else

  Systemoutprintln(Unsupportedfullscreen);

  }

  staticclassFullScreenWindowextendsJWindow{

  publicFullScreenWindow(){

  thisaddMouseListener(newMouseAdapter(){

  publicvoidmousePressed(MouseEventevt){

  quit();

  }

  });

  }

  publicvoidquit(){

  thisdispose();

  }

  publicvoidpaint(Graphicsg){

  gsetFont(newFont(ArialFontBOLD));

  gsetColor(ColorRED);

  gdrawString(這是全屏幕模式);

  }

  }

  }


From:http://tw.wingwit.com/Article/program/Java/hx/201311/27030.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.