AWT基本組件(1)

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);
    }
}

其他方法看幫助文檔


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章