Java AWT基础—创建一个简单的应用程序

目录

背景:

代码展示:

代码详解:

AWT和Swing的区别:

总结: 


背景:

在Java中,AWT(Abstract Windows Toolkit)是最早的图形月用户界面(GUI1)工具包,虽然随着Swing的出现,AWT的使用有所减少,但了解AWT基础知识对于理解Java GUI编程仍然非常重要。本文将通过一个简单的示例,展示如何使用AWT创建一个基本的窗口应用。

代码展示:

import java.awt.*;  public class TestFrame {  // 定义main方法,这是Java程序的入口点  public static void main(String args[]) {   // 创建一个新的Frame对象,并设置其标题"My First Test"  Frame f = new Frame("My First Test");    // 设置窗口在屏幕上的位置  f.setLocation(300, 300);  // 设置窗口的大小为170像素宽和100像素高  f.setSize(170, 100);    // 设置窗口的背景颜色为蓝色  f.setBackground(Color.blue);  // 设置窗口不可调整大小  f.setResizable(false);  // 使窗口可见  f.setVisible(true);    }    
}

代码详解:

1.导入java.awt包,它包含了AWT框架的所有类和接口

import java.awt.*;

2.定义名为TestFrame的公共类,这是程序的主要组成部分。

public class TestFrame {  // ...  
}

3. min方法是java程序的入口点。当程序运行时,首先执行main方法中的代码

public static void main(String args[]) {   // ...  
}

4.创建Frame对象(代表一个窗口),并设置了其标题"My First Test"

Frame f = new Frame("My First Test");

5.设置窗口位置,通过调用setLocaton,设置了窗口在屏幕上的位置,(像素为单位)。

f.setLocation(300, 300);

6.设置窗口大小,通过调用setSize方法

f.setBackground(Color.blue);

7.设置窗口背景颜色

f.setBackground(Color.blue);

8.设置窗口是否可调整大小,通过调用setResizable

f.setResizable(false);

9.使窗口可见,调用setVisible方法 

f.setVisible(true);

AWT和Swing的区别:

特性AWTSwing
基础- Java GUI的早期版本- 基于AWT的扩展和增强
设计理念- 基于对象的设计理念- 基于组件的设计理念
组件丰富性- 提供较少的组件- 提供更多的组件和更高的可定制性
性能- 相对较低,因为直接调用本地GUI库- 更好,使用双缓冲技术减少闪烁和重绘问题
可用性- 功能相对较少- 提供更多的组件和更好的可用性
跨平台性- 可以跨平台,但外观和感觉可能不同- 更好的跨平台性,因为使用了操作系统的本地界面(Look and Feel)
更新和维护- 已经逐渐被废弃,不再进行更新和维护- 是Java SE的一部分,持续更新和维护
编程风格- 类似于本地GUI编程- 更符合Java编程风格,更易于理解和使用
高级功能- 不支持一些高级功能,如动画效果、3D绘图和多媒体- 支持更多高级功能
示例类Frame(窗口类)JFrame(窗口类)
布局管理器- 类似BorderLayoutFlowLayout- 包括AWT的所有布局管理器,并增加了更多选择
事件处理- 使用AWT的事件处理模型- 使用Swing的事件处理模型,通常与AWT兼容但更强大
样式和外观- 依赖于本地GUI库的样式和外观

- 可以选择使用本地样式(如Metal、System等)或自定义样式

选择。

总结: 

我们展示了如何使用java AWT创建一个简单的窗口应用。虽然AWT已经被Swing所取代,但了解AWT的基础知识仍然有助于我们更好地理解Java GUI编程的基本概念。总的来说,Swing在AWT的基础上进行了许多改进和增强,提供了更多的功能和更好的性能,因此在开发新的Java GUI应用程序时,Swing通常是更好的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/36282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百元蓝牙耳机哪款性价比高?盘点性价比高的百元蓝牙耳机品牌

在如今快节奏的生活中,蓝牙耳机已经成为人们日常生活中不可或缺的配件。然而,市面上百元左右性价比高的蓝牙耳机琳琅满目,消费者往往难以选择到一款质量好、耐用的产品。我们希望可以为广大消费者提供一些参考和建议,接下来&#…

基于51单片机电子称—串口显示

基于51单片机电子称设计 (仿真+程序) 功能介绍 具体功能: 1.矩阵键盘组成按键,输入价格结算、打印; 2.用滑动变阻器和ADC0832模拟称重; 3.LCD1602可以显示重量、单价和总价; 4.…

spring03-aop

spring aop: 只能增强方法,,spring aop 底层是动态代理,,,动态代理的本质是生成一个子类,,重写这个方法,进行增强,,所以final修饰的类和方法,&…

0121__线程 thread_once

线程 thread_once_thraed once-CSDN博客

QCOM 平台增加分区流程 及 注意事项

本文以qcom msm8909 为例增加carrier分区,留文以备后忘: 1、修改分区表partition.xml diff --git a/non_hlos/common/config/emmc/partition.xml b/non_hlos/common/config/emmc/partition.xml index 74ca036..11f38bc 100755 --- a/non_hlos/common/con…

家用洗地机十大品牌什么牌子好用?2024十大爆款洗地机分享

在快节奏的生活中,清洁家居成为了一项繁琐却必不可少的任务。而洗地机的出现,无疑给忙碌的都市人带来了福音。选择一款优质的洗地机可以大大提升我们清洁的效率,改善我们的生活品质。那么,哪家洗地机清洁力最强,更适合…

ONLYOFFICE 桌面编辑器 8.1 版发布:全面提升文档处理效率的新体验

文章目录 什么是ONLYOFFICE ?ONLYOFFICE 桌面编辑器 8.1 发布:新功能和改进功能强大的 PDF 编辑器幻灯片版式功能从右至左语言支持多媒体功能增强无缝切换工作模式其他改进和优化总结 什么是ONLYOFFICE ? https://www.onlyoffice.com/zh/off…

JavaScript的学习之图片的切换

目录 一、寻找素材 二、编写简单的静态html页面 代码示例 效果展示 三、JS功能的实现 JS代码 完整代码 效果展示 一、寻找素材 随便去网上找几张图片素材 二、编写简单的静态html页面 代码示例 <!doctype html> <html><head><meta charset"…

svn明明都在环境变量中添加了,但还是无法在cmd中生效

svn明明都在环境变量中添加了&#xff0c;但还是无法在cmd中生效 cmd显示原因问题解决 cmd显示 svn不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件 原因 安装svn一直点下一步下一步…&#xff0c;没有勾选command line client。 问题解决 1.按下winx&…

Linux CMakeLists编写之静态库

目录 1 概述2 文件命名3 实例4 代码分析 1 概述 编译工具有很多(make/cmake/BJam)。cmake是跨平台&#xff0c;使用cmake编译需要编写CMakeLists.txt。本文编写CMakeLists.txt来生成C静态库。 2 文件命名 文件命名为CMakeLists.txt,是一个文本文件,可以使用任何编辑器编辑。 …

如何加密电脑文件?电脑重要文件怎么加密?

在电脑中&#xff0c;我们会存储很多重要文件&#xff0c;包括个人隐私视频、照片&#xff0c;企业机密数据&#xff0c;工作数据等。为了避免重要文件泄露&#xff0c;我们需要加密保护电脑文件。下面我们就来了解一下电脑文件怎么加密&#xff1f; 超级加密3000 当需要加密电…

[其他]MBTI各个字母分表代表什么

一、什么是MBTI&#xff1f; MBTI&#xff08;Myers-Briggs Type Indicator&#xff09;&#xff0c;一种迫选型、自我报告式的性格评估测试&#xff0c;用以衡量和描述人们在获取信息、作出决策、对待生活等方面的心理活动规律和性格类型。 二、MBTI各字母含义 MBTI倾向显示…

赶紧收藏!2024 年最常见的操作系统面试题(六)

上一篇地址&#xff1a;赶紧收藏&#xff01;2024 年最常见的操作系统面试题&#xff08;五&#xff09;-CSDN博客 十一、什么是I/O操作&#xff1f;请解释缓冲I/O和直接I/O的区别。 I/O操作&#xff0c;即输入/输出操作&#xff0c;是计算机科学中指数据在计算机系统内部和外…

Python语法基础三

12.range()函数 python 的 range() 函数可用来创建一个整数列表&#xff0c;一般用在 for 循环中. **range()语法&#xff1a;**range(start, stop[, step])**start&#xff1a;**计数从start开始,默认是从0开始(闭区间),如:range(5)等价于range(0,5).**stop&#xff1a;**计…

vue 实现 word/excel/ppt/pdf 等文件格式预览操作

效果图&#xff1a; 问题描述&#xff1a;一般情况下使用iframe标签就可以实现文件预览&#xff0c;但是这个标签只针对于ppt和pdf是有效的。对于doc文件就需要借助第三方插件&#xff08;vue-office/docx&#xff09;来实现预览了。下面介绍使用方法。 安装插件&#xff1a;n…

Lua C API

Lua 5.4 Reference Manual - contents官方网站

力扣爆刷第155天之TOP100五连刷41-45(下一个排列、正序数组中位数、归并排序链表)

力扣爆刷第155天之TOP100五连刷41-45&#xff08;下一个排列、正序数组中位数、归并排序链表&#xff09; 文章目录 力扣爆刷第155天之TOP100五连刷41-45&#xff08;下一个排列、正序数组中位数、归并排序链表&#xff09;一、31. 下一个排列二、4. 寻找两个正序数组的中位数三…

量化交易策略:定义及其重要性

量化交易是华尔街和硅谷的秘密结合点&#xff0c;在这里数学和算法与金钱和市场相遇。虽然它曾经是金融巨头的专属领域&#xff0c;但现在它比以往任何时候都更易于接触。 但不要被愚弄&#xff0c;量化交易仍然是一种高速、高压的游戏&#xff0c;在毫秒间可以赚到或失去财富…

FlashST 短期交通预测领域的插件式创新

FlashST: A Simple and Universal Prompt-Tuning Framework for Traffic Prediction&#xff1a;一篇在短期交通预测领域的插件式创新&#xff0c;主要解决不同数据集和任务下的分布漂移问题。 方法&#xff1a;采用二阶段训练的方法&#xff0c;一阶段在PEMS03478数据集上进行…

STM32CubeIDE复制工程文档

目录 1. 粘贴复制2. 重命名 1. 粘贴复制 复制粘贴 重命名&#xff0c;别重名&#xff0c;点击- copy 结果 2. 重命名 重命名 ioc文件 编译 OK