Awt-学习

一、Container容器

1. Container是Component的子类包括以下方法:
setLocation(int x,int y)
setSize(int w,int l)
setBounds(int x,int y,int w,int l)
setVisible(Boolean b)
Component add(Component c)
Component getComponentAt(int x,int y)
int getComponent()
Component[] getComponents()
2. 类型
Window和Pannel
3.Frame窗口(Window的子类)
有标题,允许通过拖拉改变大小和位置
初始化为不可见,可用setVisible设置可见
默认使用BorderLayout作为其布局管理器
4.Panel
一个典型的容器,不能独立存在需要放在其他容器中的容器,外在表现为一个矩形区域,可以存放其他组件。
5.ScrollPane
是一个带滚动条的容器,不能独立存在,当组件占用空间过大会自动产生滚动条,也可以设置默认具有滚动条。默认使用BorderLayout作为布局管理器,通常不允许改变布局管理器。

二、布局管理器

FlowLayout

1.特点
组件像水流一样从左往右,遇到边界就折回下一行重新开始。
2.构造器
FlowLayout() :默认
FlowLayout(int align):指定对齐方式
FlowLayout(int align,int hgap,int vgap):指定对齐方式,垂直、水平间距

BorderLayout

1.特点
BorderLayout将容器分为EAST、SOUTH、NORTH、CENTER、WEST五个区域,改变容器大小时,NORTH,SOUTH,CENTER水平调整,EAST,WEST,CENTER垂直调整。
2.构造器
BorderLayout()
BorderLayout(int hgap,int vgap)

GridLayout

1.特点
网格布局
2.构造器
GridLayout(int rows,int cols):行数与列数
GridLayout(int rows,int cols,int hgap,int vgap)

GridBagLayout

1.特点:
一个组件可以跨越多个网格,可以设置各网格的位置各不相同

CardLayout

1.特点:
它将加入的容器看成一叠卡片,只显示最上面的组件
2.构造器
CardLayout()
CardLayout(int hgap,int vgap)
3.提供的方法
first(Container c)
last(Container c)
privious(Container c)
nect(Container c)
show(Container c,String name)

BoxLayout(Swing中的)

1.特点
Swing引入了BoxLayout,它可以在垂直和水平两个方向上摆放GUI组件。
2.构造器
BoxLayout(Container t,int axis)
3.提供方法
createHorizontalGlue()
createVerticalGlue()
createHorizontalStrut(int width)
createVerticalStrut(int height)
createRigidArea(Dimension d)

package com.Demo;

import javax.swing.*;
import javax.swing.text.BoxView;
import java.awt.*;

public class Demo1{
    Frame frame=new Frame("这里测试基本组件");
    TextArea text=new TextArea(6,20);
    Choice color=new Choice();
    CheckboxGroup sex=new CheckboxGroup();
    Checkbox male=new Checkbox("男",sex,true);
    Checkbox female=new Checkbox("女",sex,false);
    Checkbox marry=new Checkbox("是否已婚");
    List colorChoice=new List(7,true);
    TextField tf=new TextField(50);
    Button button=new Button("确认");
    public void consist(){
        Box down=Box.createHorizontalBox();
        down.add(tf);
        down.add(button);
        color.add("红色");
        color.add("绿色");
        color.add("蓝色");
        Box up=Box.createHorizontalBox();
        up.add(color);
        up.add(male);
        up.add(female);
        up.add(marry);
        Box left=Box.createVerticalBox();
        left.add(text);
        left.add(up);
        frame.add(down,BorderLayout.SOUTH);
        frame.add(left,BorderLayout.CENTER);
        colorChoice.add("红色");
        colorChoice.add("绿色");
        colorChoice.add("蓝色");
        frame.add(colorChoice,BorderLayout.EAST);
        frame.pack();
        frame.setVisible(true);
    }
    public static void main(String[] args) {
       new Demo1().consist();

    }
}

三、常用组件

基本组件

在这里插入图片描述

对话框Dialog

1.Dialog是Window的子类,是一个可以独立存在的窗口 对话框有
注意:(1)对话框需要有一个父窗口
(2)有non-modal和modal两种模式,modal下Dialog被打开时 Dialog总是位于parent窗口上且Dialog关闭前无法获得焦点。

2.fileDialog是Dialog的子类,文件对话框,用于打开或保存文件
在这里插入图片描述

四、事件处理机制

1.事件源:操作发生的场所
2.事件:在操作源上发生的操作
3.时间监听器:对事件进行处理
过程图

五、菜单组件

将菜单,菜单项,菜单条组合到一起按照一定布局放到容器中
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值