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

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

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

这样以后


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



目录
相关文章
|
9月前
|
域名解析 网络协议 API
【Azure Container App】配置容器应用的缩放规则 Managed Identity 连接中国区 Azure Service Bus 问题
本文介绍了在 Azure Container Apps 中配置基于自定义 Azure Service Bus 的自动缩放规则时,因未指定云环境导致的域名解析错误问题。解决方案是在扩展规则中添加 `cloud=AzureChinaCloud` 参数,以适配中国区 Azure 环境。内容涵盖问题描述、原因分析、解决方法及配置示例,适用于使用 KEDA 实现事件驱动自动缩放的场景。
210 1
|
存储 IDE Java
漂亮不是梦!Java Swing美化攻略
Java Swing 是一个为 Java 设计的 GUI 工具包,提供文本框、按钮等组件。尽管其外观可定制,通过 Look and Feel(LAF)机制改变应用风格,如 Darcula 和 FlatLaf,但现已淡出主流视野,主要应用于 IDE 领域,如 IntelliJ IDEA 和 Eclipse。相比其他 GUI 框架,Swing 的发展前景有限。
734 1
|
Ubuntu 网络安全 容器
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理。本文详细介绍了如何在 Ubuntu 22.04 上安装 KubeSphere,包括系统要求、安装依赖项、设置防火墙、下载安装脚本、选择安装选项、验证安装结果等步骤,并提供了常见问题的解决方法。希望本文能为读者提供实用的参考和帮助。
421 3
|
安全 Java API
|
安全 容灾 Serverless
云上应用管理问题之为什么很多业务会采用包年包月 + 按量付费的混合付费方式
云上应用管理问题之为什么很多业务会采用包年包月 + 按量付费的混合付费方式
|
容器 iOS开发 Linux
震惊!Uno Platform 响应式 UI 构建秘籍大公开!从布局容器到自适应设计,带你轻松打造跨平台完美界面
【8月更文挑战第31天】Uno Platform 是一款强大的跨平台应用开发框架,支持 Web、桌面(Windows、macOS、Linux)及移动(iOS、Android)等平台,仅需单一代码库。本文分享了四个构建响应式用户界面的最佳实践:利用布局容器(如 Grid)适配不同屏幕尺寸;采用自适应布局调整 UI;使用媒体查询定制样式;遵循响应式设计原则确保 UI 元素自适应调整。通过这些方法,开发者可以为用户提供一致且优秀的多设备体验。
652 0
|
消息中间件 Kubernetes 数据库
在k8S中,初始化容器(init container)概念原理是什么?
在k8S中,初始化容器(init container)概念原理是什么?
|
前端开发 Java UED
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
1890 0
|
10月前
|
Java 数据库连接 API
2025 更新必看:Java 编程基础入门级超级完整版指南
本教程为2025更新版Java编程基础入门指南,涵盖开发环境搭建(SDKMAN!管理JDK、VS Code配置)、Java 17+新特性(文本块、Switch表达式增强、Record类)、面向对象编程(接口默认方法、抽象类与模板方法)、集合框架深度应用(Stream API高级操作、并发集合)、模式匹配与密封类等。还包括学生成绩管理系统实战项目,涉及Maven构建、Lombok简化代码、JDBC数据库操作及JavaFX界面开发。同时提供JUnit测试、日志框架使用技巧及进阶学习资源推荐,助你掌握Java核心技术并迈向高级开发。
928 5
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin