java 图形用户界面_JAVA——编写图形用户界面(AWT)

本文介绍了JAVA的AWT包,用于创建图形用户界面GUI。内容涵盖组件(Component)、容器(Container)和布局管理器的基础知识。组件是GUI的基本元素,容器如Frame和Panel可以容纳多个组件,而布局管理器如FlowLayout、BorderLayout和GridLayout则负责组件的排列和大小调整。通过示例代码展示了如何使用这些概念创建简单的窗口和交互式面板。
摘要由CSDN通过智能技术生成

AWT(抽象窗口工具包)是JAVA提供的建立图形用户界面GUI的开发包,可用于JAVA的Applet和Application中 ——————————————

组件,容器,布局管理器

JAVA.awt包

JAVA.awt包提供了设计GUI使用的类和接口

组件(Component)

组件是java图形用户界面最基本的组成部分,可与用户交互,如一个按钮,标签 注意:必须将组件放到容器中才能显示出来 java.awt.Component是众多组件类的父类,也封装了很多组件通用的方法和属性,如 图形的组件对象,大小,显示位置,前景色等等,一些重要的成员方法如下:

getComponentAt(intx,inty);        //获得坐标(x,y)上的组件对象

getFont();                        //获得组件字体

getName();                          //获得组件的名字

getSize();                        //获得组件大小

paint(Graphics);                  //绘制组件

repaint();                        //重新绘制组件

update();                         //刷新组件

setVisible(Boolean b);           //设置组件是否可见

setSize(Dimension d);             //设置组件大小

setName(String name);             //设置组件名称

容器(Container)

java.awt.Container是Component的子类 一个容器可容纳多个组件,并使它们成为一个整体,所有组件都可通过==add();==方法加入容器中。常用容器如下:

窗口(Frame)

import java.awt.*;

public class FirstFrame extends Frame{

public static void main(String args[]) {

FirstFrame f = new FirstFrame("helloWorld");   //创建对象

f.setSize(240, 240);                           //窗口大小

f.setBackground(Color.blue);                   //窗口背景

f.setVisible(true);                            //设置窗口是否可见,默认不可见

}

public FirstFrame (String str) {

super(str);                                    //构造器,传入窗口标题

}

}

面板(Panel)

像一块透明的玻璃,但不同于窗口,必须将面板引入别的容器中方可使用

import java.awt.*;

public class PanelInFrame extends Frame{

public static void main(String args[]) {

PanelInFrame p = new PanelInFrame("helloWorld");

Panel pan = new Panel();                      //添加面板

p.setSize(500, 500);

p.setBackground(Color.darkGray);

p.setLayout(null);

pan.setSize(200,200);

pan.setBackground(Color.gray);

p.add(pan);                                  //biubiubiu

p.setVisible(true);

}

public PanelInFrame(String a) {

super(a);

}

}

布局管理器

管理组件的排列顺序,大小,位置等

FlowLayout

Panel和Apple的默认布局管理器 规律:从上到下,从左到右依次摆放控件

BorderLayout

Window,Frame,Dialog的默认管理器 规律:将容器分为五个部分,North,Sorth,East,Center,每个空间只能摆放一个控件

GridLayout

规律:使容器中的组件呈网格布局,平均占据容器空间

CardLayout

规律:帮助用户处理两个及以上的成员共享一个空间(可以理解为点击一个按钮后显示另一个页面) 常用构造方法:

CardLayout();

CardLayout(int hgap,int vgap);

常用方法:

Frist(Container parent);                 //显示第一张卡片

last(Container parent);                  //显示最后一张卡片

next(Container parent);                  //显示下一张卡片

previous(Container parent);              //显示上一张卡片

show(Container parent,String name);      //显示指定名称的卡片

操作实例:

import java.awt.*;

import java.awt.event.*;

public class Card implements ActionListener{

private Panel p1,p2,p3;                          //面板

private Frame f;                                 //窗口

private Button b1,b2,b3;

private CardLayout CL = new CardLayout();

public void create() {

b1 = new Button("你是谁?");                  //新建三个按钮

b2 = new Button("你想干啥");

b3 = new Button("你瞅啥");

p1 = new Panel();                            //新建三个面板

p2 = new Panel();

p3 = new Panel();

f  = new Frame("嘿,那小孩");                 //新建一个窗口

p1.add(b1);                                  //把按钮放到面板中

b1.addActionListener(this);                  //为按键注册监听器

p2.add(b2);

b2.addActionListener(this);

p3.add(b3);

b3.addActionListener(this);

f.setLayout(CL);

f.add(p1,"first");

f.add(p2,"second");

f.add(p3,"next");

f.setSize(500,500);                         //设置窗口大小

f.setVisible(true);                         //窗口是否可见

}

public static void main(String[] args) {

Card C = new Card();

C.create();

}

@Override

public void actionPerformed(ActionEvent arg0) {   //点击按键时跳转到下一个页面

// TODO Auto-generated method stub

CL.next(f);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值