Swing中Frame与Dialog的区别

窗口容器

    AWT中提供3个用于在屏幕上显示窗口的构件:Window,Frame和Dialog。我们把它统称为窗口构件。

    java.awt.Window是三个窗口构件中最基本的构件;Window构件是Frame和Dialog的父类。它没有边界、标题栏和菜单栏,而且大小不可以调整。

    java.awt.Frame是Window的子类,它拥有边界与标题栏设置,而且大小允许调整,可以有菜单栏。

    java.awt.Dialog也是Window的子类,它也拥有边界与标题栏设置,大小允许调整,但它不支持菜单栏;

    窗口构件触发窗口事件WindowEvent,它的的监听者是WindowListener,里面的接口包括:windowOpened(WindowEvent),windowClosed(WindowEvent)等,同学们可以参阅帮助文件; java.awt.event.WindowAdapter这个类实现了WindowListener接口,但里面的方法都是空的方法,我们可以选定实现WindowListener接口里的某些方法。

   下面,我们以Frame、Dialog和FileDialog为例,说明窗口构件的用法。

1 Frame类

    java.awt包中的Frame类或子类所创建的一个对象就是一个窗口(默认布局BorderLayout)。 

Frame类的主要方法:

  Frame():创建无名窗口。 

  Frame(String s):创建名字是s的窗口。

  setBounds(int a,int b,int width,int height):

  setSize(int width,int height):

  setBackground(Color c):

  setVisible(boolean b):

  pack():用紧凑方式显示窗口。

  setTitle(String name):

  getTitle():获取窗口的名字。

  setResizable(boolean b):

例:Example15_2.java

2 Dialog(对话框)类

    通过扩展Dialog类来创建一个对话框。Dialog类是java.awt中的一个类,也是一个容器。

    对话框可以接受用户的输入,实现与用户的交互。对话框与一般窗口的区别在于它依赖于其它窗口:当它所依赖的窗口消失或最小化时,对话框也将消失;窗口还原时,对话框又会自动恢复。

    对话框分为无模式和有模式两种,有模式对话框只让程序响应对话框内部的事件,对于对话框以外的事件程序不响应,而无模式对话框可以让程序响应对话框以外的事件。

怎样定义对话框类?

    通过Dialog的子类来建立一个对话框,即这个字类的一个对象,就是一个对话框。

Dialog类的主要方法如下:

Dialog(Frame f,String s)

Dialog(Frame f,String s,boolean b)

getTitle()

setTitle(String s)

setModal(boolean)

setSize()

setVisible(boolean b)

posted @ 2012-11-08 17:36  sunflower627  阅读(2400)  评论(0编辑  收藏  举报