java的图形化界面编程AWT与Swing学习记录与分享(其一container容器)

简介: java的图形化界面编程AWT与Swing学习记录与分享(其一container容器)

java使用AWT和Swing相关的类可以完成图形化界面编程,其中AWT的全称是抽象窗口工具集(Abstract WindowToolkit),它是sun公司最早提供的GUI库,这个GUI库提供了一些基本功能,但这个GUI库的功能比较有限,所以后来sun公司又提供了Swing库。通过使用AWT和Swing提供的图形化界面组件库

基础继承关系在此便不再赘述了

component的API

首先我们知道container继承与component,它的特点是它本身可以当成组件同时它也可以容纳其他的组件。


继承关系一览

我们可以通俗的这样理解窗口只是画布而容器是我们来进行装饰的部件(个人理解如有错误请帮忙改正)

6ade0822149246009a85e20ef5b855cc.png

下面进行演示:

package study;
import java.awt.*;
public class study {
    public static void main(String[] args) {
        Frame test=new Frame("这里测试window窗口");
        //设置位置,大小
        test.setLocation(100,100);
        test.setSize(500,300);
        //使之可视化
        test.setVisible(true);
    }
}
```![运行的结果](https://ucc.alicdn.com/images/user-upload-01/32102af8de3d410fb20ca809b6ed3e4e.png)
# 开始添加文本域和按钮
```java
package study;
import java.awt.*;
public class study {
    public static void main(String[] args) {
        Frame test=new Frame("这里接着测试window窗口");
        //设置位置,大小
        test.setLocation(100,100);
        test.setSize(500,300);
        //创建内嵌容器对象
        Panel p=new Panel();
        //创建文本域和按钮同时添加进去
        p.add(new TextField("现在进行测试"));
        p.add(new Button("按下去吧"));
        //再将容器添加到窗口上
        test.add(p);
        //使之可视化
        test.setVisible(true);
    }
}

92b4bfaabe2f4371b58192031760996c.png

ScrollPane容器(带有滚动条的)

package study;
import java.awt.*;
public class study {
    public static void main(String[] args) {
        Frame test=new Frame("这里演示scrollPane容器");
        //设置位置,大小
        test.setBounds(100,200,1000,500);
        //创建scrollPane容器对象
        ScrollPane sp=new ScrollPane();
        //创建文本域和按钮同时添加进去
        sp.add(new TextField("现在进行测试"));
        sp.add(new Button("按下去吧"));
        //再将容器添加到窗口上
        test.add(sp);
        //使之可视化
        test.setVisible(true);
    }
}

8d5e9897ffd54e4c9e71a6c23ad7ada7.png

有细心的读者会发现这里明明没有滚动条呀原因是我输入的文本内容不值得出现滚动条内容太过少了

那如何让它强制出现呢看接下来的代码

这样以后


那么今天的内容先到这里后续更新的话我会在此篇文章中附上相应的链接谢谢各位!



目录
相关文章
|
2月前
|
IDE Java 编译器
java编程最基础学习
Java入门需掌握:环境搭建、基础语法、面向对象、数组集合与异常处理。通过实践编写简单程序,逐步深入学习,打牢编程基础。
226 1
|
2月前
|
Java
如何在Java中进行多线程编程
Java多线程编程常用方式包括:继承Thread类、实现Runnable接口、Callable接口(可返回结果)及使用线程池。推荐线程池以提升性能,避免频繁创建线程。结合同步与通信机制,可有效管理并发任务。
165 6
|
3月前
|
SQL Java 数据库
2025 年 Java 从零基础小白到编程高手的详细学习路线攻略
2025年Java学习路线涵盖基础语法、面向对象、数据库、JavaWeb、Spring全家桶、分布式、云原生与高并发技术,结合实战项目与源码分析,助力零基础学员系统掌握Java开发技能,从入门到精通,全面提升竞争力,顺利进阶编程高手。
691 1
|
2月前
|
安全 前端开发 Java
从反射到方法句柄:深入探索Java动态编程的终极解决方案
从反射到方法句柄,Java 动态编程不断演进。方法句柄以强类型、低开销、易优化的特性,解决反射性能差、类型弱、安全性低等问题,结合 `invokedynamic` 成为支撑 Lambda 与动态语言的终极方案。
162 0
|
4月前
|
安全 Java 数据库连接
2025 年最新 Java 学习路线图含实操指南助你高效入门 Java 编程掌握核心技能
2025年最新Java学习路线图,涵盖基础环境搭建、核心特性(如密封类、虚拟线程)、模块化开发、响应式编程、主流框架(Spring Boot 3、Spring Security 6)、数据库操作(JPA + Hibernate 6)及微服务实战,助你掌握企业级开发技能。
638 3
|
3月前
|
Java 开发者
Java并发编程:CountDownLatch实战解析
Java并发编程:CountDownLatch实战解析
462 100
|
5月前
|
域名解析 网络协议 API
【Azure Container App】配置容器应用的缩放规则 Managed Identity 连接中国区 Azure Service Bus 问题
本文介绍了在 Azure Container Apps 中配置基于自定义 Azure Service Bus 的自动缩放规则时,因未指定云环境导致的域名解析错误问题。解决方案是在扩展规则中添加 `cloud=AzureChinaCloud` 参数,以适配中国区 Azure 环境。内容涵盖问题描述、原因分析、解决方法及配置示例,适用于使用 KEDA 实现事件驱动自动缩放的场景。
144 1
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
475 5
|
3月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
266 16
|
3月前
|
NoSQL Java 关系型数据库
超全 Java 学习路线,帮你系统掌握编程的超详细 Java 学习路线
本文为超全Java学习路线,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架(如Spring Boot)、数据库(MySQL、Redis)及项目实战等内容,助力从零基础到企业级开发高手的进阶之路。
335 1