zoukankan      html  css  js  c++  java
  • Java基础——GUI编程(一)

    一、定义

    GUI全称是Graphical User Interface,即图形用户界面。JDK中提供了AWT 和 Swing 两个包,用于GUI程序的设计和开发。

    1.java .awt  abstract Window Toolkit (抽象窗口工具包),它是 java 的早期版本,组件种类有限,需要调用本地系统方法实现功能,重量级,有点依赖于平台。

    2.javax.SWing ,是sun公司在AWT 的基础上,建立的一套图形用户界面系统,提供了更多的组件,而且完全由java实现,增强了可移植性,轻量级。

    SWing相当于AWT的升级版本,解决了跨平台操作的问题,但是,并不代表AWT就被彻底淘汰了,它是基础,了解它的性能还是很重要的。

    二、AWT类层次关系

    Container:为容器,是一个特殊的组件,该组件中可以通过add方法添加其他的组件进来。

    简单的代码示例:

    import java.awt.Frame;
    
    public class Test19 {
        public static void main(String[] args) {
            demo();
        }
    
        static void demo() {
            Frame f = new Frame("这是我做的第一个窗口");
            f.setSize(400, 400);
            f.setLocation(40, 60);// 左上角的坐标
    
            System.out.println("運行成功");// 验证程序是否被执行了
        }
    }

    如果做到上面的代码,从控制台的结果来看,程序没有挂掉,已经被执行了。只是想要的对话框并没有出现。

    上面程序少一段代码:f.setVisible(true);

    import java.awt.Frame;
    
    public class Test19 {
        public static void main(String[] args) {
            demo();
        }
    
        static void demo() {
            Frame f = new Frame("这是我做的第一个窗口");
            f.setSize(400, 400);
            f.setLocation(40, 60);// 左上角的坐标
            
            f.setVisible(true);//使得窗口可见
            
            System.out.println("運行成功");// 验证程序是否被执行了
        }
    }

    执行结果:(值得注意的是,这个小窗口,点击右上角的X,并不能使得该窗口关闭,这里需要我们自己去设置)

    下面演示添加一个按钮的操作:

    import java.awt.Button;
    import java.awt.Frame;
    
    public class Test19 {
        public static void main(String[] args) {
            demo();
        }
    
        static void demo() {
            Frame f = new Frame("这是我做的第一个窗口");
            f.setSize(400, 400);
            f.setLocation(40, 60);// 左上角的坐标
    
            f.setVisible(true);// 使得窗口可见
    
            Button b = new Button("按钮");// 需要导包
            f.add(b);// 添加该按钮
    
            System.out.println("運行成功");// 验证程序是否被执行了
        }
    }

    执行结果:(注意,有按钮的,按钮在没有设置大小和位置的时候,默认为占满边框了)

    总结:

    对于众多的GUI组件,根据其作用,又可以分为两大类,基本组件和容器。

    基本组件:按纽,文本框之类,不能容纳其他组件。

    容器:可以容纳其他组件,比如窗口、对话框等,所有的容器都是java.awt.Container 的直接或间接子类(上面的Frame 就是一个容器)

    附,思考:

    上面的程序,执行到  System.out.println("運行成功");  就结束了,实际上这时main函数就结束了。但窗口还在。我们甚至还可以进行操作。那么一定是有别的前台线程在运行,可以理解为创建Frame的时候,又启了一个线程。

  • 相关阅读:
    postgresql获取随机数
    windows环境中Tomcat实现开机自启动
    让Tomcat支持中文路径名和中文文件名
    CentOS 环境变量编辑、保存、立即生效的方法
    eclipse/intellij idea 远程调试hadoop 2.6.0
    利用Spring的@Async异步处理改善web应用中耗时操作的用户体验
    ssh 免密码设置失败原因总结
    hadoop 2.6伪分布安装
    weblogic.nodemanager.common.ConfigException: Native version is enabled but nodemanager native library could not be loaded 解决办法
    velocity模板引擎学习(3)-异常处理
  • 原文地址:https://www.cnblogs.com/1693977889zz/p/7144337.html
Copyright © 2011-2022 走看看