Java程序设计--Swing基础(第1部分)

java 图形化界面 框架Frame框架Frame可以作为Java的顶级窗口来使用。Frame是AWT中Window的一个子类,是带有标题和缩放角的窗口,是属于重量级组件。Frame可以设置自己的标题、边框、菜单、大小等等。默认的Frame实例化对象都是没有大小和不可见的,必须调用setSize( )来设置大小,调用setVisible(true)来设置该窗口为可见的。 阅读详情
AI摘要

本文介绍了Swing,一个用于Java的GUI工具包,包括其基本概念、创建窗体的设置、常用组件的使用以及常用的布局方式。Swing允许开发者在所有操作系统上构建一致的用户界面。

一、Swing介绍
1、Swing是一个为Java设计的GUI(图形用户界面)工具包。
2、Swing由纯Java实现,在所有操作系统上都可以使用。
3、Swing组件位于javax.swing包。
4、在Swing GUI中,JFrame是一个顶层容器,可以存放其他组件。
二、创建窗体的常用设置
【实例】
1 import javax.swing.*;
2 public class SwingTest extends JFrame {
3 public SwingTest(){
4 //设置窗体的标题
5 this.setTitle("窗体标题");6 //设置窗体的位置与大小
7 this.setBounds(20,20,300,400);
8 //设置窗体大小是否可以改变
9 this.setResizable(false);
10 //设置关闭窗体时执行的操作
11 this.setDefaultCloseOperation(EXIT_ON_CLOSE);
12 //设置窗体的布局方式
13 this.setLayout(null);
14 //设置窗体的位置
15 this.setLocationRelativeTo(null);
16 //设置窗体是否可见
17 this.setVisible(true);
18 }
19
20 public static void main(String[] args) {
21 new SwingTest();
22 }
23 }
【效果图】
三、窗体中常用组件【实例1】
1 import javax.swing.*;
2 public class ControlsTest extends JFrame {
3 public ControlsTest(){
4 this.setTitle("窗体常用组件测试");
5 this.setSize(300,400);
6 this.setLocationRelativeTo(null);
7 this.setLayout(null);
8 this.setResizable(false);
9 this.setDefaultCloseOperation(EXIT_ON_CLOSE);
10 //文本标签
11 JLabel jLabel1 = new JLabel("账号:");
12 jLabel1.setBounds(20,20,50,30);
13 //文本框标签
14 JTextField jTextField1 = new JTextField();
15 jTextField1.setBounds(80,20,180,30);
16 //密码框
17 JPasswordField jPasswordField1 = new JPasswordField();
18 jPasswordField1.setBounds(80,70,180,30);
19 //下拉框
20 JComboBox jComboBox1 = new JComboBox();
21 jComboBox1.setBounds(20,120,150,30);
22 jComboBox1.addItem("1班");
23 jComboBox1.addItem("2班");
24 jComboBox1.addItem("3班");
25 jComboBox1.addItem("4班");
26 jComboBox1.addItem("5班");
27 jComboBox1.addItem("6班");
28 jComboBox1.setMaximumRowCount(3); //下拉框每次显示的最大数目
29 //单选按钮
30 JRadioButton jRadioButton1 = new JRadioButton("男");
31 jRadioButton1.setBounds(200,170,80,30);
32 //复选框
33 JCheckBox jCheckBox1 = new JCheckBox("篮球");
34 jCheckBox1.setBounds(20,220,80,30);
35 //将组件加入到窗体中
36 this.add(jLabel1);
37 this.add(jTextField1);
38 this.add(jPasswordField1);39 this.add(jComboBox1);
40 this.add(jRadioButton1);
41 this.add(jCheckBox1);
42 this.setVisible(true);
43 }
44
45 public static void main(String[] args) {
46 new ControlsTest();
47 }
48 }
【效果图】
【实例2】
1 import javax.swing.*;
2 public class JTableTest extends JFrame {
3 public JTableTest(){
4 this.setTitle("表格组件");
5 this.setSize(400,400);
6 this.setLocationRelativeTo(null);
7 //定义表格表头
8 String[] heads = {"编号","姓名","性别","年龄"};
9 //定义表格内容10 Object[][] data = {
11 {"1001","张三","男",20},
12 {"1002","李四","女",18},
13 {"1003","王五","女",19},
14 {"1004","赵二","男",21},
15 };
16 //创建JTable对象
17 JTable jTable1 = new JTable(data,heads);
18 int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
19 int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
20 //创建滚动条对象
21 JScrollPane jsp = new JScrollPane(jTable1,v,h);
22 this.add(jsp);
23 this.setVisible(true);
24 }
25
26 public static void main(String[] args) {
27 new JTableTest();
28 }
29 }
【结果图】
【实例2】
1 import javax.swing.*;
2 import java.awt.*;
3
4 public class MenuTest extends JFrame {
5 public MenuTest(){
6 this.setTitle("菜单组件");
7 this.setSize(400,400);
8 this.setLayout(new FlowLayout(FlowLayout.LEFT));
9 this.setLocationRelativeTo(null);
10 //创建菜单工具栏
11 JMenuBar jMenuBar = new JMenuBar();
12 //创建一级菜单
13 JMenu jMenu1 = new JMenu("文件(File)");
14 JMenu jMenu2 = new JMenu("编辑(Edit)");
15 JMenu jMenu3 = new JMenu("资源(Resources)");
16 //创建二级菜单
17 JMenuItem jMenuItem1_1 = new JMenuItem("新建(Ctrl+N)");
18 JMenuItem jMenuItem1_2 = new JMenuItem("打开(Ctrl+O)");
19 JMenuItem jMenuItem1_3 = new JMenuItem("保存(Ctrl+S)");
20 JMenuItem jMenuItem2_1 = new JMenuItem("复制(Ctrl+C)");
21 JMenuItem jMenuItem2_2 = new JMenuItem("粘贴(Ctrl+V)");
22 JMenuItem jMenuItem3_1 = new JMenuItem("快速定义");
23 //将二级菜单加到对应的一级菜单中
24 jMenu1.add(jMenuItem1_1);
25 jMenu1.add(jMenuItem1_2);
26 jMenu1.add(jMenuItem1_3);
27 jMenu2.add(jMenuItem2_1);
28 jMenu2.add(jMenuItem2_2);
29 jMenu3.add(jMenuItem3_1);
30 //将一级菜单加到菜单工具栏中
31 jMenuBar.add(jMenu1);
32 jMenuBar.add(jMenu2);
33 jMenuBar.add(jMenu3);
34 //将菜单工具栏加入到窗体中
35 this.add(jMenuBar);
36 this.setVisible(true);
37 }
3839 public static void main(String[] args) {
40 new MenuTest();
41 }
42 }
【结果图】
四、Swing常用布局方式
4.1 流式布局:FlowLayout
4.2 网格布局:GridLayout
4.3 边框布局:BorderLayout

      BorderLayout(边框布局管理器)是 Window、JFrame 和 JDialog 的默认布局管理器。边框布局管理器将窗口分为 5 个区域:North、South、East、West 和 Center。

标题:Java Swing:全面了解和使用 Java Swing是Java平台上的一个强大的图形用户界面工具包,具有丰富的组件和功能。Java Swing是Java平台上的一个图形用户界面(GUI)工具包,提供了一套丰富的组件和功能,用于开发跨平台的桌面应用程序。本文将介绍Java Swing的原理、基本概念、使用方法和常见应用场景,并给出相应的代码示例,以帮助读者全面理解和应用Java Swing。Java Swing是基于Java AWT(Abstract Window Toolkit)构建的,它提供了一系列轻量级的、可定制的GUI组件。 阅读详情

相关推荐

JAVA之Swing程序设计

一.Swing概述 二.创建窗体 三.常用组件             1.JLabel标签组件             2.JButton按钮组件             3.JRadioButton(单选按钮)组件             4.JCheckBox(复选框)组件             5.JComboBox(选择框)组件             6.JList(

slqSLQSHILIQIANG的博客 2862

Java学习指南(Swing入门篇)

☆ Java程序员居家旅行必备课程 ☆Java学习指南系列的第3篇,承接高级语法篇,介绍基于Java Swing的GUI界面程序开发的技术。Swing系列教程分为两篇:(1) Swing入门篇 (2) Swing高级篇。通过本篇的训练,学员可以较容易的掌握Java的主要语法,对常用的API都有很好的掌握。本篇内容至少包含:- 基本控件的使用- 布局管理器的使用- 自定义布局- 图片的加载及使用- 对话框,及自定义对话框- 菜单和工具栏- 自定义绘图- JList 列表框的用法,以及单元格的自定义显示- JTable 表格的用法,以及单元格的自定义显示- 一个基于 JTable 和 JSON 的学生管理系统- Java Swing应用程序的打包和发布技术,快速启动器机制等。本篇穿插多个实例,通过实例,综合运用多种技术,使学员对项目的构建有所有认识。

JAVA核心:Swing程序设计

文章目录1. Swing 概述1.1 Swing 特点1.2 Swing 包1.3 常用Swing组件概述2. 常用窗体2.1 JFrame窗体2.2 JDialog窗体(对话框窗体)3. 标签组件与图标3.1 标签的使用3.2 图标的使用3.2.1 创建图标3.2.2 使用图片图标4. 常用布局管理器4.1 绝对布局4.2 流布局管理器4.3 边界布局管理器4.4 网络布局管理器4.5 网格组布局管理器5. 常用面板5.1 JPanel面板5.2 滚动面板6. 按钮组件6.1 提交按钮组件6.2 单选按钮

寒夜的博客 1734

Java图形化界面编程超详细知识点(5)——Swing编程

本篇文章主要介绍Java图形化界面编程中Swing类库的详细知识点总结,方便大家在图形化界面编程时快速找到自己所需要的方法,希望对大家完成课设有所帮助。

m0_66908465的博客 1万+

Java Swing 图形界面开发(目录)

Java Swing 图形界面(GUI)开发基础教程(目录),Swing 项目预览。

谢TS的博客 35万+

Java中Swing程序设计

Swing程序设计 Swing较早期版本中的AWT更为强大、性能更加优良,Swing中除了保留AWT中的几个重要的重量级组件之外,其他组件都为轻量级,这样使用Swing开发出的窗体风格会与当前运行平台上的窗体风格一致,程序员也可以在跨平台时指定窗体统一的风格与外观。Swing的使用很复杂,Swing基本要素:容器、组件、窗体布局、事件和监听器。 1.Swing概述 GUI(图像用户界面)为程序提供...

Happy Simon 997

Java-Swing程序设计

文章目录Swing概述Swing常用窗体1、JFrame窗体2、JDialog对话框3、JOptionPane小型对话框常用布局管理器1、null绝对布局2、FlowLayout流 布局管理器3、BorderLayout 边界 布局管理器4、GridLayout 网格布局管理器常用面板JScrollPane滚动面板文字标签组件与图标1、JLabrl标签2、图标的使用按钮组件1、JButto按钮2、JRadioButton单选按钮2、JCheckBox复选框列表组件1、JComboBox下拉列表框2、JLis

Lion__king的博客 7465

Java Swing程序设计40个案例详解

Swing库是Java的一个子项目,它是一个用于开发图形用户界面(GUI)的工具包。自Java 1.1版本起,Swing库成为了Java的一部分,它为Java程序员提供了一组丰富的GUI组件来创建窗口化应用程序。Swing的设计目标是实现一个与平台无关的GUI组件集,它基于Java的抽象窗口工具包(AWT),但提供了更广泛的组件和更复杂的控件。Swing库的出现主要是为了解决AWT在跨平台GUI开发中的一些局限性。

weixin_35756130的博客 1460

Java核心(Swing 程序设计1-Swing 、常用窗体)

一、Swing 概述    GUI(图形用户界面)为程序提供图形界面,它最初的设计目的是为程序员构建一个通用的GUI,使其能够在所有的平台上运行,但 Java 1.0 中基础类 AWT(抽象窗口工具箱)并没有达到这个要求,于是 Swing 出现了,它是 AWT 组件的增强组件,但是它并不能完全替代 AWT 组件,这两种组件需要同时出现在一个图形用户界面中。    1.1  Swing 特点    ...

jsl-空零之旅 1万+

精通Java Swing程序设计

在当今快速发展的IT领域,Java Swing作为一个历史悠久的GUI工具包,为开发者提供了创建丰富交互式桌面应用的能力。Java Swing程序设计不仅涉及到基础的界面组件实现,而且涉及到了布局管理、事件处理、自定义控件开发等多个层面。本章旨在为读者提供一个全面的Swing设计概览,从理解Swing程序的基本组成和工作流程开始,为后面章节中对Swing组件的深入使用和高级配置打下坚实的基础。// 创建 JFrame 实例并设置标题// 设置窗口大小// 显示窗口。

weixin_31938351的博客 847

CST周期边界仿真:揭秘频率选择表面(FSS)单元设计全流程

本文详细解析了CST周期边界仿真在频率选择表面(FSS)单元设计中的应用全流程。从理论基础到工程实践,涵盖了求解器选择、几何建模、边界设置、端口优化等关键步骤,并提供了常见问题排查指南。通过CST仿真技术,工程师能够高效预测FSS的电磁特性,为实际应用提供可靠的设计依据。

weixin_30571465的博客 358

Swing程序设计

一、Swing 1、Swing概述 Swing是一个用于开发Java应用程序用户界面的开发工具包。以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。原来的AWT组件来自java.awt 包,当含有AWT组件的Java应用程序在不同的平台上执行时,每个平台的GUI组件的显示会有所不同,但是在不同平台,上运行使用Swing开发的应用程序时,就可以统一GUI...

king_weng的博客 1182

openwrt编译及第一个安装包教程

Date: 2017.03.14 Made:SuperDeverloper Email: na1206@live.com Target: For mt7688 based board说明:本人在学习过程中走了不少弯路,希望本文档能为后来者提供便利。欢迎复制和使用本文档。本文档记录了搭建openwrt编译环境以及快速创建ipk包(openwrt上的安装程序)。本文档在实际应用中做过几次修改,以帮

SuperDevloper的博客 1万+

Java基础知识笔记-11_1-图形程序设计

Java基础知识笔记-11_1-图形程序设计 11_1 图形程序设计 1 Swing概述 现在,Swing是不对等基于GUI工具箱的正式名字。它已是Java基础类库(Java Foundation Class, JFC)的一部分。完整的JFC十分庞大,其中包含的内容远远大于Swing GUI工具箱。 JFC特性不仅仅包含了Swing组件,而且还包含了一个可访问性API、一个2D API和...

aph85734的博客 326

手把手教你用OpenRouter免费模型:从DeepSeek V3.1到Llama 3.3的实战指南

本文详细介绍了如何利用OpenRouter平台免费接入DeepSeek V3.1、Llama 3.3等53个AI模型,提供从账号注册到实战应用的完整指南。通过文本摘要、客服对话生成和代码生成等具体案例,帮助开发者高效利用免费模型资源,提升AI应用开发效率。

weixin_29258297的博客 3558

CoaXPress FMC子卡:高速图像采集与FPGA原型开发实战指南

在机器视觉和工业检测领域,高速、可靠的数据传输是核心需求。CoaXPress(CXP)协议作为一种基于同轴电缆的高速接口标准,通过其高带宽、长距离传输和低延迟的特性,有效解决了传统接口在确定性实时传输方面的短板。其技术价值在于为海量图像数据提供了稳定、高效的物理层和数据链路层解决方案,广泛应用于半导体检测、医疗成像等对吞吐量有极致要求的场景。要实现CXP系统的快速原型验证,集成了高速SerDes接口和时钟管理的FMC子卡与FPGA开发板的组合成为关键。这种平台将复杂的硬件设计封装,让开发者能聚焦于图像处理算

weixin_31815843的博客 278

Java_Swing程序设计

当单元格显示区域的面积大于组件面积,或者开一个组件占用多个单元格时,显示组件可能不必占用所有显示区域,在这种情况下可以通过fill属性设置组件的填充方式。事件几乎都以对象来表示,它是某种事件类的对象,事件源(如按钮)会在用户做出相应的动作(如按钮被按下)时产生事件对象,如动作事件对应ActionEvent类对象,同时要编写一个监听器的类必须实现相应的接口,如ActionEvent类对应的是ActionListener接口,需要获取某个事件对象必须实现相应的接口,同时需要将接口中的方法一一实现。

weixin_45893480的博客 1174

评估篇| 大模型评测综述

1、基于人类的评测。与针对基础大语言模型的自动化评测不同,微调大语言模型的评测更加注重模型在实际应用场景中的表现,如与人类交互的自然度、对齐度等。2、基于模型的评测。例如,AlpacaEval 排行榜 基于由大语言模型合成的人类需求指令作为评测任务,然后收集待评估大模型的回应,并采用 GPT-4 等大语言模型作为评测员,将待评估大语言模型的输出与参考输出进行成对比较。1、大语言模型对评估设置极为敏感,包括问题的表述方式、提示样本的选择以及答案的解析策略等,这些细微的差别都可能导致评估结果的显著变化。

youbingchen的博客 637

java swing实验_JAVA SWING图形界面程序设计实验报告(附完整代码)

图形界面(GUI)程序设计一、课题内容和要求内容:设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。要求:学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法。通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。二、设计思路分析class RMBtoDollar:主类,调用主函数。class change:设置界面,...

weixin_35541322的博客 1514

ArcGIS实验教程——实验二十五:大型商场选址经典案例

本实验基于ArcGIS平台进行商场选址分析,综合考虑道路、居民点、停车场和已有商场四个影响因素。通过缓冲区分析建立各要素的影响范围(道路50米、居民点100米、停车场100米、已有商场500米),采用叠加分析中的相交和擦除运算确定最优选址区域。实验建立了区位评价体系,通过属性赋值(1/-1)和联合运算生成综合评价结果,并实现分级可视化显示。注意事项包括距离参数设置对结果的影响以及正确选择空间分析工具。该流程为商业选址提供了科学的GIS解决方案。

智慧空间实验室 1万+

AIGC实战——多模态模型DALL.E 2

DALL.E 2 是 OpenAI 提出的一个大规模文本生成图像模型,可以根据文本提示生成各种风格的逼真图像。它通过将预训练模型 CLIP 与 GLIDE 中的扩散模型架构相结合完成任务。它还具有其他应用,例如通过文本提示编辑图像和提供给定图像的变体。虽然它也有一些局限性,例如不一致的文本渲染和属性绑定,但 DALL.E 2 是仍然一个非常强大的AI模型,推动了生成模型的发展。

盼小辉丶的博客 1万+

Swing程序设计(1)概述及常用组件

该文介绍了Java中Swing组件的概述,以及常用组件的介绍。Swing程序是关于开发软件界面的一种轻量级Java组件。那什么是Swing组件?弹出对话框,窗体,设计按钮,标签等一系列操作都是通过Swing程序设计实现的。GUI是一种图形用户界面,诞生的目的是为了构建一个通用的图形用户界面,能够在所有平台上运行。在创建一个图形用户界面时,既要用到AWT组件(重量级组件),又要用到Swing组件(Swing组件是AWT的增强组件,不能代替AWT组件)。1.AWT组件位于 java.awt包。

weixin_74141222的博客 1783

使用R语言实现循环神经网络RNN进行文本生成

首先,让我们回顾一下循环神经网络(Recurrent Neural Networks,RNN)的基本概念。RNN是一种深度学习技术,特别适合处理序列数据,如时间序列和文本数据。RNN的关键特性是它的隐藏状态,这个状态可以捕捉到当前输入之前的信息。这使得RNN能够利用前面的信息来影响后续的输出,从而对序列数据进行有效的处理。

斌擎科技 725

第18章Swing程序设计

用户在选择列表框中的列表项时,既可以通过单击列表项的方式选择列表项,也可以通过“单击列表项+按住Shift键”的方式连续选择列表项,还可以通过“单击列表项+按住Ctrl键”的方式跳跃式选择列表项,并能够在非选择状态和选择状态之间反复切换。表格中的数据内容需要予以维护,如使用getValueAt()方法获得表格中某一个单元格的值,使用addRow()方法向表格中添加新的行,使用setValueAt()方法修改表格中某一个单元格的值,使用removeRow()方法从表格中删除指定行等。

2302_76545553的博客 1119

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java第十八章Swing程序设计

本篇文章,主要讲述了Swing概述,Swing常用窗体,常用布局管理器,常用面板,文字标签组件与图标,按钮组件,列表组件,文本组件,表格组件,事件监听器

好好活就是做有意义的事,做有意义的事就是好好活 1942

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java Swing 程序设计

目录Swing 概述Swing 特点Swing 包常用的 Swing 组件概述常用窗体JFrame 窗体JDialog 窗体 Swing 概述 GUI (图形用户界面)为程序提供图形界面,他最初的设计目的是为程序员构建一个通用的 GUI,使其能够在所有的平台上运行,但 Java 1.0 中基础类 AWT (抽象窗口工具箱)并没有达到这个要求,于是 Swing 出现了,它是 AWT 组件的增强组件,但是它并不能完全代替 AWT 组件,这两种组件需要同时出现在一个图形用户界面中。 Swing 特点 轻量级组

dadjhvd的博客 599

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: Java程序设计-JDBC编程教程
下一篇: Java程序设计--Swing基础(第2部分)
Jarvis!
博客等级 码龄6年 822粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值