Java笔记-GUI AWT小程序学习笔记(持续更新)

来源:互联网 发布:无主之地 mac 汉化 编辑:程序博客网 时间:2024/06/18 05:41

转载请注明出处

GUI:图形用户界面

抽象窗口工具包:AWT和Swing等

组件和容器

  • 将组件类的直接子类或间接子类创建的对象称为组件
  • 将容器类的直接子类或间接子类创建的对象称为容器
  • 可以向容器中添加组件(add()方法)
  • 一个容器本身也是一个组件,因此可以把一个容器添加到另一个容器中实现容器的嵌套

TextField(文本框-单行)

TextAre(文本框-多行)

实现

TextField text = new TextField();

//构建一个名为“text”的文本框

构造方法

  • TextField() 文本框长度为一个字符长
  • TextField(String s) 文本框初始字符为s
  • TextField(int x) 文本框长度为x个字符长
  • TextField(String s,int x) 初始字串为s,长度为x
import java.awt.*;import java.applet.*;import java.awt.event.*;import java.applet.*;public class Demo extends Applet{    public void init(){        String s = "hello";        TextField t1 = new TextField();        TextField t2 = new TextField(10);        TextField t3 = new TextField(s);        TextField t4 = new TextField(s,10);        add(t1);add(t2);add(t3);add(t4);    }}

一般方法

  • setText(String s) 在文本框中设置文本为s
  • getText()获取文本框的文本
  • setEchoChar(char a) 设置文本框的回显字符
  • setEditable(boolean b) 指定文本框的可编辑性,默认”true“
  • addActionListener(ActionListener l) 向文本框增加ActionEvent事件监视器
import java.applet.*;import java.awt.*;public class Demo extends Applet{    public void init(){        String s = "hello";        TextField t1 = new TextField(10);        TextField t2 = new TextField(10);        TextField t3 = new TextField(10);        t1.setText("hehe"); //t1 输出“hehe”        t2.setText(t1.getText()); //t2 先获取t1的字符然后在输出        t3.setEchoChar('#');        t1.setEchoChar('#'); //设置t1的文本回显字符为#        t2.setEditable(false); //t2不可编辑        add(t1);        add(t2);        add(t3);    }}

处理文本框事件

  • 事件:当用户单击按钮、键入文本、使用鼠标或进行其他与界面相关的动作时,都会引起界面事件
    • 如文本框发生的事件类ActionEvent
  • 事件源:能够产生事件的对象都可以称为事件源,如文本框、按钮、列表框、鼠标等
  • 监视器:要对发生的事件做出处理,就需要一个对象对事件源进行监视
    • 方法:addActionListener(监视器)
  • 处理事件的接口:java.awt.event 类包提供了处理多种事件的若干接口

对文本框ActionEvent事件处理

事件源 TextField 事件 ActionEvent 注册监视器 addActionListener(ActionListener l) 处理事件的接口 ActionListener 接口中处理事件的抽象方法 actionPerformed(ActionEvent e) 返回时间源的方法 getSource()
例题

在第一个文本框中输入密码并回车,在另一个文本框中显示

import java.applet.*;import java.awt.*;import java.awt.event.*;public class Demo extends Applet implements ActionListener{    TextField t1 = new TextField(10);    TextField t2 = new TextField(10);    public void init(){        t1.setEchoChar('#');         add(t1);        add(t2);            t1.addActionListener(this); //t1增加监听器,监听器为类Demo的对象this    }    @Override    public void actionPerformed(ActionEvent e) {        if(e.getSource() == t1){            t2.setText(t1.getText());        }    }}

Label (标签)

构造方法

  • Label() 创建空的标签
  • Label(String s) 创建一个带初始字符串的标签
  • Label(String s,int n) 创建一个带初始字符串及指定对齐方式的标签。其中对齐方式有以下几种形式

    • Lable.LEFT(左对齐)
    • Label.RIGHT(右对齐)
    • Label.CENTER(居中对齐)

    Button(按钮)
    构造函数
    public Button() 创建一个不带标签的按钮
    public Button(String s) 创建一个带标签的按钮

    实现
    Button b = new Button(“Sample”);
    //构造的是一个标签为“Sample”的标签

    当用户用鼠标单击按钮时,AWT事件处理系统向按钮发送一个ActionEvent事件对象

    应用程序需要为按钮注册事件监听程序并实现ActionListenner接口

0 0
原创粉丝点击