JFrame窗体的基本操作(1

JFrame窗体的基本操作(1

什么是窗体?

窗体,是某个程序,在电脑中,手机中的窗口化程序。它在非固定状态下,可以自由的变换大小。同时,窗体,也是容器,窗体这个容器可以在内部处理很多的小组件。窗体的具体例子:例如,所有的浏览器,浏览器中网页里打开的提示框,电脑的QQ,手机上的小窗模式,都是窗体;在本篇内容中,我们会使用JFrame和JDialog两个类,在实现java中的窗体;在JAVA中如何创建窗体?在java中,我们需要引入javax.swing包下的JFrame类或者JDialog类,这样才能使用两个窗体;但是,一些窗体中的组件也会用到swing包下的一些类,所以引用包的时候,通常都会是import javax.swing.*;来引用swing包下的所有类;

另:JFrame和JDialog外表基本一致,只是在运行中的调度不同,因此本节只考虑如何创建窗体。因为两个类的外表基本一致,所有下列两种创建方法两个类都是可以使用的(退出方法外);

方法一:构造方法的创建

代码语言:javascript代码运行次数:0运行复制import javax.swing.*;

public class windowJFame_JDialog extends JFrame{

public windowJFrame_JDialog() {

}

}在主类中继承JFrame这个类,那么他的构造方法就是一个窗体。在这个构造方法中我们无需再实例化JFrame这个类,我们可以直接调用关于JFrame类中的方法,例如设置大小和坐标;

同时,在主类中继承JFrame时,我们也可以在非主类上实现,如:

代码语言:javascript代码运行次数:0运行复制class windowDemo extends JFrame{

public windowDemo() {

}

}这样windowDemo这个构造方法也是可以被作用成JFrame窗体的。

方法二:实例化调用

有人说,用构造方法创建的话,局限性是不是太多了?没关系,java还提供了实例化的方式来创建窗体:

代码语言:javascript代码运行次数:0运行复制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()这个方法,这个方法中定义了一些关于窗体退出时对于项目和窗体的操作

参数如下:

代码语言:javascript代码运行次数:0运行复制 /*

* EXIT_ON_CLOSE : 隐藏窗口,并停止运行

* DO_NOTHING_ON_CLOSE : 无任何操作

* HIDE_ON_CLOSE : 隐藏窗体,但不停止程序

* DISPOSE_ON_CLOSE : 释放窗体资源

*

* */这时,设置窗体退出时的操作吧。像下图调用完后,窗体退出后项目也就可以停止运行了

在这里插入图片描述后语:看完上述操作后,对于JFrame窗体也就有了一个大概的了解,但这也仅仅只是一点点而已。对于窗体,我会分几篇来说明,这才是第一篇:如何创建窗体。

小提:上述的代码,虽然我都是用JFrame类来说明创建,如果将JFrame类替换成JDialog,程序将不提供窗体退出的方法,因为JDialog是一个对话框,本质是配合JFrame来使用的,这点需要注意;

如果有任何错误的地方,请在评论区及时说明!

← 上一篇: 前端学完大概要多久?过来人掏心窝的实话
下一篇: 腾讯视频会员怎么退款 →

相关推荐