什么时候会用到全屏幕模式? 来自csdn

原创 2004年11月03日 09:12:00
 
标题   Java的秘密:使用全屏幕模式     选择自 chensheng913 的 Blog
关键字   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);

}

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

Android实用技巧.四种加载模式之singleTask

Activity的四种加载模式分别为: standard   (默认模式) singleTop singleTask singleInstance 介绍下在项目中比较有心得的。 singleTask...
  • d276031034
  • d276031034
  • 2017年01月05日 14:28
  • 709

什么时候需要用hash_map,什么时候需要用map?

大家都知道在C++的STL中map是使用树来做查找算法,而hash_map使用hash表来排列配对,是使用关键字来计算表位置。那使用起来他们的差别主要是什么呢?对于性能差别是什么,适合什么情况下应用呢...
  • qq100440110
  • qq100440110
  • 2016年03月20日 16:07
  • 871

什么时候会用到拷贝构造函数?

摘自:http://blog.csdn.net/zdl1016/archive/2006/07/12/909366.aspx 1-什么时候会用到拷贝构造函数? 2-什么时候有必要手动写拷贝构造函数?...
  • zhaofuguang
  • zhaofuguang
  • 2013年10月18日 14:51
  • 230

什么时候会用到this()构造方法?

Where to use this() constructor call?The this() constructor call should be used to reuse the constru...
  • yinyueai
  • yinyueai
  • 2016年03月24日 16:21
  • 145

什么时候会用到拷贝构造函数

1-什么时候会用到拷贝构造函数?        当任何你想复印东西的时候,而不管东西被复印成什么样子。即任何你想利用一个已有的类实例给另一个类实例赋值时,这种赋值可能是显式的,也可能是隐式的显式:cl...
  • mist99
  • mist99
  • 2014年04月28日 18:02
  • 246

什么时候会用到shell编程

windows提供一组API,用来读取windows目录结构以及一些文件的特殊属性, 如隐藏模式、文件的路径和系统资源等等信息,这个以前用过一点点 比如如何读取目录树,像我的电脑,我的文档,C盘,等...
  • u014710924
  • u014710924
  • 2015年04月16日 20:48
  • 180

swap 什么时候使用

在centos里面,swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100...
  • jodan179
  • jodan179
  • 2014年05月13日 13:21
  • 1527

SQL子查询什么时候用

SQL子查询什么时候用
  • bravezhe
  • bravezhe
  • 2014年01月22日 18:39
  • 1053

什么时候使用mysql 存储过程

mysql 执行语句是要先编译,然后再执行的。这样如果查询并发大的时候。会浪费很多资源和时间。造成mysql进程占用资源过多,症状就是慢。但存储过程可以把一些特别的语句封装成一个方法 ,再编译好成一个...
  • boshuzhang
  • boshuzhang
  • 2017年02月28日 10:51
  • 116

财务大写的有关规定

壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整(正)正确填写票据和结算凭证的基本规定 银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到...
  • yobsun
  • yobsun
  • 2016年07月12日 18:13
  • 275
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么时候会用到全屏幕模式? 来自csdn
举报原因:
原因补充:

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