我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java Swing基础使用教程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java Swing基础使用教程

Java Swing是Java语言中的一个GUI工具包,它提供了一系列的组件和容器,可以用于创建各种桌面应用程序。本教程将介绍Java Swing的基本概念、组件和容器,以及如何使用它们来创建一个简单的GUI应用程序。

一、Swing的基本概念

  1. 组件(Component):Swing中的组件是GUI界面中的基本元素,例如按钮、文本框、标签等。

  2. 容器(Container):Swing中的容器是一种特殊的组件,它可以包含其他组件,例如面板、框架等。

  3. 布局管理器(Layout Manager):Swing中的布局管理器用于控制组件在容器中的位置和大小,常用的布局管理器有FlowLayout、BorderLayout、GridLayout等。

  4. 事件(Event):Swing中的事件是用户与组件交互时发生的动作,例如点击按钮、输入文本等。

  5. 监听器(Listener):Swing中的监听器用于监听事件的发生,并执行相应的操作,例如点击按钮时执行某个方法。

二、Swing的组件

  1. 标签(JLabel):用于显示文本或图像。
JLabel label = new JLabel("Hello, World!");
  1. 按钮(JButton):用于触发事件。
JButton button = new JButton("Click me!");button.addActionListener(new ActionListener() {    public void actionPerformed(ActionEvent e) {        System.out.println("Button clicked!");    }});
  1. 文本框(JTextField):用于输入文本。
JTextField textField = new JTextField(20);String text = textField.getText();
  1. 复选框(JCheckBox):用于选择一个或多个选项。
JCheckBox checkBox1 = new JCheckBox("Option 1");JCheckBox checkBox2 = new JCheckBox("Option 2");
  1. 单选框(JRadioButton):用于选择一个选项。
JRadioButton radioButton1 = new JRadioButton("Option 1");JRadioButton radioButton2 = new JRadioButton("Option 2");ButtonGroup group = new ButtonGroup();group.add(radioButton1);group.add(radioButton2);
  1. 下拉框(JComboBox):用于选择一个选项。
String[] options = {"Option 1", "Option 2", "Option 3"};JComboBox comboBox = new JComboBox(options);String selectedOption = (String) comboBox.getSelectedItem();
  1. 列表框(JList):用于显示一个列表。
String[] options = {"Option 1", "Option 2", "Option 3"};JList list = new JList(options);String selectedOption = (String) list.getSelectedValue();
  1. 滑动条(JSlider):用于选择一个数值。
JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 50);int value = slider.getValue();
  1. 进度条(JProgressBar):用于显示一个进度。
JProgressBar progressBar = new JProgressBar();progressBar.setValue(50);

三、Swing的容器

  1. 面板(JPanel):用于包含其他组件。
JPanel panel = new JPanel();panel.add(new JLabel("Hello, World!"));panel.add(new JButton("Click me!"));
  1. 框架(JFrame):用于创建一个窗口。
JFrame frame = new JFrame("My Application");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);frame.setVisible(true);
  1. 对话框(JDialog):用于创建一个对话框。
JDialog dialog = new JDialog(frame, "My Dialog", true);dialog.setSize(200, 100);dialog.setVisible(true);

四、Swing的布局管理器

  1. 流式布局(FlowLayout):按照组件添加的顺序排列组件。
JPanel panel = new JPanel(new FlowLayout());panel.add(new JLabel("Name:"));panel.add(new JTextField(20));panel.add(new JButton("Submit"));
  1. 边界布局(BorderLayout):将容器分为5个区域,分别为北、南、东、西和中。
JPanel panel = new JPanel(new BorderLayout());panel.add(new JLabel("North"), BorderLayout.NORTH);panel.add(new JLabel("South"), BorderLayout.SOUTH);panel.add(new JLabel("East"), BorderLayout.EAST);panel.add(new JLabel("West"), BorderLayout.WEST);panel.add(new JLabel("Center"), BorderLayout.CENTER);
  1. 网格布局(GridLayout):将容器分为若干行若干列的网格。
JPanel panel = new JPanel(new GridLayout(2, 2));panel.add(new JLabel("1"));panel.add(new JLabel("2"));panel.add(new JLabel("3"));panel.add(new JLabel("4"));

五、下面是一个使用Swing创建的简单GUI应用程序的完整示例代码:

import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyApplication {    public static void main(String[] args) {        JFrame frame = new JFrame("My Application");        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setSize(400, 300);        JPanel panel = new JPanel(new GridLayout(3, 2));        panel.add(new JLabel("Name:"));        panel.add(new JTextField(20));        panel.add(new JLabel("Age:"));        panel.add(new JTextField(20));        panel.add(new JLabel("Gender:"));        String[] genders = {"Male", "Female"};        JComboBox comboBox = new JComboBox(genders);        panel.add(comboBox);        JButton button = new JButton("Submit");        button.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                String name = ((JTextField) panel.getComponent(1)).getText();                String age = ((JTextField) panel.getComponent(3)).getText();                String gender = (String) comboBox.getSelectedItem();                JOptionPane.showMessageDialog(frame, "Name: " + name + "\nAge: " + age + "\nGender: " + gender);            }        });        frame.add(panel, BorderLayout.CENTER);        frame.add(button, BorderLayout.SOUTH);        frame.setVisible(true);    }}

这个应用程序包含一个窗口,窗口中包含一个面板和一个按钮。面板中包含3个标签、3个文本框和一个下拉框。当用户点击按钮时,程序会获取文本框和下拉框中的值,并弹出一个对话框显示这些值。

来源地址:https://blog.csdn.net/qq_36901092/article/details/130075998

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java Swing基础使用教程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScriptTypescript基础使用教程

TypeScript是Microsoft(微软)开发的一种开源编程语言,它充分利用了JavaScript原有的对象模型,并在此基础上进行了扩充,TypeScript设计目标是开发大型应用,它可以编译成纯JavaScript,编译出来的JavaScript可以运行在任何一种JS运行环境中
2022-12-08

Vue electron零基础使用教程

Electron也可以快速地将你的网站打包成一个原生应用发布,下面这篇文章主要给大家介绍了关于Vue和React中快速使用Electron的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
2022-11-13

java基础教程之接口

定义:接口就是多个类的共有规范(里面的抽象方法),是一种引用数据类型。小提示:基本数据类型包括数值型(整数和浮点数)、字符型、布尔型。格式:public interface 接口名称{//接口内容}备注:接口.java编译后仍然是接口.class接口包含的内容
java基础教程之接口
2019-04-11

Java技术教程.基础篇

Java技术教程.基础篇: Detail:Java技术教程.基础篇[@more@]
2023-06-03

Java学习教程:Java基础——反射

什么是反射?JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。例如:我们在开发的过程当中,
2023-06-03

Android Studio使用教程(四):Gradle基础

其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧。 什么是Gradle? Gradle是
2022-06-06

IDEA 2022 中的Lombok 使用基础教程

​Lombok是使用java编写的一款开源类库。其主作用是使用注解来代替一些具有格式固定,没有过多技术含量的编码工作,这篇文章主要介绍了IDEA 2022 中的Lombok 使用基础教程,需要的朋友可以参考下
2022-12-24

python 基础教程之Map使用方法

Python Map Map会将一个函数映射到一个输入列表的所有元素上。Map的规范为:map(function_to_apply, list_of_inputs) 大多数时候,我们需要将列表中的所有元素一个个传递给一个函数,并收集输出。
2022-06-04

android基础教程之context使用详解

在android中有两种context,一种是application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。 区别联系:代码如下:public class
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录