JFrame窗体的基本操作(1-窗体的创建)

什么是窗体?

  • 窗体,是某个程序,在电脑中,手机中的窗口化程序。它在非固定状态下,可以自由的变换大小。同时,窗体,也是容器,窗体这个容器可以在内部处理很多的小组件。
  • 窗体的具体例子:例如,所有的浏览器,浏览器中网页里打开的提示框,电脑的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来使用的,这点需要注意;

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

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值