java GUI编程

  • AWT abstract window toolkit包括了很多类和接口用
    于java Application的GUI编程

  • GUI的各种元素如窗口按钮文本由java来实现

  • 使用AWT所涉及的类一般在java.awt包及其子包中

  • Container和component是AWT中的两个核心类
    在这里插入图片描述
    Component & Container

  • Java的图形用户 界面的最基本组成部分是Component,Component 类及其子类的对象用来描述以图形化的方式显示在屏幕上井能与用户进行交互的GUI元素,例如,个按钮。一个标签等。一般的Component对象不能独立地显示出来,必须将“放在“某的Container对象 中才可以显示出来,

  • Container是Component子类,Container子 类对象可以”容纳“别的Component对象。Container对象可使用方法add(…)向其中添加其他Component对象.
    Containter是Component的子类,因此Containter对象也可以被当作Component对象谈加到其他Container对象中。

  • 有两种常用的Containter:

    • Window:其对象表示自由停泊的顶级窗口
    • Panel:其对象可作为容纳其它Component对象,但不能独立存在,必须被谈加到其它Containner中(如Window成Applet)

1 AWT

1.1、Frame

  • Frame是Window的子类,由Frame或其子类创建的对象为一个窗体,➢Frame的常 用构造方法:
    “Frame()
    ”Frame(String s)创建标题栏为字符串s的窗口。

  • setBounds(int x,int y,int width,nt height)设置窗体位置和大小,x,y是左上角坐标,widht和height是宽度和高度

  • setSize(int width.int height)设置窗体的位置,x,y是左上角坐标

  • setLocation(int x,int y)设置窗体的大小,widht 和height分别是宽度和高度。

  • setBackground(Color c) 设置背景颜色,参数为Color对象。

  • setVisible(boolean b)设置是否可见

  • setTtle(String name) Sting getTitle() 显示多个不同背景色的

  • setResizable(boolean b)设置是否可以调整大小。

2组件和容器

Panel对象可以看成可以容纳Component的空间
Panel对象可以拥有自己的布局管理器
Panel类拥有从其父类继承来的

  • setBounds(int x,int y,int width,int height)
  • setSize(int width,int height)
  • setLocation(int x,int y)
  • setBackground(Color c)
  • setLayout(LayoutManager mgr)等方法。
  • Panel的构造方法为:
    • Panel() 使用默认的FlowLayout类布局管理器初始化。
    • Panel(LayoutManager layout)使用指定的布局管理器初始化。

3布局管理器

布局管理器
Java语言中,提供了布局管理器类的对象可以管理

  • 管理Component在Container中的布局,不必直接设置Component位置和大小。
    每个Container都有 个布局管理器对象, 当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器,调用Container的setLayout方法改变其布局管理器对象。
    ◆Awt提供 了5种布局管理器类:
  • FlowLayout
  • BorderLayoutGridLayou
  • CardLayout
  • GridBagLayout

FlowLayout布局管理器
回FlowLayout 是Panel类的默
认布局管理器。
FlowLayout布局管理器对组件逐行定位,行内从左到右,-行排满后换行。◆不改变组 件的大小,按
组件原有尺寸显示组件,可设置不同的组件间距,行距以及对齐方式。
FlowLayout布局管理器默认的对齐方式是居中

FlowLayout的构造方法
new FlowLayout(FlowLayout.RIGHT,20,40);
◆ 右对齐,组件之间水平间距20个像素,垂直间距40个像素。| ◎new FlowLayout(FlowLayout.LEFT);
◆左对齐, 水平和垂直间距为缺省值(5)。◎new FlowLayout();
◆使用缺省的居中对齐方式, 水平和垂直间距为缺省值(5)。

◆BorderLayout是Frame类的默认布局管理器。◎BorderLayout将整 个容器的布局划分成
◆东(EAST)⑥西(WEST)◆南(SOUTH)@北(NORTH)
◆中(CENTER)五个区域,组件只能被添加到指定的区域。如不指定组件的加入部位,则默认加入到CENTER区.
@每个区域只能加入 一个组件,如加入多个,则先前加入的会被覆盖。

BorderLayout布局管理器
BorderLayout型布 局容器尺寸缩放原则:
北、南两个区域在水平方向缩放。东、西两个区域在垂直方向缩放。中部可在两个方向上缩放。

BorderLayout布局管理器
BorderLayout型布 局容器尺寸缩放原则:
北、南两个区域在水平方向缩放。东、西两个区域在垂直方向缩放。中部可在两个方向上缩放。

总结:
◆Frame是一 个顶级窗口,Frame的缺省布局管理器为BorderLayout◆Panel无法单 独显示,必须添加到某个容器中。
⑥Panel的缺 省布局管理器为FlowLayout.
◆当把Panel作 为一个组件添加到某个容器中后,该Panel仍然可以有自己
的布局管理器.

使用布局管理器时,布局管理器负责各个组件的大小和位置, 因此用户无
法在这种情况下设置组件大小和位置属性,如果试图使用Java语言提供的setLocation(),setSize(), setBounds()等方法, 则都会被市局管理器覆盖。
◆如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理
器,方法为:
④setLayout(null)

4事件处理

5Java图形

6 Window事件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值