JAVA GUI(图形用户界面)

article/2025/11/1 6:04:51

1.GUI概述

        目前,我们编写的程序都是基于控制台的程序GUI(Graphical User Interface)即图形用户界面,它能够使应用程序看上去更加友好

2.Swing概念

        位于javax.swingSwing是纯java组件,使得应用在不同平台中有相同的外观和行为

3.什么是组件,容器?

        java的图形用户界面的基本组成是组件,组件是一个以图形化的方式显示在屏幕上,并且能和用户进行交互的对象,组件不能单独的显示出来,所以必须放在一定的容器(container)中,才可以显示出来,容器可以添加多个组件,可以通过调用容器的add()方法,向容器中添加不同的组件

4.组件的分类:

        窗口(Frame)和面板(Panel)称为容器组件,文本输入框(JTextField),按钮(Button)称为功能组件

5.图形用户界面的编程步骤:

        我们在创建一个图形用户界面时首先要创建一个窗口,通常使用 JFrame在Swing程序中创建一个窗口,在窗口中可以添加面板,通常使用 Jpanel在已经创建好的窗口中再创建面板,一个窗户口中可以创建多个面板,在面板中可以添加不同的组件,也可以设置布局,我们一般使用嵌套的方式来实现布局

创建一个窗口的演示,及常用方法: 

public JFrameDemo1(){this.setSize(500,300);   //设置窗口的大小this.setLocationRelativeTo(null);  //设置窗口居中显示this.setTitle("登录界面");   //设置窗口标题this.setIconImage(new ImageIcon("qq微信图片_202131231028.jpg").getImage());   //设置窗口图标,需要将图片直接复制到项目下面,不能放在包中}
public static void main(String[] args) {JFrame jFrame = new JFrameDemo1();   //使用JFrame创建一个窗口对象
}

6.布局管理器

FlowLayout(流式布局)

BorderLayout(边界布局)

 

GridLayout(网格布局)

 

 GridBagLayout

 

Java GUI常用组件介绍 

 JLable(标签) //用来显示文字或图片
JPanel jp = new JPanel();

JtextField(文本框) //用来输入文字
JTextField accountText = new JTextField(20);
jp.add(accountText); 

JPasswordField(密码框) //用来输入密码
JLabel passwordLabel = new JLabel(“密码”);
passwordLabel.setFont(new Font(“宋体”,Font.BOLD,20));
jp.add(passwordLabel);
JPasswordField jPasswordField = new JPasswordField(20);
jp.add(jPasswordField);
 

JTextArea(多行文本框) /用来输入多行文字
JTextArea jTextArea = new JTextArea(5,20);
//滚动面板,可出现滚动条,使多行文本框大小不发生变化
JScrollPane jScrollPane = new JScrollPane(jTextArea);
jp.add(jScrollPane);
 

JMenuBar(菜单栏) //用来创建一个菜单栏
JMenuBar jMenuBar = new JMenuBar();
JMenu(菜单) //用来创建一个菜单
JMenu jMenu1 = new JMenu(“文件”);
JMenu jMenu2 = new JMenu(“编辑”);
jMenuBar.add(jMenu1);
jMenuBar.add(jMenu2);
JMenuItem(菜单项) //用来创建菜单项
JMenuItem jMenuItem = new JMenuItem(“新建”);
jMenu1.add(jMenuItem);
 

Java GUI事件处理 

到目前为止我们编写的只是图形用户界面,并没有特殊的功能,想要实现一定的功能必须进行事件处理
当用户与GUI组件进行交互,就会产生事件,比如: 按下一个按钮,点击鼠标等
一.事件处理思路:
一个源(事件源)产生一个事件(事件对象)并把它送到监听器那里,监听器只是简单地等待,直到它收到一个事件,一旦事件被接受,监听器将处理这些事件

一个事件源必须注册监听器以便监听器可以接受关于一个特定事件的通知

二.常用事件处理方式:

jButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String account = jButton1.getText();
String password = new String(jPasswordField.getPassword());
System.out.println(account);
System.out.println(password);
}
});

为鼠标添加事件监听
//添加鼠标事件:

jButton1.addMouseListener(new MouseAdapter() { //Adapter为适配器你,使用此方法,可以自己选择需要重写的事件类型,而不需要重写全部的方法
@Overridepublic void mouseClicked(MouseEvent e) {System.out.println(“鼠标点击”);}@Overridepublic void mousePressed(MouseEvent e) {System.out.println("鼠标按下");}@Overridepublic void mouseReleased(MouseEvent e) {System.out.println("鼠标释放");}@Overridepublic void mouseEntered(MouseEvent e) {System.out.println("鼠标移入");}@Overridepublic void mouseExited(MouseEvent e) {System.out.println("鼠标移出");}});

为键盘添加事件监听
//添加键盘事件

jTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
System.out.println(“键盘输入”+e.getKeyCode());
}@Overridepublic void keyPressed(KeyEvent e) {System.out.println("键盘按下");}@Overridepublic void keyReleased(KeyEvent e) {System.out.println("键盘释放");}});

 为重置按钮添加事件监听
//为重置按钮添加事件监听

jButton2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jTextField.setText(“”);
jPasswordField.setText(“”);
}
})

 


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

相关文章

Java——GUI(图形用户界面)

学习目标: 1、掌握布局管理器、AWT事件处理机制以及常用事件 2、熟悉Swing组件的使用 3、了解GUI开发的相关原理和技巧 GUI全称是GraphicalUser Interface,即图形用户界面。顾名思义,就是应用程序提供给用户操作的图形界面,包括…

Java GUI——Java图形用户界面

Java GUI——Java图形用户界面 1、Java GUI概述 1.1、GUI的前世今生 早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。如:Windows中的DOS窗口。后来,Apple公司率先在电脑的操作系统中实现了图…

APIGateway 简介

1. APIGateway是什么 APIGateway 即API网关,所有请求首先会经过这个网关,然后到达后端服务,有点类似于Facade模式。API网关作为系统接口对外的统一出口,可以减少调用方对服务实现的感知。 没有API网关时的结系统构如下图&#xff…

aws api gateway 创建一个REST API作为Amazon S3代理

你可能想把样本API导入为Amazon S3的代理,如样本API作为Amazon S3代理的OpenAPI定义所示。关于如何使用OpenAPI定义导入API的说明,请参阅使用OpenAPI配置REST API。 创建API资源来代表Amazon S3资源 我们将使用API的根(/)资源作…

【AWS系列】第七讲: AWS Serverless之API Gateway

目录 序言 一、基本介绍 1.1 RESTful API 1.2 HTTP API 1.3 WebSocket API 2、使用介绍 2.1 新建 2.2 选类型 2.3 点击构建 2.4 输入参数 2.5 点击创建 2.6 新建方法 2.6 方法测试 三、总结 序言 初步研究一下API Gateway,加油 一、基本介绍 Amazon AP…

一文搞懂 Service Mesh 和 API Gateway 关系和区别

公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 关于Service Mesh和API Gateway之间的关系,这个问题过去两年间经常被问起,社区也有不少文章和资料给出解答。其中不乏 Christian Posta 这样的网红给出过深度…

aws api gateway 构建一个私有的REST API

你将创建一个私有的REST API。客户只能从你的亚马逊VPC内访问该API。该API与公共互联网隔离,这是一个常见的安全要求。 首先,你使用AWS CloudFormation模板来创建一个亚马逊VPC、一个VPC端点、一个AWS Lambda函数,并启动一个亚马逊EC2实例&am…

AWS Lambda 搭配 Amazon API Gateway (REST API)

AWS Lambda 搭配 Amazon API Gateway (REST API) AWS Lambda 是一种无伺服器、事件推动的运算服务,而 Amazon API Gateway 可以让开发人员轻松地建立、发布、维护、监控和保护任何规模的 API,使用 API Gateway 可以建立 RESTful API 和 WebSocket API&a…

AWS API Gateway与AWS Lambda代理集成构建REST API

项目地址 https://github.com/JessicaWin/aws lambda分支为自动创建API Gateway REST API资源的部署方式apigateway分支为自定义API Gateway REST API资源的部署方式 创建Lambda Handler 创建父模块 使用idea创建一个maven工程: File->New->Project 在左侧菜单栏中…

基于 Amazon API Gateway 的跨账号跨网络的私有 API 集成

一、背景介绍 本文主要讨论的问题是在使用 Amazon API Gateway,通过 Private Integration、Private API 来完成私有网络环境下的跨账号或跨网络的 API 集成。API 管理平台会被设计在单独的账号中(亚马逊云科技提供的是多租户的环境),因为客观上不同业务…

AWS Lambda 搭配 Amazon API Gateway (HTTP API)

AWS Lambda 搭配 Amazon API Gateway (HTTP API) AWS Lambda 是一种无伺服器、事件推动的运算服务,而 Amazon API Gateway 可以让开发人员轻松地建立、发布、维护、监控和保护任何规模的 API,使用 API Gateway 可以建立 RESTful API 和 WebSocket API&a…

AWS API gateway api CORS错误处理方法

我们开发了一个 AWS lambda 函数,然后我们使用 AWS API gateway服务将它上线。 我们已经测试 API 并验证它是否按照我们的预期工作,看起来真的很棒。 现在我们准备好将 API 端点发送到我们的前端并从网站调用它。 一旦我们这样做了,我们就…

API管理的正确姿势--API Gateway

转载本文需注明出处:微信公众号EAWorld,违者必究。 数字化生态,以创新客户体验为核心,所有我们身边能感知到的变化都来自于渐近的创新。这些创新需要试错,需要不断的升级,并且创新往往与我们熟知的功能分离…

AWS——API Gateway

文章目录 APIHTTP API构建操作*路由*授权集成部署——阶段 REST API构建操作*资源*阶段授权方 自定义域名ACM证书?API 映射 VPC链接REST APIHTTP API子网?安全组? API 选择创建API的类型时,创建的是对公访问的gateway方式&#x…

使用AWS的API Gateway实现websocket

问题 最近业务上面需要使用到WebSocket长连接来解决某些业务场景。 一图胜千言 注意:这里承担WebSocket服务器的是AWS API Gateway;后面的EC2业务服务,其实都是REST接口服务。 这里主要关注API Gateway和REST业务服务怎么实现API Gateway要…

使用API Gateway

使用API Gateway 转自:http://www.open-open.com/lib/view/open1436089902667.html 它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择。 当你决定将应用作为一组微服务时,需要决定应用客户端…

aws api gateway 创建

在这个章节中,你将创建一个无服务器API。无服务器API让你专注于你的应用,而不是花时间配置和管理服务器。 首先,你使用AWS Lambda控制台创建一个Lambda函数。接下来,你使用API网关控制台创建一个HTTP API。然后,你调用…

微服务实践(二):使用API Gateway

【编者的话】本系列的第一篇介绍了微服务架构模式。它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择。 点击这里获取云原生干货 当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交互。…

AWS API GATEWAY的使用

AWS API GATEWAY 文章目录 1、Create Vpc endpoint2、Target Groups与Load Balancer2.1、Create target type为Instances的Target Groups2.2、Create Application Load Balancer2.3、Create target type为Application Load Balancer的Target Groups2.4、Create Network Load Ba…

API Gateway简介

Amazon API Gateway可以让开发人员创建、发布、维护、监控和保护任何规模的API。你可以创建能够访问 AWS、其他 Web 服务以及存储在 AWS 云中的数据的API。 API Gateway没有最低使用成本,我们用多少服务内容就花费多少。 比如在最新的A Cloud Guru的serverless 会…