Java-GUI快速入门

article/2025/9/23 12:27:57

目录

1.GUI的介绍

1.1GUI概述

1.2Java提供了三个主要包做GUI开发:

2.Swing组件

2.1顶层容器介绍

2.2中间容器

2.3基本组件

3.API介绍

3.1Jframe组件

3.2Panel组件

3.3功能组件

4.案例代码

4.1UI介绍

4.2代码

5.插件介绍WindowBuilder

5.1搜索WindowBuilder

5.2.在eclipse的中安装

5.3WindowBuilder插件的使用


1.GUI的介绍

1.1GUI概述

  早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。就是到现在,我们还可以依稀看到它们的身影:在Windows中开个DOS窗口,就可看到历史的足迹。后来,Apple公司率先在电脑的操作系统中实现了图形化的用户界面(Graphical User Interface,简称GUI),但由于Apple公司封闭的市场策略,自己完成电脑硬件、操作系统、应用软件一条龙的产品,与其它PC不兼容。这使得Apple公司错过了一次一统全球PC的好机会。
  后来,Microsoft公司推出了风靡全球的Windows操作系统,它凭借着优秀的图形化用户界面,一举奠定了操作系统标准的地位。这也造就了世界首富---比尔.盖茨和IT业的泰山北斗微软公司。
  在这图形用户界面风行于世的今天,一个应用软件没有良好的GUI是无法让用户接受的。而Java语言也深知这一点的重要性,它提供了一套可以轻松构建GUI的工具。在本章和下一章中,我们将向你充分证明这一点。

1.2Java提供了三个主要包做GUI开发:

java.awt 包 – 主要提供字体/布局管理器

javax.swing 包[商业开发常用] – 主要提供各种组件(窗口/按钮/文本框)

java.awt.event 包 – 事件处理,后台功能的实现。

 

2.Swing组件

如图所示:swing组件主要可分为三个部分,后面会详细介绍

(1)顶层容器::常用有JFrame,JDialog

(2)中间容器:JPanel,JOptionPane,JScrollPane,JLayeredPane 等,主要以panel结尾。

(3)基本组件:JLabel,JButton,JTextField,JPasswordField,JRadioButton 等。

2.1顶层容器介绍

#         

组件         

描述

1         

JFrame         

一个普通的窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器

2         

JDialog         

对话框

2.2中间容器

#         

组件         

描述

1         

JPanel (相当于div)

一般轻量级面板容器组件(作为JFrame中间容器)

2         

JScrollPane         

带滚动条的,可以水平和垂直滚动的面板组件

3         

JSplitPane         

分隔面板

4         

JTabbedPane         

选项卡面板

5         

JLayeredPane         

层级面板

 

2.3基本组件

#         

组件         

描述

1         

JLabel

标签

2         

JButton         

按钮

3         

JRadioButton         

单选按钮

4         

JCheckBox         

复选框

5         

JToggleButton         

开关按钮

6         

JTextField         

文本框

7         

JPasswordField         

密码框

8         

JTextArea         

文本区域

9         

JComboBox         

下拉列表框

10         

JList         

列表

11         

JProgressBar         

进度条

12         

JSlider         

滑块

 

3.API介绍

3.1Jframe组件

JFrame frame = new JFrame("HelloWorldSwing");

  // 创建及设置窗口

frame.setDefaultLookAndFeelDecorated(true);

 // 确保一个漂亮的外观风格

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

设置默认的关闭窗口

frame.pack();

   // 显示窗口

frame.setVisible(true);

//这个最好放在最后,不然会出现视图看不到的情况

frame.setBounds(600, 300, 500, 400);

设置窗口的x,y位置,窗口大小x,y.

frame.add(panel)

添加panel面板到容器

frmIpa.getContentPane().add(panel, BorderLayout.NORTH);

添加面板到主窗口,布局在北面

frmIpa.getContentPane().add(scrollPane, BorderLayout.CENTER);

添加可滚动面板到主窗口,布局在中间

 

 

3.2Panel组件

Jpanel

JPanel panel = new JPanel();

创建面板容器

panel.add(button);

添加按钮到面板

JOptionPane

JOptionPane.showMessageDialog(panel3, "没有选中任何文件", "提示", JOptionPane.WARNING_MESSAGE);

弹出提示框到panel容器

JScrollPane

JScrollPane scrollPane = new JScrollPane();

创建可滚动面板

scrollPane.setViewportView(textArea);

设置面板内容

 

3.3功能组件

JLabel

 JLabel label = new JLabel("Hello World");

添加标签

Jbutton

JButton button = new JButton("选择文件");

创建按钮

button.addActionListener(new ActionListener() {}

添加操作按钮后的事件监听器

JFileChooser

 jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );

// 设置文件对话框

jfc.showSaveDialog(frmIpa);

// 显示打开的文件对话框

jfc.getSelectedFile();

// 获取选择器选择的文件

JTextArea

JTextArea textArea = new JTextArea();

创建文本区域

textArea.setText(content);

设置内容

4.案例代码

这个UI是用来读取ipa文件info.plist中的信息,有需要的朋友可以去下面链接看看

https://blog.csdn.net/qq_42035966/article/details/82086462

4.1UI介绍

主窗口Jframe,

    Jframe添加2个Jpanel面板,

         北面Jpanel添加JButton,JButton打开JFileChooser文件对话框。

         中间JScrollPane添加JTextArea文本区域,文本区域按各自业务逻辑来处理。

 

4.2代码

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;public class IpaUI {public static JFrame frmIpa;public JTextArea textArea;public IpaUI() {// 窗口框架frmIpa = new JFrame();frmIpa.setTitle("ipa工具类");frmIpa.setBounds(600, 300, 500, 400);frmIpa.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 面板1JPanel panel = new JPanel();frmIpa.getContentPane().add(panel, BorderLayout.NORTH);JButton button = new JButton("选择文件");// 监听button的选择路径button.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 显示打开的文件对话框JFileChooser jfc = new JFileChooser();jfc.showSaveDialog(frmIpa);try {// 使用文件类获取选择器选择的文件File file = jfc.getSelectedFile();////这里是我的业务需求,各位不必照抄
//					String content = IpaService.getIpaInfoMap(file.toString());
//					textArea.setText(content);} catch (Exception e2) {JPanel panel3 = new JPanel();JOptionPane.showMessageDialog(panel3, "没有选中任何文件", "提示", JOptionPane.WARNING_MESSAGE);}}});panel.add(button);// 可滚动面板JScrollPane scrollPane = new JScrollPane();frmIpa.getContentPane().add(scrollPane, BorderLayout.CENTER);textArea = new JTextArea();scrollPane.setViewportView(textArea);//这个最好放在最后,否则会出现视图问题。frmIpa.setVisible(true);}}
​

 

5.插件介绍WindowBuilder

    总算骗大家看完文章,其实最方便的方法是用插件制作,当然大家先了解完代码原理是最好的哈哈。eclispe安装windowbuilder有两种方式,一种是离线安装,一种是在线安装。

5.1搜索WindowBuilder

找到http://www.eclipse.org/windowbuilder/download.php

根据自己的eclipse版本选择,因为我的是4.8版本了,所以只能在线安装。

 

5.2.在eclipse的中安装

(1)选择Help - Eclipse MarketPlace

(2) 在商店中搜索windowbuilder ,会出现WindowBuilder插件

(3)一路下一步,进行安装,等待安装结束重启eclipse即可。

 

5.3WindowBuilder插件的使用

(1)在Eclipe菜单中File - New -Other ,选中WindowBuilder - Swing Designer - JFrame。

(2)打开文件,点击左下角的Design进入视图模式,左边对应代码模式

左上是整个视图结构,左下是单个结构的属性,可以在这里修改窗口的一些属性,

中间是整个swing的界面按钮,前面第二点介绍过的,这里就不说了,

右边就是视图了,可以点击按钮往视图里面添加,如下图。


http://chatgpt.dhexx.cn/article/qB2aGEju.shtml

相关文章

Python GUI 开发工具

Python Tkinter教程(GUI图形界面开发教程):http://c.biancheng.net/python/tkinter/ PyQt5教程:http://code.py40.com/face 作为 Pyhon 开发者,我们迟早都会碰到 图形用户界面(GUI)应用 开发任…

GUI基础知识

GUI编程 1,简介 图形用户界面,Graphical User Interface,又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。GUI的核心技术:AWT,Swing 2,Awt 2.1 AWT简介 AWT:Abstract Window Toolkit,抽象窗口工具包&#xff0c…

Java——GUI编程

GUI编程 1、简介2、AWT(抽象的窗口工具)AWT简介1、Frame的使用:2、面板 panel3、布局管理器3.1 流式布局3.2 东西南北中3.3 表格布局 4、事件监听5、文本框(TextField)的监听6、制作简易计算器7、画笔8、鼠标监听9、窗…

GUI编程详解

1.简介 GUI的核心技术:Swing AWT GUI缺点: 1. 界面不美观2. 需要jre环境为什么要学习GUI? 可以写出自己想要的工具。实际工作中可能需要维护swing界面了解MVC和监听。 2.AWT 2.1相关知识 介绍: 包含了很多类和接口。用于图形…

python GUI入门(一入门介绍)

CUI: 命令行界面,conmmand line user Interface GUI: Graphical User Interface 1、python常用的主要跨平台图形用户界面库 1.1 Tkinter python自带的GUT库,“官方支持”,无须进行额外的下载安装,只要导入tkinter包即可使用。 …

GUI系统

1.gui概念 2.OSD实现 1.概念 OSD是on-screen display的简称,即屏幕菜单式调节方式。一般是按Menu键后屏幕弹出的显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色彩、模式、几何形状等进行调整,从而达到最佳的使用…

Python之GUI编程

一、常用的GUI库 Tkinter:tkinter(Tk interface)是Python的标准GUI库,支持跨平台的GUI程序开发,tkinter适合小型的GUI程序编写,也特别适合初学者学习GUI编程。wxPython:wxPython是比较流行的GU…

快速入门GUI-guider

快速入门GUI-guider(本教程基于LVGL-v8.20) 前言一、什么是GUI Guider?二、使用教程1.下载软件2.熟悉LVGL各种组件3.新建工程4.上手体验5.代码移植 完结撒花 前言 本教程要基于有移植好的LVGL—8.2.0的代码为基础,对于不懂怎么移…

Python-GUI界面设计(tkinter)

文章目录 前言一、函数方法二、导入三、窗口[1]. 创建[2]. 标题[3]. 大小[4]. 背景[5]. 删除 四、按钮[1]. 创建[2]. 放置(绝对位置)[3]. 放置(相对位置)[4]. 代码 五、单行文本[1]. 创建[2]. 代码 六、多行文本[1]. 创建[2]. 获取…

GUI编程

一,简介 GUI编程(Graphical User Interface),即用户图形界面编程。 GUI淘汰原因:界面不够美观,需要jre环境。 学习GUI的好处:1,为后期学习MVC架构打好基础;2,了解监听;3&…

[java/初学者/GUI编程]GUI界面设计——界面组件类

前言 GUI,即图形用户界面,其英文全称是Graphics User Interface。 它是基于图形的界面,windows就是一个图形用户界面的操作系统,而DOS是基于命令提示符的操作系统,GUI编程就是编出一个图形用户界面的软件,它使用图形的方式,以菜…

QT GUI编程

QT GUI编程 一、QT基础1.1、QT简介1.2、QT应用范围1.3、开发环境1.4、QT软件下载安装教程1.5、QT内存管理1.6、第一个QT程序1.7、打印跟踪1.8、QT工程示例1.9、QT 图形编程1.10、信号与槽1.11、QT实现心仪的计算器1.12、将QT文件单独提取出来自由使用 二、窗口部件2.1、常用类介…

GUI(图形界面编程)

(1)GUI 与CLI GUI •Graphical User Interface(图形用户接口)。 •用图形的方式,来显示计算机操作的界面,这样更方便更直观。 CLI •Command line User Interface (命令行用户接口) •就是常见的Dos命令行操作。 •需要…

GUI概述

GUI简介 GUI(Graphics User Interface),中文名称为图形用户界面,是指采用图形方式显示的计算机操作用户界面,是计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。 早期,电脑向用户提…

GUI(图形用户界面)

GUI全称是Graphical User Interface ,即图形用户界面。GUI就是可以让用户直接操作的图形界面,包括窗口、菜单、按钮、工具栏和其他各种图形界面元素。 1.Swing概述 Swing是Java语言开发图形化界面的一个工具包。它以抽象窗口工具包(AWT&…

虚拟存储技术

一.实现内存扩充的技术: (1)覆盖技术: 在程序运行中,在不同时刻把同一个存储区分配给不同程序段和数据段,实现存储区共享。适用于连续存储(单一连续区分配,分区) 如图B…

浅谈进程地址空间与虚拟存储空间

早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用…

虚拟存储器系统

技术来源 来源1:来源于服务器中虚拟化feature的实现,不同的程序需要共享一片硬件资源,包括计算资源与存储资源;如何有效且安全的共享存储器就是关键。来源2:消除有限的主存容量对大的程序的限制。远古时代&#xff0c…

虚拟存储器/虚拟内存

器为每个程序提供了一个大的、一致的、私有地址空间。 三个重要功能: 将主存看成是磁盘的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据。为每个进程提供了一致的私有空间。保护每个进程的地址空间不被其他进程破…

5.虚拟存储管理

虚拟存储管理 文章目录 虚拟存储管理1.虚拟存储器概述1.1常规存储管理方式的特征和局部性原理1.2虚拟存储器的定义与特征1.3虚拟存储器的实现方法 2.请求分页存储管理方式2.1请求分页存储管理方式基本思想2.2请求分页中的硬件支持2.3内存分配策略和分配算法2.4调页策略 3.页面置…