GUI(图形用户界面)

这篇文章介绍了JavaSwing中的GUI基础,包括Swing工具包的作用,JFrame和JDialog的使用。JFrame是窗口容器,用于创建和管理窗口,包括设置标题、大小、位置和关闭操作,以及添加组件和布局管理。JDialog则用于展示模态和非模态对话框,提供额外的交互功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Swing概述

1.1 GUI大致介绍

GUI是Graphical User Interface的缩写,也就是图形用户界面。它是一种计算机操作系统中的用户界面,通过 图形化的方式 呈现操作和数据,让用户可以使用鼠标、键盘等输入设备来与计算机进行交互。

GUI界面由窗口、按钮、菜单、对话框等图形化组件构成,这些组件都可以通过鼠标点击、拖拽、输入等方式来进行操作。GUI界面可以让用户更加直观地了解和操作计算机系统,而且可以大大降低学习成本,提高使用效率。

GUI界面广泛应用于各种软件应用程序,包括桌面操作系统、图形处理软件、办公软件、游戏等等。常见的GUI操作系统包括Windows、macOS、Linux等等。

1.2 Swing工具包

Swing是Java平台中的一个用户界面工具包,它提供了一套用于创建GUI应用程序的组件和工具,包括按钮、文本框、标签、列表框、表格、菜单等等。Swing在Java SE 1.2版本中首次发布,是Java GUI编程的主要工具之一。

Swing具有 跨平台性,可以在Windows、macOS、Linux等各种操作系统上运行。它采用了轻量级组件模型,可以快速响应用户的操作。Swing还支持可插入的外观和感觉(look and feel),可以模仿不同操作系统的外观和感觉。

Swing提供了MVC(Model-View-Controller)的架构模式,可以将GUI应用程序的业务逻辑与UI界面分离开来,使得程序更易于维护和扩展。此外,Swing还支持多种布局管理器,可以灵活地设计和组织UI界面。

总的来说,Swing是一个强大的Java GUI工具包,提供了丰富的组件和工具,以及灵活的布局管理器和MVC架构模式,使得Java程序员可以快速、高效地构建跨平台的GUI应用程序

Swing包的层次结构和继承关系
JComponent常用子类

2. Swing顶级容器

前置知识:GUI开发的功能扩展了两个主要分支:

容器分支
组件分支(向容器中填充数据、元素和交互组件)

2.1 JFrame

2.1.1 概括

是Java Swing库中一个重要的类,它提供了一系列的方法和属性,使得开发者可以轻松地创建、调整和管理GUI应用程序的窗口,以及向窗口中添加各种用户界面组件,实现丰富的用户交互体验

2.1.2 作用

  • 窗口管理:JFrame提供了一些方法,如setSize()、setLocation()、setResizable()等,使得开发者可以轻松地创建并管理窗口的大小、位置和是否可调整大小。

  • 关闭窗口:JFrame提供了setDefaultCloseOperation()方法,使得开发者可以定义在用户关闭窗口时的操作,如退出应用程序、隐藏窗口等。

  • 用户界面组件:JFrame提供了getContentPane()方法,使得开发者可以向窗口中添加各种用户界面组件,如按钮、文本框、标签等。同时,JFrame还提供了一些布局管理器(如FlowLayout、BorderLayout、GridLayout等)以帮助开发者更好地组织窗口中的组件。

  • 事件处理:JFrame提供了一些方法,如addActionListener()、addMouseListener()等,使得开发者可以为窗口中的组件添加事件处理程序,以响应用户的操作。

2.1.3 具体操作

1.先创建一个窗口的实例化对象
JFrame frame = new JFrame();
2.设置窗口对象关闭时的操作

表示在关闭游戏窗口时会终止程序并退出程序的操作,不加这行代码时,关闭窗口后程序并不会立即终止和退出,而是仍然在后台运行,可能会导致资源浪费和不必要的程序运行

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

代码可以放在创建游戏窗口对象的任意位置,但为了代码的清晰和易读性,建议将其放在创建游戏窗口对象后面

3.设置窗口对象的标题
frame.setTitle("我是窗口对象的标题");
4.设置窗口对象的大小
frame.setSize(1280, 768);
5.设置窗口对象出现位置

这行代码可以设置具体出现的位置

frame.setLocation(200,200);

下面的代码可以直接让窗口对象居中(更推荐)

frame.setLocationRelativeTo(null);
5.让窗口对象呈现出来

将创建的窗口实例对象显示在屏幕上

frame.setVisible(true);

2.2 JDialog

2.2.1 概括

是 Java Swing 中的一个窗口类,它可以显示一个模态或非模态的对话框。

与 JFrame 不同,JDialog 是一个特殊的窗口,通常用于应用程序的交互,例如提示用户输入信息、显示进度条、进行数据的选择等。JDialog 可以作为独立的窗口,也可以作为另一个窗口的子窗口。

2.2.2 模态和非模态

模态(Modal)和非模态(Non-Modal)是两种窗口类型,主要区别在于它们的显示方式和对应的操作方式

模态窗口是指用户在关闭当前窗口之前必须先完成对话框上的操作,否则不能进行其他操作,直到对话框关闭为止。在模态窗口打开时,焦点会被锁定在该窗口上,防止用户对其他窗口进行操作,直到该模态窗口关闭为止

非模态窗口则是用户可以在其打开的情况下自由地操作应用程序的其他部分,用户可以在非模态窗口和其他窗口之间自由切换,而不必等待非模态窗口关闭

2.2.3 具体操作

1.

3. 布局管理器

4. 事件处理机制

5. Swing常用组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值