JFrame窗体的基本操作(1-窗体的创建)
什么是窗体?窗体,是某个程序,在电脑中,手机中的窗口化程序。它在非固定状态下,可以自由的变换大小。同时,窗体,也是容器,窗体这个容器可以在内部处理很多的小组件。窗体的具体例子:例如,所有的浏览器,浏览器中网页里打开的提示框,电脑的QQ,手机上的小窗模式,都是窗体;在本篇内容中,我们会使用JFrame和JDialog两个类,在实现java中的窗体;在JAVA中如何创建窗体?在java中,我们需要引入
什么是窗体?
- 窗体,是某个程序,在电脑中,手机中的窗口化程序。它在非固定状态下,可以自由的变换大小。同时,窗体,也是容器,窗体这个容器可以在内部处理很多的小组件。
- 窗体的具体例子:例如,所有的浏览器,浏览器中网页里打开的提示框,电脑的QQ,手机上的小窗模式,都是窗体;
- 在本篇内容中,我们会使用JFrame和JDialog两个类,在实现java中的窗体;
在JAVA中如何创建窗体?
在java中,我们需要引入javax.swing包下的JFrame类或者JDialog类,这样才能使用两个窗体;但是,一些窗体中的组件也会用到swing包下的一些类,所以引用包的时候,通常都会是import javax.swing.*;来引用swing包下的所有类;
另:JFrame和JDialog外表基本一致,只是在运行中的调度不同,因此本节只考虑如何创建窗体。因为两个类的外表基本一致,所有下列两种创建方法两个类都是可以使用的(退出方法外);
-
方法一:构造方法的创建
import javax.swing.*; public class windowJFame_JDialog extends JFrame{ public windowJFrame_JDialog() { } }
在主类中继承JFrame这个类,那么他的构造方法就是一个窗体。在这个构造方法中我们无需再实例化JFrame这个类,我们可以直接调用关于JFrame类中的方法,例如设置大小和坐标;
同时,在主类中继承JFrame时,我们也可以在非主类上实现,如:
class windowDemo extends JFrame{ public windowDemo() { } }
这样windowDemo这个构造方法也是可以被作用成JFrame窗体的。
-
方法二:实例化调用
有人说,用构造方法创建的话,局限性是不是太多了?没关系,java还提供了实例化的方式来创建窗体:public static void main(String[] args){ JFrame jf = new JFrame();// 实例化JFrame窗体 }
我们在main方法中实例化了JFrame对象,使用jf来接收这个对象;这样jf就是一个窗体,在运行时就会实现这个窗体(前提设置窗体可见);
在实例化方式创建完窗体后,将不再提供默认对象了,也就是不能直接调用JFrame中的方法!在需要调用方法的时候我们需要借助接收的jf这个变量对象来调用JFrame中的方法;
基本运作的方法:
上面我们只是创建了一个或多个窗体,但运行的时候并未显示出窗体,这是怎么回事?
Java呢,将JFrame和JDialog两个类的窗体都默认设置成了不可见,在窗体不可见的情况下,java无法实现窗体这些代码(用户看不见而已)。这时,我们将setVisible方法设置为true,这样窗体就可见了。
上图中右下角的就是我们所设置的窗体,由于现在并没有设置大小和坐标,可能你看见的窗体是图中的样子,但是坐标是在屏幕的左上角。
所以,现在来给它设置大小以及坐标。
具体方法如上图,方法的使用在图中以及给出
这里还有个方法setLocationRelativeTo() —— 将窗口的位置设置为指定的组件。在做些小例子的时候,使用该方法将值设为null,可以直接使窗体居中。
设置完大小和坐标,这时,一个窗体也就差不多完成了,但是还有一步!
我们再点击窗体退出的时候,项目并未结束。这里将再调用setDefaultCloseOperation()这个方法,这个方法中定义了一些关于窗体退出时对于项目和窗体的操作
参数如下:
/*
* EXIT_ON_CLOSE : 隐藏窗口,并停止运行
* DO_NOTHING_ON_CLOSE : 无任何操作
* HIDE_ON_CLOSE : 隐藏窗体,但不停止程序
* DISPOSE_ON_CLOSE : 释放窗体资源
*
* */
这时,设置窗体退出时的操作吧。像下图调用完后,窗体退出后项目也就可以停止运行了
后语:
看完上述操作后,对于JFrame窗体也就有了一个大概的了解,但这也仅仅只是一点点而已。对于窗体,我会分几篇来说明,这才是第一篇:如何创建窗体。
小提:上述的代码,虽然我都是用JFrame类来说明创建,如果将JFrame类替换成JDialog,程序将不提供窗体退出的方法,因为JDialog是一个对话框,本质是配合JFrame来使用的,这点需要注意;
如果有任何错误的地方,请在评论区及时说明!
更多推荐
所有评论(0)