zoukankan      html  css  js  c++  java
  • java 图形化小工具Abstract Window Toolit

     

    老掉牙的历史

    Java1.0在发布的时候,就为我们提供了GUI操作的库,这个库系统在所有的平台下都可以运行,这套基本的类库被称作抽象窗口工具集(Abstract Window Toolit),简称AWT。它为Java应用程序提供基本的图形组件。AWT是窗口框架,它从不同平台的窗口系统中抽取出共同组件。当程序运行时,将这些组件的创建和动作委托给程序所在的运行平台。简而言之,当使用AWT编写图形界面应用时,程序仅指定了界面组件的位置和行为,并未提供真正的实现,JVM调用操作系统本地的图形界面来创建和平台一致的对等体。
    但是AWT编程却有很多问题:
    • 使用AWT做出的图形用户界面在所有平台上都显得很丑陋,功能也非常有限
    • AWT为了迎合所有主流操作系统界面设计,AWT组件只能使用这些操作系统上图形界面组件的交集,所以不能使用特定操作系统上复杂的图形界面组件
    • 最多只能使用4种字体
    • AWT用的是非常笨拙的、非面向对象的编程模式
    基于以上的问题,Sun后来发明了Swing:
    这套 GUI 库的所有图形界面组件,例如文本框、按钮等都是绘制在空白窗口上的,只有窗口本身需要借助于操作系统的窗口实现.实现了真正的各个平台的一致性。

    AWT的继承关系图:

     

    所有和AWT编程相关的类都放在java.awt包以及它的子包中,AWT编程中有两个基类 Component(普通组件)和MenuComponent(菜单组件)

    1、窗口示例图解:

    任何一个窗口都可以分解为一个空的容器,以及多个组件。我们通过设置这些组件的大小,位置等等,就可以组成我们的丰富多彩的窗口。
    那么Java里面什么代表空的容器呢?
    容器(Container)是Component(表示组件)的子类,因此容器对象本身也是一个组件,具有组件的所有性质。但是我们的Container是所有容器的父类,我们提供了两个类型的容器,一种是Window,一种是Panel。Windows是可以独立存在的容器,我们也叫做顶级窗口,而panel不能独立存在必须添加到其他容器中。容器的继承关系图如下:

     第一个小窗口

    import java.awt.*;
    
    /**
     * @ClassName frameTest
     * @projectName: object1
     * @author: Zhangmingda
     * @description: XXX
     * date: 2021/4/29.
     */
    public class frameTest {
        public static void main(String[] args) {
            Frame frame = new Frame("第一个测试窗口");
            Panel panel = new Panel(); //容器
            frame.setBounds(200,200,400,200);
            /**
             * 文本框,按钮
             */
            TextField field = new TextField(30);
            Button button = new Button("点我");
            panel.add(field);// 容器添加文本框
            panel.add(button); //容器添加按钮
            frame.add(panel); // 窗口添加容器
            frame.setVisible(true);//显示窗口
        }
    }

    效果图

     buttun 中文乱码 

    vm options 里面加上 -Dfile.encoding=gbk

  • 相关阅读:
    053(四十四)
    053(四十三)
    053(四十二)
    053(四十一)
    053(四十)
    053(三十九)
    053(三十八)
    053(三十七)
    053(三十六)
    【leetcode❤python】231. Power of Two
  • 原文地址:https://www.cnblogs.com/zhangmingda/p/14718445.html
Copyright © 2011-2022 走看看