Swing全屏幕模式

开发 后端
本文介绍Swing全屏幕模式,如果你有兴趣写一个像ACDSee这样的软件,使用Swing全屏幕模式可以让用户看到更大的图片画面。

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

如何使用Swing全屏幕模式?

关键是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方法获得当前的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. }  

【编辑推荐】

  1. 在表格中Swing增加列表框
  2. 浅谈Swing控件JList
  3. 概述Swing组件与外部线程
  4. Java Swing做什么好
  5. Swing文件选择器的制作
责任编辑:佚名 来源: 博客园
相关推荐

2009-12-24 14:38:52

WPF全屏幕窗口

2013-07-03 13:54:26

jQuery

2017-08-11 19:02:21

Android全屏幕适配

2018-05-04 15:26:10

Android开发全屏幕

2009-11-10 14:52:13

VB.NET实现

2009-06-25 13:50:57

JAVA资格认证Swing

2013-07-22 09:11:49

Chrome OS

2013-11-19 11:11:50

傲游云浏览器

2017-09-19 10:34:55

无边框笔记本全面屏

2012-12-27 15:29:33

Android开发Activity

2010-07-29 14:58:49

Flex全屏模式

2009-07-10 16:14:29

MVC设计模式Swing

2009-12-30 14:22:12

Silverlight

2013-12-16 10:53:06

移动应用全屏模式

2009-07-17 13:06:49

Swing模式

2009-12-25 13:00:47

Linux编辑器Vi

2009-10-27 16:47:58

linux vi编辑器

2009-07-14 17:38:20

Swing模式

2011-07-11 16:25:25

控制台

2010-08-03 11:22:43

Flex全屏
点赞
收藏

51CTO技术栈公众号