论文部分内容阅读
摘要:在进行JAVA程序设计时,窗口是常用的一个对象,窗口对象是没有边框和菜单栏的顶级窗口。窗口的默认布局是边界布局。一个窗口必须有一个框架、对话框或另一个定义为它的所有者的窗口。该文对Window类的使用和设置进行了简要的介绍。
关键词:Window;Illegal Argument Exception;Graphics Configuration
中图分類号:TP316 文献标识码:A 文章编号:1009-3044(2018)18-0069-02
1 概述
在多屏幕环境中,您可以通过使用窗口(窗口、GraphicsConfiguration)创建窗口,在不同的屏幕设备上创建一个窗口。GraphicsConfiguration对象是目标屏幕设备的GraphicsConfiguration对象之一。
在虚拟设备多屏幕环境中,桌面区域可以跨越多个物理屏幕设备,所有配置的边界都相对于虚拟设备坐标系统。虚拟坐标系统的原点位于主物理屏幕的左上角。根据虚拟设备中主屏幕的位置,可能会出现负坐标,如图1所示:
其中Virtual device:虚拟设备;physical screen:物理屏幕;primary physical screen:主物理屏幕。
2 使用方法简介
当在一个环境中调用setLocation方法时,必须将一个虚拟坐标传递给这个方法。类似地,在窗口中调用getLocationOnScreen将返回虚拟设备的坐标。调用GraphicsConfiguration的getBounds方法,在虚拟坐标系统中找到它的原点。
下面的代码将窗口的位置设置为(10,10)相对于相应图形配置的物理屏幕的原点。如果没有考虑到GraphicsConfiguration的边界,窗口位置将设置为(10,10)相对于虚拟坐标系统,并且会出现在主物理屏幕上,这可能与指定图形配置的物理屏幕不同。
Window w = new Window(Window owner, GraphicsConfiguration gc);
Rectangle bounds = gc.getBounds();
w.setLocation(10 bounds.x, 10 bounds.y);
注意:顶层窗口的位置和大小(包括窗口、框架和对话框)都在桌面窗口管理系统的控制之下。调用setLocation、setSize和setBounds是被转发到窗口管理系统的请求(而不是指令)。但是,在某些情况下,窗口管理系统可能会忽略这些请求,或者修改所请求的几何形状,以使窗口更接近于桌面设置。
由于事件处理的异步性质,getBounds、getLocation、getLocationOnScreen和getSize返回的结果可能无法反映屏幕上的窗口的实际几何形状,直到最后一个请求被处理。在处理后续请求的过程中,这些值可能会相应地发生变化,而窗口管理系统则满足这些请求。
一个应用程序可以任意设置一个看不见的窗口的大小和位置,但是窗口管理系统可能随后改变它的大小和/或窗口可见的位置。将生成一个或多个组件,以指示新的几何图形。
Windows能够生成下列窗口事件:窗口打开,窗口关闭,窗口集中,窗口集中。
3 构造器使用概述
3.1 Window
格式:public Window(Frame owner);
构造一个新的、最初看不见的窗口,其中指定的框架作为它的所有者。除非它本身在屏幕上显示,否则该窗口将不能被聚焦。
如果有一个安全管理器,它被调用时将来检查AWTPermission(“showwindowwithoutarningbanner”)。如果这个检查失败了,那么就会创建一个警告标志。
参数:如果窗口没有所有者,则该框架作为本身所有或null。
异常抛出:
IllegalArgumentException:如果所有者的GraphicsConfiguration不是来自屏幕设备;
HeadlessException:当GraphicsEnvironment.isHeadless返回true时产生异常。
3.2 Window
格式:public Window(Window owner)
构造一种新的、最初看不见的窗口,它的所有者是指定的窗口。除非它的最近的拥有框架或对话框显示在屏幕上,否则这个窗口将不会成为焦点。
使用方法与第一个构造器相同。
3.3 Window
格式:public Window(Window owner,GraphicsConfiguration gc)
构造一个新的,最初不见的窗口,有指定的所有者窗口和一个屏幕设备的图形配置。除非它最近的拥有框架或对话框显示在屏幕上,否则该窗口将无法集中。
如果有一个安全管理器设置,它将调用检查AWTPermission(“showwindowwithoutarningbanner”)。如果这个检查失败了,那么就会创建一个警告标志。
参数:
owner—如果此窗口没有所有者,则该窗口作为所有者或null。
gc-目标屏幕设备的图形配置;如果gc为空,则假定系统默认为GraphicsConfiguration。
异常抛出:
IllegalArgumentException:如果gc不是来自屏幕设备;
关键词:Window;Illegal Argument Exception;Graphics Configuration
中图分類号:TP316 文献标识码:A 文章编号:1009-3044(2018)18-0069-02
1 概述
在多屏幕环境中,您可以通过使用窗口(窗口、GraphicsConfiguration)创建窗口,在不同的屏幕设备上创建一个窗口。GraphicsConfiguration对象是目标屏幕设备的GraphicsConfiguration对象之一。
在虚拟设备多屏幕环境中,桌面区域可以跨越多个物理屏幕设备,所有配置的边界都相对于虚拟设备坐标系统。虚拟坐标系统的原点位于主物理屏幕的左上角。根据虚拟设备中主屏幕的位置,可能会出现负坐标,如图1所示:
其中Virtual device:虚拟设备;physical screen:物理屏幕;primary physical screen:主物理屏幕。
2 使用方法简介
当在一个环境中调用setLocation方法时,必须将一个虚拟坐标传递给这个方法。类似地,在窗口中调用getLocationOnScreen将返回虚拟设备的坐标。调用GraphicsConfiguration的getBounds方法,在虚拟坐标系统中找到它的原点。
下面的代码将窗口的位置设置为(10,10)相对于相应图形配置的物理屏幕的原点。如果没有考虑到GraphicsConfiguration的边界,窗口位置将设置为(10,10)相对于虚拟坐标系统,并且会出现在主物理屏幕上,这可能与指定图形配置的物理屏幕不同。
Window w = new Window(Window owner, GraphicsConfiguration gc);
Rectangle bounds = gc.getBounds();
w.setLocation(10 bounds.x, 10 bounds.y);
注意:顶层窗口的位置和大小(包括窗口、框架和对话框)都在桌面窗口管理系统的控制之下。调用setLocation、setSize和setBounds是被转发到窗口管理系统的请求(而不是指令)。但是,在某些情况下,窗口管理系统可能会忽略这些请求,或者修改所请求的几何形状,以使窗口更接近于桌面设置。
由于事件处理的异步性质,getBounds、getLocation、getLocationOnScreen和getSize返回的结果可能无法反映屏幕上的窗口的实际几何形状,直到最后一个请求被处理。在处理后续请求的过程中,这些值可能会相应地发生变化,而窗口管理系统则满足这些请求。
一个应用程序可以任意设置一个看不见的窗口的大小和位置,但是窗口管理系统可能随后改变它的大小和/或窗口可见的位置。将生成一个或多个组件,以指示新的几何图形。
Windows能够生成下列窗口事件:窗口打开,窗口关闭,窗口集中,窗口集中。
3 构造器使用概述
3.1 Window
格式:public Window(Frame owner);
构造一个新的、最初看不见的窗口,其中指定的框架作为它的所有者。除非它本身在屏幕上显示,否则该窗口将不能被聚焦。
如果有一个安全管理器,它被调用时将来检查AWTPermission(“showwindowwithoutarningbanner”)。如果这个检查失败了,那么就会创建一个警告标志。
参数:如果窗口没有所有者,则该框架作为本身所有或null。
异常抛出:
IllegalArgumentException:如果所有者的GraphicsConfiguration不是来自屏幕设备;
HeadlessException:当GraphicsEnvironment.isHeadless返回true时产生异常。
3.2 Window
格式:public Window(Window owner)
构造一种新的、最初看不见的窗口,它的所有者是指定的窗口。除非它的最近的拥有框架或对话框显示在屏幕上,否则这个窗口将不会成为焦点。
使用方法与第一个构造器相同。
3.3 Window
格式:public Window(Window owner,GraphicsConfiguration gc)
构造一个新的,最初不见的窗口,有指定的所有者窗口和一个屏幕设备的图形配置。除非它最近的拥有框架或对话框显示在屏幕上,否则该窗口将无法集中。
如果有一个安全管理器设置,它将调用检查AWTPermission(“showwindowwithoutarningbanner”)。如果这个检查失败了,那么就会创建一个警告标志。
参数:
owner—如果此窗口没有所有者,则该窗口作为所有者或null。
gc-目标屏幕设备的图形配置;如果gc为空,则假定系统默认为GraphicsConfiguration。
异常抛出:
IllegalArgumentException:如果gc不是来自屏幕设备;