一、JDialog窗体
Java中的JDialog窗体是Swing组建中的对话框,他继承了AWT组件中的java.awt.Dialog类。JDialog窗体的功能是从另外一个窗体中弹出另外一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样。JDialog窗体实质上就是另一种类型的窗体,它与JFrame窗体类似,在使用时也需要调用方法getContentPane(),其目的是将窗体转换为容器,然后在容器中设置窗体的特性。
从API中查找时,我们发现JDialog类的构造函数有以下几种:
public JDialog():创建一个无标题和父窗体的对话框。public JDialog(Frame f):创建一个指定父窗体的对话框,但该窗体没有标题。public JDialog(Frame f,boolean model):创建一个指定对话框,并指定父窗体,但没有指定标题。public JDialog(Frame f,String title):创建一个指定标题和父窗体的对话框。public JDialog(Frame f,String title,boolean model):创建一个指定标题,指定窗体和模式的对话框。其中 ,Frame 类型的参数f表示对话框的拥有者,boolean 类型参数用于控制对话框的工作方式。如果为true,则对话框为可见时,其他组件不能接受用户的输入,此时的对话框称为静态的;如果为false,则对话框和所属窗口f可以互相切换,彼此之间没有顺序上的联系,此时的对话框称为动态的。String类型参数作为对话框的标题,在构造对话框之后,就可以添加其他的组件了。
JDialog对话框可分为两种:模态对话框和非模态对话框,所谓模态对话框是指用户需要等到处理完对话框后才能和其他窗口继续交流,而非模态对话框允许用户在处理对话框的同时与其他对话框进行交流,对话框是模态或非模态可以在创建Dialog对象时为构造方法传入参数而设置,也可以创建之后通过他的setModal()方法来进行设置。
二、JFrame窗体
JFrame窗体是Swing程序中各个组件的载体,JFrame窗体是一个承载Swing组件的容器,它拥有普通窗体应具备的功能。
JFrame在程序中的语法如下:
JFrame jframe = new JFrame("title");
Container container = jframe.getContentPane();
当然,JFrame的构造函数也有无参版本:
JFrame jframe = new JFrame();
Container container = jframe.getContentPane();
代码中用JFrame对象调用getContentPane()方法获取顶层父类Container的对象container。大家应该会有这样一个概念:Swing组件的窗体通常与组件和容器相关,因此,我们在创建完JFrame对象后,需要调用getContentPane()方法,将窗体转换为容器。然后在容器中利用Container类的add()方法进行添加组件操作。
JDialog类与JFrame类因都为窗体类而非常相似。但是我们不得不承认的是:JDialog类产生的是临时的对话窗口,主要用于显示提示信息或接受用户输入。常常通过JDialog对话框与用户进行交流,因此常常将JDialog用一个类单独继承,通过一个继承JFrame的类产生事件监听机制,在处理事件时,通常会弹出对话框,实现与用户进行简单的交流。
上述代码充分说明了JFrame和JDialog在程序中的用法。该代码实现了3种事件处理方式,运行程序后会出现一个窗口,若点击模式对话框后,必须先关闭Dialog才能关闭DialogDemo,而点击非模式对话框后,无论是否关闭Dialog都可以关闭DialogDemo。
美好的时光总是这么短暂,今天的分享到这里就结束了,能看到最后的同学都会成为最优秀的程序员。
欢迎大家在评论区留言和评论,谢谢!
原创不易,莫要白票,请为本文点赞并在本文正文开头的右上角点个关注吧!这将是我写作更多优质文章的最强动力。
点击下方有惊喜哦!
快速搞定算法的复杂度
教你高效学习算法与数据结构
迈出程序员的第一步:算法
小白选购电脑指南
举报/反馈

码农工

254获赞 43粉丝
专注于为你揭秘IT行业,一起来了解IT行业吧
关注
0
0
收藏
分享