AWT基本组件(1)

来源:互联网 发布:python yield什么意思 编辑:程序博客网 时间:2024/05/18 21:42

Label标签

import java.awt.*;

public class Label01{
        
    public static void main(String[] args){
        Frame f=new Frame("Label标签演示");
        f.setLayout(new GridLayout(4,1,10,10));
        TextArea text=new TextArea(10,5);
        Label l1,l2,l3;
        //Label();造一个空标签。
        //Label(String text);构使用指定的文本字符串构造一个新的标签,其文本对齐方式为左对齐。
        //Label(String text, int alignment);  构造一个显示指定的文本字符串的新标签,其文本对齐方式为指定的方式。
        //alignment有Label.CENTER居中Label.LEFT左Label.RIGHT右
        l1=new Label("This is Label01",Label.LEFT);
        l2=new Label();
        //设置标签对齐的方式
        l2.setAlignment(Label.CENTER);
        //为标签设置文本内容
        l2.setText("his is Label02");
        l3=new Label("This is Label03",Label.RIGHT);
        text.append("获取l2标签的当前对齐方式:"+l2.getAlignment()+
                "\n获取l2的文本:"+l2.getText()+
                "\n获取l3标签的当前对齐方式:"+l3.getAlignment()+
                "\n获取l3的文本:"+l3.getText()+
                "\n获取与此标签相关的 AccessibleContext"+l3.getAccessibleContext());
        f.add(l1);
        f.add(l2);
        f.add(l3);
        f.add(text);
        f.setSize(500, 400);
        f.setVisible(true);
    }    
}

           


Button按钮

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Button01 extends WindowAdapter implements ActionListener{

    Frame f;
    Button b;
    TextField tf;
    int flag=0;
    TextArea text=new TextArea();
    
    public Button01(){
        f=new Frame("按钮窗口演示");
        f.setLayout(new GridLayout(3,1,5,5));
        tf=new TextField();
        f.add(tf);        
        b=new Button("请按这里0.0");
        b.addActionListener(this);
        f.add(b);
        text=new TextArea(10,10);
        f.add(text);
        text.append("按钮标签名:"+b.getLabel()+"\n返回此按钮激发的动作事件的命令名称:"+b.getActionCommand()+
                "\n获取与此 Button 相关的 AccessibleContext:"+b.getAccessibleContext());
        f.addWindowListener(this);
        f.setSize(400, 300);
        f.setVisible(true);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new Button01();    
    }

    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        String s1="您按下了奇数次";
        String s2="您按下了偶数次";
        if(flag==0){
            tf.setText(s1);
            flag=1;
        }
        else{
            tf.setText(s2);
            flag=0;
        }
        
    }
    public void windowClosing(WindowEvent e){
        System.exit(0);
    }

}

      


CheckBox复选框

import java.applet.Applet;
import java.awt.*;

public class CheckBox01 extends Applet{
    
    String city[]={"北京","上海","香港","澳门","深圳","广州","珠海","杭州","佛山","东莞"};
    Checkbox cd[]=new Checkbox[10];
    Label l=new Label("复选框实例");
    public void init(){
        add(l);
        add(new Label("请选择你喜欢的城市:"));
        for(int i=0;i<city.length;i++){
            cd[i]=new Checkbox(city[i]);
            add(cd[i]);
        }
    }
}

                                       


单选按钮-----复选框组

创建单选框的方法是:public Checkbox(String s,CheckboxGroup c,boolean state)

1.创建一个CheckboxGroup 对象

2.创建检查按钮框,添加到框组对象中

import java.applet.Applet;
import java.awt.*;

public class CheckBox01 extends Applet{
    
    String city[]={"北京","上海","香港","澳门","深圳","广州","珠海","杭州","佛山","东莞"};
    Checkbox cd[]=new Checkbox[10];
    Label l=new Label("单选框实例");
    CheckboxGroup cbg=new CheckboxGroup();
    public void init(){
        add(l);
        add(new Label("请选择你喜欢最的城市:"));
        for(int i=0;i<city.length;i++){
            cd[i]=new Checkbox(city[i],cbg,false);
            add(cd[i]);
        }
    }
}

Choice 选项框

import java.applet.Applet;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class Choice01 extends Applet implements ItemListener{
    
    String city[]={"北京","上海","香港","澳门","深圳","广州","珠海","杭州","佛山","东莞"};
    TextArea tf=new TextArea(10,100);
    Choice c=new Choice();
    Label l=new Label("选项框实例");
    CheckboxGroup cbg=new CheckboxGroup();
    public void init(){
        add(l);
        for(int i=0;i<city.length;i++){
            c.add(city[i]);
        }
        add(c);
        c.addItemListener(this);
        add(tf);
    }
    public void itemStateChanged(ItemEvent e) {
        // TODO Auto-generated method stub
        tf.setText("获取此 Choice 菜单中指定索引上的字符串:"+e.getItem()
                +"\n获取当前选择的字符串表示形式:"+e.getItemSelectable());
    }
    
}


Canvas 画布

表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。

import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Canvas01 implements KeyListener,MouseListener{

    Canvas c;
    String s="";
    TextField tf;
    
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
        tf.setText("单击鼠标键");
        c.requestFocus();
    }

    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub
        tf.setText("按下鼠标键");
        c.requestFocus();
    }

    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub
        tf.setText("释放鼠标键");
        c.requestFocus();
    }

    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub
        tf.setText("鼠标进入了画布");
        c.requestFocus();
    }

    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub
        tf.setText("鼠标离开了画布");
        c.requestFocus();
    }

    public void keyTyped(KeyEvent e) {
        // TODO Auto-generated method stub
        tf.setText("按下鼠标键");
        s+=e.getKeyChar();
        c.getGraphics().drawString(s, 0, 20);
    }

    public void keyPressed(KeyEvent e) {
        // TODO Auto-generated method stub
        tf.setText("按下鼠标键");
        s+=e.getKeyChar();
        c.getGraphics().drawString(s, 0, 20);
    }

    public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub
        tf.setText("松开鼠标键");
        s+=e.getKeyChar();
        c.getGraphics().drawString(s, 0, 20);
    }
    public void paint(Graphics g){
        
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Frame f=new Frame("Canvas画布演示");
        Canvas01 canvas=new Canvas01();
        canvas.c=new Canvas();
        canvas.tf=new TextField();
        f.add("South",canvas.tf);
        f.add("Center",canvas.c);
        f.setSize(400, 300);
        canvas.c.addMouseListener(canvas);
        canvas.c.addKeyListener(canvas);
        f.setVisible(true);
    }

}

   


TextField 文本区域

      文本框,就是单行文字输入框,只有一行,不能多行,但一行的长度可以设置。

TextField()
          构造新文本字段。
TextField(int columns)
          构造具有指定列数的新空文本字段。TextField(String text)
          构造使用指定文本初始化的新文本字段。TextField(String text, int columns)
          构造使用要显示的指定文本初始化的新文本字段,宽度足够容纳指定列数。

import java.applet.Applet;
import java.awt.*;

public class TextField01 extends Applet{
    
    public void init(){
        //构造使用要显示的指定文本初始化的新文本字段,宽度足够容纳指定列数。
        TextField tf=new TextField("显示密码",20);
        TextArea text=new TextArea(10,50);
        add(new Label("用户名"));
        add(new TextField("请输入用户名",20));
        add(new Label("密   码"));
        add(tf);
        //setEchoChar(char c)设置此文本字段的回显字符。
        tf.setEchoChar('*');
        
        add(new Label("工   作"));
        // 构造具有指定列数的新空文本字段。
        add(new TextField(20));
        add(new Label("工   资"));
        //构造使用指定文本初始化的新文本字段。
        add(new TextField("3000"));
        add(new Label("年   龄"));
        // 构造新文本字段
        add(new TextField());
        
        text.append("tf文本字段是否有一个回显字符集    "+tf.echoCharIsSet()
                +"\n获取与此 TextField 关联的 AccessibleContext  "+tf.getAccessibleContext()
                +"\n tf获取此文本字段中的列数   "+tf.getColumns()
                +"\n tf获取用于回显的字符   "+tf.getEchoChar()
                +"\n获取此文本字段的最小尺寸    "+tf.getMaximumSize()
                +"\n 获取此文本字段的首选大小   "+tf.getPreferredSize());
        add(text);
    }
}


TextArea 文本区域

      是矩形区域,可以包括一行或者多行内容。其监听器TextListener,注册监听器方法addTextListener,要实现的抽象方法是textValueChanged(TextEvent e)。

TextArea()
          构造一个将空字符串作为文本的新文本区。
TextArea(int rows, int columns)
          构造一个新文本区,该文本区具有指定的行数和列数,并将空字符串作为文本。
TextArea(String text)
          构造具有指定文本的新文本区。
TextArea(String text, int rows, int columns)
          构造一个新文本区,该文本区具有指定的文本,以及指定的行数和列数。
TextArea(String text, int rows, int columns, int scrollbars)
          构造一个新文本区,该文本区具有指定的文本,以及指定的行数、列数和滚动条可见性。

scrolbars滚动条,常量有:

        SCROLLBARS_BOTH   ----  创建并显示垂直和水平滚动条

        SCROLLBARS_HORIZONTAL_ONLY  --------  只创建并显示水平滚动条

        SCROLLBARS_VERTICAL_ONLY  --------  只创建并显示垂直滚动条

        SCROLLBARS_NONE  --------  不显示滚动条

import java.applet.Applet;
import java.awt.*;

public class TextArea01 extends Applet{    
    public void init(){
        TextArea t1=new TextArea();
        TextArea t2=new TextArea(3,20);
        TextArea t3=new TextArea("构造具有指定文本的新文本区");
        TextArea t4=new TextArea("构造具有指定的文本,以及指定的行数和列数",3,20);
        TextArea t5=new TextArea(" 构造具有指定的文本,以及指定的行数、列数和滚动条可见性",4,30,TextArea.SCROLLBARS_BOTH);
        t1.setEditable(false);
        add(t1);
        add(t2);
        add(t3);
        add(t4);
        add(t5);
    }
}

其他方法看帮助文档


1 0
原创粉丝点击