javaGUI学习28:AWT-窗口,框架与对话框

AWT中提供3个用于在屏幕上显示窗口的构件:Window,Frame,Dialog

  • java.awt . Window是三个窗口构件中最基本的构件,是 Frame与 Dialog 构件的超类。窗口构件没有边界、标题栏与菜单栏,而且其大小不可以调整。如果用户在程序设计过程中,需要利用悬浮在其他构件上方的无边界矩形框显示信息,则窗口是最佳选择。例如:利用窗口可以实现显示产品信息的快闪屏,利用窗口可以显示构件的提示帮助信息等等,我们将在本章后面详细介绍这两种应用的实现方法。
  • java.awt. Frame是Window的扩展,它拥有边界与标题栏设置,而且其大小设置允许调整,另外,用户可以为框架附加一个菜单栏,我们将在本章详细介绍其实现方法。如果用户在程序设计过程中,程序窗口需要图标化或者需要包含菜单栏,则可以选择使用框架构件。
  • java.awt .Dialog 也是Window的扩展。与框架相同,对话框也拥有边界与标题栏设置,而且其大小也允许进行调整;与框架不同的是,对话框不支持附加菜单栏,而且对话框可以进行模式化属性设置,但窗口与框架都不允许进行模式化属性设置。因此,如果用户在程序设计过程中,如果需要创建临时窗口以捕捉用户输入的信息时,一般使用对话框构件。另外,AWT中还提供java. awt . Dialog 的一个扩展构件FileDialog,它可以用于选择一个待加载或保存的文件名称。
1、java.awt.Window

构造方法:

Window(Frame owner) //构造一个新的,最初不可见的窗口,其中指定的是 Frame作为其所有者。  
Window(Window owner) //构造一个新的,最初不可见的窗口,其中包含指定的 Window作为其所有者。  
Window(Window owner, GraphicsConfiguration gc) //使用指定的所有者 Window和屏幕设备的 GraphicsConfiguration构造一个新的,最初不可见的窗口。 

应用:

快闪屏:程序装载过程中显示产品信息的窗口,持续显示10秒,然后自动退出。

提示框帮助:提示框帮助由一个小文本窗口组成,当将鼠标在窗口中的某个构件(如:工具栏上的图像按钮)上停留一段时间后,该文本窗口即可显示其相应的帮助信息。AWT不提供提示框帮助的显式支持,但是利用AWT实现提示框帮助功能也是很简单的。

具体实现在《java2图形设计卷1:AWT》相关章节

2、java.awt.Frame
  • 如果将Window类看作AWT窗口构件的基本模型,则Frame类可看做是一个完全安装模型。Frame类的特征包括边界、标题栏以及个可选的菜单栏。
  • 框架也可以调整大小并配备图标图像,当将框架图标化时,将显示该图标图像。框架的缺点在于它同时还利用一个警告字符串提醒用户:框架有可能是不可信的。而由浏览器负责警告字符串的强制策略,即实现框架显示功能的可信applet程序不应该显示警告信息。虽然当字符串在屏幕上难以阅读时,可利用Frame提供的getWamingString ()方法显示警告字符串,但在用户询问之前,AWT不提供更改与删除警告字符串的机制。
  • Frame类的一个优点是当构造Frame时,不必像构造Window或 Dialog那样四处寻找一个框架将其传递给构造器。这是由于框架是独立的窗口,而窗口与对话框则必须以创建时提供的框架为“锚点”。

构造方法:

Frame() //构造一个最初不可见的 Frame的新实例。  
Frame(GraphicsConfiguration gc) //构造一个新的,最初不可见 Frame具有指定 GraphicsConfiguration 。  
Frame(String title) //构造一个具有指定标题的新的,最初不可见的 Frame对象。  
Frame(String title, GraphicsConfiguration gc) //使用指定的标题和 GraphicsConfiguration构造一个新的,最初不可见的 Frame对象。  
3、java.awt.Dialog

对话框位于窗口与框架之间。

对话框拥有框架的许多优良功能,但是它不拥有框架作为完全可操作应用程序窗口的相应状态。即对话框不支持菜单条与图标化操作,而菜单条与图标化则是应用程序窗口的两个必要特点。

对话框还拥有一些窗口与框架都不具备的特点,即模式属性设置。对话框可以是模式的,也可以是非模式的。在进一步讨论之前,我们首先介绍模式的概念。模式意味着两件事情:首先,它阻塞线程执行;其次,它阻塞其他窗口中的输人操作。因此,当显示一个模式对话框时,对话框祖先中所有其他窗口的输人操作将被阻塞°。另外,完成对话框显示操作的线程执行也将同时被阻塞,直至释放对话框。默认设置下,对话框是非模式的,但创建对话框时或其他任意时刻都可以将对话框设置为模式状态。Dialog类也提供一个访问方法,它可以返回对话框当前的模式状态。

使用对话框时,另外一个值得注意的特点是:与其他绝大多数用户界面工具集相比,AWT提供的对话框对象相当小,它仅提供一个Dialog扩展类FileDialog。还有更多有用的Dialog扩展类,如信息对话框、问题对话框等。

构造方法:

Dialog(Dialog owner) //使用指定的所有者 Dialog和一个空标题构造一个最初不可见的无模式 Dialog 。  
Dialog(Dialog owner, String title) //使用指定的所有者 Dialog和title构造一个最初不可见的无模式 Dialog 。  
Dialog(Dialog owner, String title, boolean modal) //使用指定的所有者 Dialog ,title和modality构造一个最初不可见的 Dialog 。  
Dialog(Dialog owner, String title, boolean modal, GraphicsConfiguration gc) //构造一个最初不可见的 Dialog带有指定的所有者 Dialog ,标题,模式和 GraphicsConfiguration 。  
Dialog(Frame owner) //使用指定的所有者 Frame和一个空标题构造一个最初不可见的无模式 Dialog 。  
Dialog(Frame owner, boolean modal) //使用指定的所有者 Frame和模态以及空标题构造一个最初不可见的 Dialog 。  
Dialog(Frame owner, String title) //使用指定的所有者 Frame和title构造一个最初不可见的无模式 Dialog 。  
Dialog(Frame owner, String title, boolean modal) //使用指定的所有者 Frame ,标题和模态构造一个最初不可见的 Dialog 。  
Dialog(Frame owner, String title, boolean modal, GraphicsConfiguration gc) //构造一个最初不可见的 Dialog带有指定的所有者 Frame ,标题,模式和 GraphicsConfiguration 。  
Dialog(Window owner) //使用指定的所有者 Window和一个空标题构造一个最初不可见的无模式 Dialog 。  
Dialog(Window owner, Dialog.ModalityType modalityType) //使用指定的所有者 Window和模态以及空标题构造一个最初不可见的 Dialog 。  
Dialog(Window owner, String title) //使用指定的所有者 Window和标题构造一个最初不可见的无模式 Dialog。  
Dialog(Window owner, String title, Dialog.ModalityType modalityType) //使用指定的所有者 Window ,title和modality构造一个最初不可见的 Dialog 。  
Dialog(Window owner, String title, Dialog.ModalityType modalityType, GraphicsConfiguration gc) //构造一个最初不可见的 Dialog带有指定的所有者 Window ,标题,模式和 GraphicsConfiguration 。  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值