返回介绍

java.awt 类 GraphicsDevice

发布于 2019-10-04 09:49:53 字数 13011 浏览 1524 评论 0 收藏 0

java.lang.Object
  └java.awt.GraphicsDevice

public abstract class GraphicsDevice
extends Object
 

GraphicsDevice 类描述了可以在特殊图形环境中使用的图形设备。这些设备包括屏幕和打印机设备。注意,在 GraphicsEnvironment 实例中可以有许多屏幕和许多打印机。每个图形设备都有一个或多个与之相关的 GraphicsConfiguration 对象。这些对象指定了可以使用 GraphicsDevice 的不同配置。

在多屏幕环境中, GraphicsConfiguration 对象可用于在多屏幕上呈现组件。以下代码示例演示了如何在 GraphicsEnvironment 中针对每个屏幕设备的每个 GraphicsConfiguration 创建 JFrame 对象。

   GraphicsEnvironment ge = GraphicsEnvironment.
   getLocalGraphicsEnvironment();
   GraphicsDevice[] gs = ge.getScreenDevices();
   for (int j = 0; j < gs.length; j++) { 
      GraphicsDevice gd = gs[j];
      GraphicsConfiguration[] gc =
        gd.getConfigurations();
      for (int i=0; i < gc.length; i++) {
         JFrame f = new
         JFrame(gs[j].getDefaultConfiguration());
         Canvas c = new Canvas(gc[i]); 
         Rectangle gcBounds = gc[i].getBounds();
         int xoffs = gcBounds.x;
         int yoffs = gcBounds.y;
           f.getContentPane().add(c);
           f.setLocation((i*50)+xoffs, (i*60)+yoffs);
         f.show();
      }
   }
另请参见:
GraphicsEnvironment , GraphicsConfiguration

字段摘要
staticintTYPE_IMAGE_BUFFER

设备为图像缓冲区。

staticintTYPE_PRINTER

设备为打印机。

staticintTYPE_RASTER_SCREEN

设备为光栅屏幕。

构造方法摘要
protectedGraphicsDevice()

这是一个无法直接实例化的抽象类。

方法摘要
intgetAvailableAcceleratedMemory()

此方法返回此设备上加速内存中可用的字节数。

GraphicsConfigurationgetBestConfiguration(GraphicsConfigTemplategct)

返回通过了 GraphicsConfigTemplate 中定义的标准的可能“最佳”配置。

abstract GraphicsConfiguration[]getConfigurations()

返回与此 GraphicsDevice 相关的所有 GraphicsConfiguration 对象。

abstract GraphicsConfigurationgetDefaultConfiguration()

返回与此 GraphicsDevice 相关的默认 GraphicsConfiguration

DisplayModegetDisplayMode()

返回此 GraphicsDevice 的当前显示模式。

DisplayMode[]getDisplayModes()

返回此 GraphicsDevice 可用的所有显示模式。

WindowgetFullScreenWindow()

如果设备处于全屏模式,则返回表示全屏窗口的 Window 对象。

abstract StringgetIDstring()

返回与此 GraphicsDevice 相关的标识字符串。

abstract intgetType()

返回此 GraphicsDevice 的类型。

booleanisDisplayChangeSupported()

如果此 GraphicsDevice 支持低层显示更改,则返回 true

booleanisFullScreenSupported()

如果此 GraphicsDevice 支持全屏独占模式,则返回 true

voidsetDisplayMode(DisplayModedm)

设置此图形设备的显示模式。

voidsetFullScreenWindow(Windoww)

进入全屏模式,或返回窗口化模式。

从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细信息

TYPE_RASTER_SCREEN

public static final int TYPE_RASTER_SCREEN
设备为光栅屏幕。
另请参见:
常量字段值

TYPE_PRINTER

public static final int TYPE_PRINTER
设备为打印机。
另请参见:
常量字段值

TYPE_IMAGE_BUFFER

public static final int TYPE_IMAGE_BUFFER
设备为图像缓冲区。此缓冲区可驻留在设备或系统内存中,但用户无法实际看到它。
另请参见:
常量字段值

构造方法详细信息

GraphicsDevice

protected GraphicsDevice()
这是一个无法直接实例化的抽象类。必须从合适的工厂或查询方法中获取实例。
另请参见:
GraphicsEnvironment.getScreenDevices() , GraphicsEnvironment.getDefaultScreenDevice() , GraphicsConfiguration.getDevice()

方法详细信息

getType

public abstract int getType()
返回此 GraphicsDevice 的类型。
返回:
GraphicsDevice 的类型,可以是 TYPE_RASTER_SCREEN、TYPE_PRINTER 或 TYPE_IMAGE_BUFFER。
另请参见:
TYPE_RASTER_SCREEN , TYPE_PRINTER , TYPE_IMAGE_BUFFER

getIDstring

public abstract String getIDstring()
返回与此 GraphicsDevice 相关的标识字符串。

GraphicsEnvironment 中,某个特殊程序可能使用多个 GraphicsDevice 。此方法返回一个标识本地 GraphicsEnvironment 中的特殊 GraphicsDeviceString 。尽管没有设置此 String 的公共方法,但程序员可以在调试时使用此 String 。JavaTM 运行时环境供应商可以格式化 String 的返回值。要确定如何解释 String 值,请与您的 Java 运行时供应商联系。要查找谁是供应商,可以从程序中使用“java.vendor”调用 System 类的 getProperty 方法。

返回:
一个作为此 GraphicsDevice 标识的 String

getConfigurations

public abstract GraphicsConfiguration[] getConfigurations()
返回与此 GraphicsDevice 相关的所有 GraphicsConfiguration 对象。
返回:
一个与此 GraphicsDevice 相关的 GraphicsConfiguration 对象的数组。

getDefaultConfiguration

public abstract GraphicsConfiguration getDefaultConfiguration()
返回与此 GraphicsDevice 相关的默认 GraphicsConfiguration
返回:
GraphicsDevice 的默认 GraphicsConfiguration

getBestConfiguration

public GraphicsConfiguration getBestConfiguration(GraphicsConfigTemplategct)
返回通过了 GraphicsConfigTemplate 中定义的标准的可能“最佳”配置。
参数:
gct - 用于获取有效 GraphicsConfigurationGraphicsConfigTemplate 对象
返回:
一个通过了指定 GraphicsConfigTemplate 中定义的标准的 GraphicsConfiguration
另请参见:
GraphicsConfigTemplate

isFullScreenSupported

public boolean isFullScreenSupported()
如果此 GraphicsDevice 支持全屏独占模式,则返回 true
返回:
此图形设备是否可以使用全屏独占模式
从以下版本开始:
1.4

setFullScreenWindow

public void setFullScreenWindow(Windoww)
进入全屏模式,或返回窗口化模式。

如果 isFullScreenSupported 返回 true ,则全屏模式被视为独占,这意味着:

  • Windows 无法重叠全屏窗口。所有其他应用程序窗口总是按字母顺序出现在全屏窗口的后面。
  • 禁用输入方法窗口。建议调用 Component.enableInputMethods(false) ,使组件成为无客户机的输入方法框架。

如果 isFullScreenSupported 返回 false ,则通过将窗口大小调整为屏幕大小、定位在 (0,0) 来模拟全屏独占模式。

当进入全屏独占模式时,如果看不到作为全屏窗口使用的窗口,此方法将会使其可见。当返回到窗口化模式时,窗口仍将保持可见。

当从独占全屏窗口模式返回到窗口化模式时,任何调用 setDisplayMode 做出的显示更改都将自动恢复到它的原始状态。

参数:
w - 一个用作全屏窗口的窗口;如果返回到窗口化模式,则为 null 。一些平台希望全屏窗口成为顶层组件(例如,Frame);因此这里最好使用 Frame,而不用 Window。
从以下版本开始:
1.4
另请参见:
isFullScreenSupported() , getFullScreenWindow() , setDisplayMode(java.awt.DisplayMode) , Component.enableInputMethods(boolean) , Component.setVisible(boolean)

getFullScreenWindow

public Window getFullScreenWindow()
如果设备处于全屏模式,则返回表示全屏窗口的 Window 对象。
返回:
全屏窗口,如果设备未在全屏模式,则返回 null
从以下版本开始:
1.4
另请参见:
setFullScreenWindow(Window)

isDisplayChangeSupported

public boolean isDisplayChangeSupported()
如果此 GraphicsDevice 支持低层显示更改,则返回 true
返回:
此图形设备是否支持低层显示更改。注意,这可能与全屏独占模式有关,也可能无关。
从以下版本开始:
1.4
另请参见:
setDisplayMode(java.awt.DisplayMode)

setDisplayMode

public void setDisplayMode(DisplayModedm)
设置此图形设备的显示模式。这可能只在全屏独占模式中允许。
参数:
dm - 此图形设备的新显示模式
抛出:
IllegalArgumentException - 如果提供的 DisplayModenull ,或者在 getDisplayModes 返回的数组中不可用
UnsupportedOperationException - 如果 isDisplayChangeSupported 返回 false
从以下版本开始:
1.4
另请参见:
getDisplayMode() , getDisplayModes() , isDisplayChangeSupported()

getDisplayMode

public DisplayMode getDisplayMode()
返回此 GraphicsDevice 的当前显示模式。
返回:
此图形设备的当前显示模式。
从以下版本开始:
1.4
另请参见:
setDisplayMode(DisplayMode)

getDisplayModes

public DisplayMode[] getDisplayModes()
返回此 GraphicsDevice 可用的所有显示模式。
返回:
此图形设备可用的所有显示模式。
从以下版本开始:
1.4

getAvailableAcceleratedMemory

public int getAvailableAcceleratedMemory()
此方法返回此设备上加速内存中可用的字节数。某些图像在加速内存中是按先来先服务的方式创建或缓存。在某些操作系统中,此内存为有限资源。调用此方法并慎重安排图像的创建和刷新能够使应用程序最有效地使用这些有限的资源。 注意,返回数是可用内存数量的快照;将某些图像分配到该内存中可能仍然存在问题。例如,根据操作系统、驱动程序、内存配置和线程情况的不同,给定的图像可能无法使用报告的全部内存空间。对于与 VolatileImage 相关的 ImageCapabilities 对象,还有更多的查询方法,可用于确定是否在加速内存中创建一个特殊的 VolatileImage。
返回:
加速内存中可用的字节数。返回值为负指示加速内存无限制。
另请参见:
VolatileImage.flush() , ImageCapabilities.isAccelerated()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文