Swing和GUI

本文介绍Swing/JFC的基础概念,包括事件模型、基本控件如JLabel、JButton等的功能与用途,以及常用的容器如JFrame、JWindow等。此外,还详细讲解了各种布局管理器的特点和适用场景。

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

(1)Swing概述
Abstract Window Tookit(AWT,抽象窗体工具包),不仅提供了用户界面设计的基本组件,还提供了丰富的事件处理接口;
Swing并不是其替代品,而是在其基础上构建的一套新的图形界面系统,是使用Java语言进行企业级开发的GUI工具包,可以方便的建立和扩充客户端应用程序;

(2)Swing/JFC的事件模型基础
所有的事件都是从java.util.EventObject继承而来,具体的子类如KeyEvent和MouseEvent等;向事件源注册相应事件的监听器,当事件发生时事件源能把事件对象发送给对应监听器,监听器对象根据事件对象的信息选择事件处理方法并作出反应;

(3)基本控件

标签JLabel,是一种可以包含文本/图像的非交互式控件,主要用于标识其他控件;

按钮JButton,是一种可以包含文本/图像的控件,可响应ActionEvent单击事件;

单行文本框JTextField,用于输入单行文本,且文本长度超过字段的实际长度时可以自动滚动文本;

格式化文本框JFormattedTextField,可根据地域的不同自动改变显示格式,可方便地设置日期的显示格式,限制值的范围,使值通过键盘进行增减等;

文本域JTextArea,只能使用单一的字体和格式,能显示多行文本,将其添加到滚动窗格JScrollPane便可实现滚动功能;

复选框JCheckBox和单选框JRadioButton,可包含文本/图像,只有选中和未选中两种状态;通常将多个单选框添加到一个ButtonGroup中才能实现单选功能;

编辑器面板JEditorPane,可显示文本混排等多种样式的内容,还提供了对自定义文本格式的支持;可以用作浏览简单的HTML的工具,可响应HyperlinkListener事件而加载新页面;

-----------------------------------------------------------------------------------------
(4)控件MVC思想,

Model-View-Controller即模型-视图-控制器的体系结构,作为每个控件涉及的基本思想:
模型,包括每个控件的状态数据,与控件的可视化表示是独立的;
视图,是控件在屏幕上的表现形式;
控制器,指示控件如何与不同的事件交互;


列表JList,类似于一组复选框或单选框,其各个项目放在单个列表框中,通过单击选项本身来选定;
可通过设置,允许单选或者选择多个的任意组合,可添加JScrollPane以实现滚动;

组合框JComboBox,包含一个按钮与一个下拉列表;

分割窗格JSplitPane,将单个窗格分割为两个部分,可调整分割方向和拆分比例,也可通过嵌套实现分割为多个窗格的效果;为了向其中的每一部分添加多个组件,可先向其中添加一个JPanel;

MVC如列表和组合框的内容可用数组/向量存储,而方便地管理其数据.

(5)容器

框架JFrame,一种常用容器类;
窗口JWindow,一种非常有用的容器类,没有标题栏/窗口管理按钮或者其他与JFrame关联的修饰,可存在于桌面上的任何位置;
小应用程序JApplet,在浏览器中使用,经网络下载并运行,需要<applet></applet>标记;

(6)布局

流布局FlowLayout,按从左到右,从上到下的顺序排列添加到其中的组件,居中显示;

边框布局BorderLayout,是JFrame的默认布局,分为东西南北中五个区域,默认区域间没有间隙但也可自己设置,且若某区域没有组件则自动被其他区域占有;

网格布局GridLayout,按给定行列排列所有控件,且每个控件具有相同的大小;

卡片布局CardLayout,每次只能显示一个卡品;

箱式布局BoxLayout,可设置从上到下/从左到右/控件左边缘对齐/控件右边缘对齐;

布局管理器GroupLayout,通过拖放组件时的辅助线,控制控件间间距/对齐/粘贴等;

空布局null,对控件碱性绝对定位,以设置控件的具体大小和位置;

(7)对话框

对话框JDialog,用于创建对话框,分为对话模式和非对话模式;
非模式对话框允许用户同时在对话框和程序的主窗口中输入信息,而模式对话框在处理完之前不能与程序的主窗口进行交互;

简单的对话框JOptionPane,可以定义并创建不同类型的对话框,提供了对标准对话框/图标/标题/文本及自定义按钮文本的支持;
会强迫用户停止正在进行的操作并弹出对话框作出响应;

文件选择器JFileChoser,显示一个用于打开或保存文件的对话框;

颜色选择器JColorChooser,可作为单独的对话框使用,也可作为控件放置在任何自定义的界面中;

(要的对象资源;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值