zoukankan      html  css  js  c++  java
  • GUI——AWT框架和容器,创建简单窗体

    GUI概述:GUI(Graphical User Interface)—图形化用户界面。用户和程序之间可以通过GUI能方便友好地进行交互,在Java语言中,JFC(Java Foundation Classed)是开发GUI的API集,它主要包含以下几个部分:

    a)   AWT(抽象窗口工具包):Java开发用户界面最初的工具包,是建立JFC的主要基础;

    b)   Swing组件:建立在AWT之上,新的,功能更强大的图形组件包;

    c)   JAVA 2D:实现高质量的二维图形;

     

    AWT框架:

    ①   在java.awt包中包含了一个完整的类集以支持GUI程序的设计,其中的类及相互关系可以用下图来描述:

    ②   Component类是最核心的类,它是构成Java图形用户界面的基础,大部分组件都是由该类派生出来的;

    ③   Component类主要由基本组件和容器(Container)组件组成;

    ④   容器(Container)组件主要分为:Window容器和Panel容器;

     

    Frame容器:

    ①   Window是能独立存在的容器,它有一个子类Frame,它是一个带有标题和缩放角的窗口;

    ②   Frame有一个构造方法,Frame(String title);

    ③   可以通过add()方法,在Frame容器中加入其它组件;

    ④   Frame容器有默认的布局管理器;

    ⑤   Frame被创建后,是不可见的;

     

    Panel容器:

    ①   Panel只能存在于其它的容器(Window或其子类)中才能显示出来;

    ②   通过Panel的默认构造方法Panel()可以创建一个Panel;

    ③   容器不但能容纳组件,还能容纳其它容器,通过容器的嵌套可以制作出复杂的布局;

    创建一个窗体类

     1 class MyFrame1 extends Frame{
     2     public MyFrame1(String title){
     3         super(title);
     4     }
     5     
     6     public void init(){
     7         this.setSize(300, 300);//设置窗体的宽高
     8         this.setBackground(Color.GREEN);//给窗体设置背景色
     9         this.setVisible(true);//设置窗体可见
    10     }
    11 }

    主方法调用

     1 MyFrame1 myFrame1=new MyFrame1("自己的窗体"); 2 myFrame1.init(); 

    输出结果如图:

    创建一个带Panel和Button的窗体:

     1 class MyFrame2 extends Frame{
     2     public MyFrame2(String title){
     3         super(title);
     4     }
     5     
     6     public void init(){
     7         this.setSize(300, 300);//设置窗体的宽高
     8         this.setBackground(Color.GREEN);//给窗体设置背景色
     9         this.setLayout(null);//去掉窗体的默认的布局管理器
    10         
    11         Panel panel=new Panel();
    12         panel.setLayout(null);//去掉Panel容器默认的布局管理器
    13         panel.setBackground(Color.BLUE);
    14         panel.setBounds(0, 0, 200, 200);//距离父容器(Frame)上顶点,左顶点0,宽高200
    15         
    16         Button btn1=new Button("click me");//创建一个按钮
    17         btn1.setBounds(0, 0, 100, 100);
    18         btn1.setBackground(Color.RED);
    19         
    20         panel.add(btn1);//添加按钮到面板中
    21         
    22         this.add(panel);//把panel加到窗体中
    23         
    24         this.setVisible(true);//让窗体可见
    25     }
    26 }

    输出结果如图:

  • 相关阅读:
    springboot jpa junit测试遇到的问题
    解决Eclipse中.properties文件中文乱码问题
    java 学习笔记(五) Zookeeper的集群配置和Java测试程序
    Kotlin编译器使用及反编译分析
    Kotlin重新学习及入门示例
    SATB的标记问题解决之道与G1垃圾收集模式系统详解及最佳实践
    SATB深入详解与问题剖析【纯理论】
    三色标记算法在并发情况下的漏标问题分析【纯理论】
    G1混合式GC与三色标记算法详解【纯理论】
    G1垃圾收集器深度理论讲解【纯理论】
  • 原文地址:https://www.cnblogs.com/wzy330782/p/5410441.html
Copyright © 2011-2022 走看看