Java高级-GUI之AWT框架和容器
GUI概述:GUI(Graphical User Interface)图形化用户界面。用户和程序之间可以通过GUI能方便友好地进行交互。在Java语言中,JFC(Java Foundation Classed)是开发GUI的API集,它主要包含以下几个部分。
AWT(Abstract Window Toolkit)抽象窗口工具包:Java开发用户界面最初的工具包,是建立JFC的主要基础;
AWT为重量级控件。
在java.awt包中包含了一个完整的类集以支持GUI程序的设计。
Component类是最核心的类,它是构成Java图形用户界面的基础,大部分组件都是由该类派生出来的。
Component类主要由基础组件和容器(Container)组件组成.
容器(Container)组件主要分为:Window容器和Panel容器。
Frame容器:
是Window容器的一个子类,它是一个带有标题和缩放角的窗口。
构造方法:
Frame(String title)
可以通过add()方法在Frame容器中加入其他的组件。
Frame容器有默认的布局管理器。
Frame被创建后,默认是不可见的。
Panel容器:
Panel只能存在于其他的容器中才能显示出来。
容器不但能容纳组件,还能容纳其他容器,通过容器的嵌套可以制作出复杂的布局。
Swing组件:建立在AWT之止,新的、功能更强大的图形组件包;
JAVA 2D:实现高质量的二维图形;
demo:
package pkg1.awt; import java.awt.Button; import java.awt.Color; import java.awt.Frame; import java.awt.Panel; public class FrameDemo1 { public static void main(String[] args) { MyFrame1 frm1 = new MyFrame1("测试窗口1"); frm1.init(); frm1.panelTest(); } } class MyFrame1 extends Frame { public MyFrame1(String title) { super(title); } public void init() { int width = 400; int height = 300; // this.setSize(width, height);//设置窗体宽高 this.setBackground(Color.GRAY);// 设置背景颜色 this.setVisible(true);// 设置窗体可见 this.setBounds(800, 500, width, height);// 设置位置和窗体宽、高 } public void panelTest(){ this.setLayout(null);//去掉窗体的默认布局管理器 Panel panel=new Panel(); panel.setLayout(null);//去掉panel容器默认布局管理器 panel.setBackground(Color.BLUE); panel.setBounds(0, 0, 200, 200); Button btn1=new Button("BUTTON1"); btn1.setBounds(10,50,80,28); btn1.setBackground(Color.WHITE); panel.add(btn1); this.add(panel);//把panel加入窗体容器中 } }
效果: