java jframe教程_Swing JDialog容器和JFrame容器使用教程

JFrame

在Swing组件中,最常见的一个容器就是JFrame,它是一个独立存在的顶级容器(也叫窗口),不能放置在其他容器之中,JFrame支持通用窗口所有的基本功能,例如窗口最小化、设定窗口大小等。接下来通过一个案例来演示一下JFrame的使用效果,如文件1所示。

文件1 Example01.java

import javax.swing.*;

public class Example01 {

private static void createAndShowGUI() {

// 创建并设置JFrame容器窗口

JFrame frame = new JFrame("JFrameTest");

// 设置关闭窗口时的默认操作

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// 设置窗口尺寸

frame.setSize(250, 150);

// 展示JFrame容器窗口

frame.setVisible(true);

}

public static void main(String[] args) {

//使用SwingUtilities工具类调用createAndShowGUI()方法显示GUI程序

SwingUtilities.invokeLater(Example01::createAndShowGUI);

}

}

运行结果如图1所示。

0146616f80447e3a598823b8da328d88.png

图1 运行结果

文件1中,通过JFrame类创建了一个窗体对象,在创建窗体对象的同时指定了窗体对象的标题为“JFrameTest”,然后通过JFrame类的相关方法分别设置了窗体对象关闭时的操作、窗体尺寸大小以及窗体信息可见。另外,在main()方法中,使用了javax.swing包下中SwingUtilities(封装有一系列操作Swing的方法集合工具类)工具类的invokeLater()方法执行了GUI程序,该方法需要传入一个接口作为参数,示例中使用到了方法引用进行传参。

JDialog

JDialog是Swing的另外一个顶级容器,通常用来表示对话框窗口。JDialog对话框可分为两种:模态对话框和非模态对话框。所谓模态对话框是指用户需要等到处理完对话框后才能继续与其他窗口交互,而非模态对话框允许用户在处理对话框的同时与其他窗口交互。

对话框是模态或者非模态,可以在创建JDialog对象时为构造方法传入参数来设置,也可以在创建JDialog对象后调用它的setModal()方法来进行设置,JDialog常用的构造方法如表1所示。

表1 JDialog常用构造方法

方法声明

功能描述

JDialog(Frame owner)

构造方法,用来创建一个非模态的对话框,owner为对话框所有者(顶级窗口JFrame)

JDialog(Frame owner,String title)

构造方法,创建一个具有指定标题的非模态对话框

JDialog(Frame owner,boolean modal)

创建一个有指定模式的无标题对话框

表1中,列举了JDialog三个常用的构造方法,在这三个构造方法中都需要接收一个Frame类型的对象,表示对话框所有者。第三个构造方法中,参数modal用来指定JDialog窗口是模态还是非模态,如果modal值设置为true,对话框就是模态对话框,反之则是非模态对话框,如果不设置modal的值,其默认值为false,也就是是非模态对话框。

接下来通过一个案例来学习如何使用JDialog对话框,如文件1所示。

文件1 Example02.java

import javax.swing.*;

public class Example02 {

private static void createAndShowGUI() {

// 创建并设置JFrame容器窗口

JFrame frame = new JFrame("JFrameTest");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(350, 150);

frame.setVisible(true);

// 在JFrame容器窗口基础上创建并设置JDialog容器窗口

JDialog dialog = new JDialog(frame, "JDialog对话框",true);

dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);

dialog.setSize(200, 100);

dialog.setVisible(true);

}

public static void main(String[] args) {

// 使用SwingUtilities工具类调用createAndShowGUI()方法执行并显示GUI程序

SwingUtilities.invokeLater(Example02::createAndShowGUI);

}

}

编运行结果如图1所示。

967bf9ed0001c09b3ba0ea4288d433d3.png

图1 运行结果

在文件1中,先后创建并设置了JFrame和JDialog两个容器对象,从文件代码可以看出两种顶级容器的创建方式基本相同,但从图1的结果显示看出,虽然JFrame和JDialog都可以创建顶级容器窗口,但JDialog创建的窗口右上角没有放大和缩小功能。另外,由于创建JDialog容器对象时,设置的模态参数modal为true,所以在操作时,必须先关闭JDialog对话框后才可以与JFrame窗口进行交互。

猜你喜欢:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值