Swing全屏幕模式
创始人
2024-04-16 20:21:26
0

也许用到的机会很少,但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文件选择器的制作

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...