Java的秘密:使用全屏幕模式

原创 2003年04月09日 09:58:00

Java的秘密:使用全屏幕模式

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

如何使用全屏幕模式?
    关键是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方法获得当前的屏幕设备了:
        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);   
       
    }   
   
}

 

如需了解更多java全屏幕方面的内容, 请参考JDK文档

你也可以进入Turbo Chen的Java技术专栏, 看更多的Java的秘密系列文章

 

 

Java中如何使窗口无标题栏并全屏幕显示

    让窗口全屏幕显示,并且不显示标题栏的情况在常用的软件开发中不是非常多见,但是对于开发如视频播放器这样的软件时,这样的功能就变得不可缺少了,那么如何实现这两个功能呢?    首先我们来看一下如何...
  • stevencn76
  • stevencn76
  • 2007年12月18日 22:25
  • 5207

C++实现屏幕截图(全屏截图)

最近维护的项目,在某些情况下,光有日志还不行,于是添加了截图功能,特定情况下,会自动截图,辅助分析,从而改进程序。以下是截图实现代码。 void CDemoDlg::ScreenShot(void) ...
  • sunflover454
  • sunflover454
  • 2015年09月24日 20:33
  • 5006

使用WebRTC实现远程屏幕共享

正如我们上周报道的一样,最近有很多事情发生在我们熟知的WebRTC上。         其中一个是:基于WebRTC的屏幕共享。         这是屏幕录像:yout...
  • hezikui1987
  • hezikui1987
  • 2013年03月06日 15:13
  • 2230

ios系统通过safari添加到主屏幕后,打开子链接还会跳转到safari

我们做好了一个web的应用程序,有时候演示,需要在手机浏览器中操作,每次都需要打开手机浏览器,然后找到地址进行访问,这不算什么,最讨厌的就是还有手机浏览器自带的工具栏等,看着不舒服。 ios系统的s...
  • lilinoscar
  • lilinoscar
  • 2017年04月20日 17:00
  • 1573

使用jQuery和CSS3创建一个全屏幕幻灯效果

在线演示  本地下载 在今天这篇文章中,我们将介绍来自于tympanus的一个全屏幻灯特效教程,在这个教程中将介绍如何使用jQuery和CSS3来实现一个全屏的幻灯特效,你将看到每一个幻灯都...
  • jjfat
  • jjfat
  • 2012年06月18日 13:13
  • 884

使用rem实现全屏幕自动适配(等比例缩放布局样式)

rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了。但是我对rem综合评价是用来做web app它绝对是最合适的人选之一。...
  • Hmily_hui
  • Hmily_hui
  • 2016年10月28日 11:27
  • 3405

全屏幕万能取色器,html,java必备

  • 2011年01月04日 12:42
  • 142KB
  • 下载

使用全屏幕贴图,游戏里边经常用

  • 2009年05月15日 09:36
  • 242KB
  • 下载

windows编程(四)制作简单的全屏幕截屏软件

参考了网上别人写的例子程序,
  • Ccreazy
  • Ccreazy
  • 2014年04月07日 11:13
  • 1104

羊皮书APP(Android版)开发系列(四)全屏幕延迟启动

羊皮书APP(Android版)开发系列(四)全屏幕延迟启动 APP启动时经常会有一张启动图片,有几秒钟的展示时间,做法很简单,使用Handler的postDelayed方法即可。配置全屏:在st...
  • wjwj1203
  • wjwj1203
  • 2016年03月11日 09:02
  • 438
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java的秘密:使用全屏幕模式
举报原因:
原因补充:

(最多只允许输入30个字)