你的位置:首页 > Java教程

[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,宽高20015     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 }

输出结果如图: