Java Gui(Graphical User Interface)(图形用户界面)(Java Gui 篇1)

2023-10-24 02:40

本文主要是介绍Java Gui(Graphical User Interface)(图形用户界面)(Java Gui 篇1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    Gui全称是Graphical User Interface,即图形用户界面,在一个系统中,拥有良好的人机界面是最重要的,Windows以其良好的人机操作界面在操作系统中占有绝对的统治地位,用户体验逐渐成为关注的重点,目前几乎所有的程序设计语言都提供了GUI设计功能,Java提供了丰富的类库用于GUI设计,这些类分别位于java.awt包和javax.swing包,简称为AWT和Swing.

    AWT 是sun公司提供的用于图形界面编程(GUI)的类库,基本的AWT库处理用于界面元素时,是把这些元素的创建和行为委托给每个目标平台(Windows、Unix等)的本地GUI工具进行处理,实际上它所创建和使用的界面或按钮具有本地外观和感觉,没有做到完全的跨平台。

    Swing是在AWT 基础上发展而来的轻量级组件间,与AWT 相比不但改进了用户界面,而且所需系统资源更少,Swing是纯java的组件,完全实现了跨平台,Swing会用到AWT中的许多知识。

AWT概述:

      AWT(Abstract Window Toolkit)中文译为抽象窗口工具包,该包提供了一套与本地图形界面进行交互的接口,是Java提供用来建立和设置图形用户界面的基本工具。

     在AWT中有两个抽象基类将组件分为两大类,两个抽象基类分别为MenuComponent类和Component类:

     MenuComponent类是所有与菜单相关的抽象基类:   

         

Component类是除菜单外其他AWT组件的抽象基类: 

     

其中Component类的子类Container表示容器,容器是用来存放其他的组件,有两种类型的容器,分别是Window和Panel。

 1.Window:

     Window 是不依赖于其他容器而独立存在的容器,Window有两个子类:Frame类和Dialog类,Frame类带有标题,可以调整大小,Dialog类可以被移动,但不能改变大小:

代码示例

package com.huawei.awt;
import java.awt.*;public class TestWindow {public static void main(String[] args) {//创建Frame对象Frame f=new Frame("Frame窗口");//设置长和宽:f.setSize(300,200);//设置为可见:f.setVisible(true);//创建Dialog对象,指定该对话框依赖的窗口Dialog dialog=new Dialog(f,"Dialog窗口");dialog.setSize(100,100);dialog.setVisible(true);}
}

运行结果:

   运行程序弹出两个窗口:一个是Frame窗口,一个是Dialog窗口。该示例代码中先创建了Frame窗口,设置了长和宽,参数是左上角坐标,并且设置为可见,后创建了Dialog窗口,指定对话依赖框Frame窗口,设置大小和可见,两个窗口创建成功。

   运行弹出两个窗口后,单击关闭按钮是无法关闭窗口的,在命令行控制台下按Ctrl+F2 组合键终止程序,两个窗口自动关闭,如果希望单击按钮后窗口关闭,必须使用Frame 注册 WindowListenner监听器。

 

2.Panel

      Panel不能单独存在,只能存在于其他容器(Window或其子类)中,一个Panel对象代表了一个长方形的区域,在这个区域中可以容纳其他的组件。接下来通过一个案例类演示Panel的使用:

      代码:

   

package com.huawei.awt;import java.awt.*;public class TestPanel {public static void main(String[] args) {//创建Frame对象Frame f=new Frame("Frame窗口");Panel p=new Panel();p.add(new Button("Button"));//   p.setSize(50,50);f.add(p);f.setSize(300,200);f.setVisible(true);}
}

运行程序弹出了Frame窗口,里面包含一个按钮,先创建了Frame窗口,然后创建Panel对象,在Panel对象中创建一个按钮,然后将Panel对象添加到Frame窗口中,设置窗口的长和和宽切可见。在这里,Panel充斥了整个Frame空间,Panel容器中有一个Button按钮。

    

 

 

 

 

 

 

 

 

 

 

这篇关于Java Gui(Graphical User Interface)(图形用户界面)(Java Gui 篇1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/272181

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav