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

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

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

这样以后


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



目录
相关文章
|
4天前
|
缓存 Java UED
Java中的多线程编程:从基础到实践
【10月更文挑战第13天】 Java作为一门跨平台的编程语言,其强大的多线程能力一直是其核心优势之一。本文将从最基础的概念讲起,逐步深入探讨Java多线程的实现方式及其应用场景,通过实例讲解帮助读者更好地理解和应用这一技术。
20 3
|
4天前
|
Java 开发者
在Java编程中,正确的命名规范不仅能提升代码的可读性和可维护性,还能有效避免命名冲突。
【10月更文挑战第13天】在Java编程中,正确的命名规范不仅能提升代码的可读性和可维护性,还能有效避免命名冲突。本文将带你深入了解Java命名规则,包括标识符的基本规则、变量和方法的命名方式、常量的命名习惯以及如何避免关键字冲突,通过实例解析,助你写出更规范、优雅的代码。
25 3
|
4天前
|
Java 程序员
在Java编程中,关键字不仅是简单的词汇,更是赋予代码强大功能的“魔法咒语”。
【10月更文挑战第13天】在Java编程中,关键字不仅是简单的词汇,更是赋予代码强大功能的“魔法咒语”。本文介绍了Java关键字的基本概念及其重要性,并通过定义类和对象、控制流程、访问修饰符等示例,展示了关键字的实际应用。掌握这些关键字,是成为优秀Java程序员的基础。
11 3
|
4天前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
15 3
|
3天前
|
存储 安全 Java
了解final关键字在Java并发编程领域的作用吗?
在Java并发编程中,`final`关键字不仅用于修饰变量、方法和类,还在多线程环境中确保对象状态的可见性和不变性。本文深入探讨了`final`关键字的作用,特别是其在final域重排序规则中的应用,以及如何防止对象的“部分创建”问题,确保线程安全。通过具体示例,文章详细解析了final域的写入和读取操作的重排序规则,以及这些规则在不同处理器上的实现差异。
了解final关键字在Java并发编程领域的作用吗?
|
2天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
13 5
|
7天前
|
存储 运维 云计算
探索Docker容器化:从入门到实践
在这个快速发展的云计算时代,Docker容器化技术正在改变应用的开发、部署和管理方式。本文旨在为初学者提供一个关于Docker的全面入门指南,并通过实践案例展示Docker在实际开发中的应用。我们将一起了解Docker的核心概念、基本操作、网络和存储,以及如何构建和部署一个简单的Web应用。无论你是开发者还是运维人员,本文都会帮助你快速掌握Docker的核心技能。
|
3天前
|
存储 测试技术 开发者
docker中将数据卷挂载到容器
【10月更文挑战第11天】
13 3
|
4天前
|
缓存 运维 Docker
容器化运维:Docker Desktop 占用磁盘空间过大?教你轻松解决!
Windows Docker Desktop 使用过程中,因镜像、容器数据及构建缓存的累积,可能导致磁盘空间占用过高。通过删除无用镜像与容器、压缩磁盘以及清理构建缓存等方法,可有效释放空间。具体步骤包括关闭WSL、使用`diskpart`工具压缩虚拟磁盘、执行`docker buildx prune -f`清理缓存等。这些操作能显著减少磁盘占用,提升系统性能。
|
3天前
|
存储 应用服务中间件 云计算
深入解析:云计算中的容器化技术——Docker实战指南
【10月更文挑战第14天】深入解析:云计算中的容器化技术——Docker实战指南
14 1