分享

Swing全屏幕模式

 xuanda007 2010-12-15

Swing全屏幕模式

发布: 2010-07-10 17:24  | 来源: | 编辑: | 查看: 29 次

  也许用到的时机很少,但JDK还是为我们供给了这个的功效。像许多软件中的打印预览功效,还有某些文本编辑 器中为了获得更大的编辑 画面,也用到了Swing全屏幕模式,如果你有兴趣 写一个像ACDSee这样的软件,应用 Swing全屏幕模式可以让用户看到更大的图片画面。

  如何应用 Swing全屏幕模式?

  要害是java.awt.*里面的两个与显示设备 有关的类:GraphicsEnvironment和GraphicsDevice。

  GraphicsEnvironment为利用程序供给了特定平台的 GraphicsDevice对象和 Font 对象聚拢。这些GraphicsDevice可以是各种本机和远端机器的资源,如屏幕、打印机或者是Image Buffer,甚至是Graphics2D绘图法子的目标 对象。

  而GraphicsDevice就是指特定的图形环境了,如屏幕和打印设备 等。这样,我们就可以用GraphicsDevice来节制屏幕了。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.}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多