Bài 35: Component trong Java AWT - Lập trình Java cơ bản

Đăng bởi: Admin | Lượt xem: 3698 | Chuyên mục: Java


Một component có thể được đặt trên giao diện người dùng, có thể được thay đổi kích thước hay làm cho nhìn thấy được. Ví dụ được dùng phổ biến nhất là Textfield, Label, Checkbox, Textarea v.v… Các thành phần cao cấp khác như Scrollbar, Scrollpane và Dialog cũng tồn tại. Tuy nhiên chúng không được sử dụng thường xuyên.

1. Label

Đối tượng của lớp Label là một thành phần để đặt văn bản trong một vùng chứa. Nó được sử dụng để hiển thị một dòng văn bản chỉ đọc. Văn bản có thể được thay đổi bởi một ứng dụng nhưng người dùng không thể chỉnh sửa trực tiếp.  
Ví dụ:
import java.awt.Frame;
import java.awt.Label;
 
public class LabelExample {
    public static void main(String args[]) {
        Frame f = new Frame("Label Example");
        Label l1, l2;
        l1 = new Label("First Label.");
        l1.setBounds(50, 100, 100, 30);
        l2 = new Label("Second Label.");
        l2.setBounds(50, 150, 100, 30);
        f.add(l1);
        f.add(l2);
        f.setSize(400, 200);
        f.setLayout(null);
        f.setVisible(true);
    }
}
Kết quả thu được:

2. Button

Lớp Button trong Java AWT được sử dụng để tạo button được gắn nhãn có triển khai độc lập nền tảng.
Ví dụ:
import java.awt.Button;
import java.awt.Frame;

public class ButtonExample {
    public static void main(String[] args) {
        Frame f = new Frame("Button Example");
        Button b = new Button("Click Here");
        b.setBounds(50, 100, 80, 30);
        f.add(b);
        f.setSize(400, 200);
        f.setLayout(null);
        f.setVisible(true);
    }
}
Kết quả thu được:

3. Textfield

Đối tượng của một lớp TextField là một thành phần văn bản cho phép chỉnh sửa văn bản một dòng. Nó kế thừa lớp TextComponent.  
Ví dụ:
import java.awt.*;  
class TextFieldExample{  
public static void main(String args[]){  
    Frame f= new Frame("TextField Example");  
    TextField t1,t2;  
    t1=new TextField("Welcome to Javatpoint.");  
    t1.setBounds(50,100, 200,30);  
    t2=new TextField("AWT Tutorial");  
    t2.setBounds(50,150, 200,30);  
    f.add(t1); f.add(t2);  
    f.setSize(400,400);  
    f.setLayout(null);  
    f.setVisible(true);  
}  
}
Kết quả thu được:

4. TextArea

Đối tượng của một lớp TextArea là một vùng nhiều dòng để hiển thị văn bản. Nó cho phép chỉnh sửa văn bản nhiều dòng. Nó kế thừa lớp TextComponent.
Ví dụ:
import java.awt.*;  
public class TextAreaExample  
{  
     TextAreaExample(){  
        Frame f= new Frame();  
            TextArea area=new TextArea("Welcome to javatpoint");  
        area.setBounds(10,30, 300,300);  
        f.add(area);  
        f.setSize(400,400);  
        f.setLayout(null);  
        f.setVisible(true);  
     }  
public static void main(String args[])  
{  
   new TextAreaExample();  
}  
}
Kết quả thu được:

5. CheckBox

Lớp Checkbox được sử dụng để tạo một hộp kiểm. Nó được sử dụng để biến một tùy chọn on (true) hoặc off (false). Click vào một hộp kiểm thay đổi trạng thái của nó từ "on" thành "off" hoặc từ "off" thành "on".
import java.awt.*;  
import java.awt.event.*;  
public class CheckboxExample  
{  
     CheckboxExample(){  
        Frame f= new Frame("CheckBox Example");  
        final Label label = new Label();          
        label.setAlignment(Label.CENTER);  
        label.setSize(400,100);  
        Checkbox checkbox1 = new Checkbox("C++");  
        checkbox1.setBounds(100,100, 50,50);  
        Checkbox checkbox2 = new Checkbox("Java");  
        checkbox2.setBounds(100,150, 50,50);  
        f.add(checkbox1); f.add(checkbox2); f.add(label);  
        checkbox1.addItemListener(new ItemListener() {  
             public void itemStateChanged(ItemEvent e) {               
                label.setText("C++ Checkbox: "   
                + (e.getStateChange()==1?"checked":"unchecked"));  
             }  
          });  
        checkbox2.addItemListener(new ItemListener() {  
             public void itemStateChanged(ItemEvent e) {               
                label.setText("Java Checkbox: "   
                + (e.getStateChange()==1?"checked":"unchecked"));  
             }  
          });  
        f.setSize(400,400);  
        f.setLayout(null);  
        f.setVisible(true);  
     }  
public static void main(String args[])  
{  
    new CheckboxExample();  
}  
}
Kết quả thu được:

6. CheckBoxGroup

Đối tượng của lớp CheckboxGroup được sử dụng để nhóm một tập hợp các CheckBox lại với nhau. Tại một thời điểm chỉ có một nút hộp kiểm được phép ở trạng thái "on" và các nút hộp kiểm còn lại ở trạng thái "off". Nó kế thừa lớp Object.
Ví dụ:
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
 
public class CheckBoxExample2 {
    public CheckBoxExample2() {
        Frame f = new Frame("Ví dụ AWT CheckboxGroup");
        final Label label1 = new Label();
        label1.setBounds(50, 50, 200, 20);
        CheckboxGroup cbg = new CheckboxGroup();
        Checkbox checkbox1 = new Checkbox("C++", cbg, false);
        checkbox1.setBounds(100, 80, 50, 20);
        Checkbox checkbox2 = new Checkbox("Java", cbg, true);
        checkbox2.setBounds(100, 100, 50, 20);
        f.add(checkbox1);
        f.add(checkbox2);
        f.add(label1);
        checkbox1.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                label1.setText("C++ Checkbox: " + (e.getStateChange() == 1
                        ? "checked" : "unchecked"));
            }
        });
        checkbox2.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                label1.setText("Java Checkbox: " + (e.getStateChange() == 1
                        ? "checked" : "unchecked"));
            }
        });
        f.setSize(400, 200);
        f.setLayout(null);
        f.setVisible(true);
    }
 
    public static void main(String args[]) {
        new CheckBoxExample2();
    }
}
Kết quả thu được:

7. Choice

Đối tượng của lớp Choice được sử dụng để hiển thị menu popup của các lựa chọn. Lựa chọn do người dùng lựa chọn được hiển thị ở đầu trình đơn. Nó kế thừa lớp Component.
Ví dụ:
import java.awt.*;  
import java.awt.event.*;  
public class ChoiceExample  
{  
        ChoiceExample(){  
        Frame f= new Frame();  
        final Label label = new Label();          
        label.setAlignment(Label.CENTER);  
        label.setSize(400,100);  
        Button b=new Button("Show");  
        b.setBounds(200,100,50,20);  
        final Choice c=new Choice();  
        c.setBounds(100,100, 75,75);  
        c.add("C");  
        c.add("C++");  
        c.add("Java");  
        c.add("PHP");  
        c.add("Android");  
        f.add(c);f.add(label); f.add(b);  
        f.setSize(400,400);  
        f.setLayout(null);  
        f.setVisible(true);  
        b.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {       
         String data = "Programming language Selected: "+ c.getItem(c.getSelectedIndex());  
         label.setText(data);  
        }  
        });           
        }  
public static void main(String args[])  
{  
   new ChoiceExample();  
}  
}
Kết quả thu được:

8. List

Đối tượng của lớp List thể hiện một danh sách các mục văn bản. Với sự giúp đỡ của đối tượng List, người dùng có thể chọn một trong hai mục hoặc nhiều mục. Nó kế thừa lớp Component.
Ví dụ:
import java.awt.*;  
import java.awt.event.*;  
public class ListExample  
{  
     ListExample(){  
        Frame f= new Frame();  
        final Label label = new Label();          
        label.setAlignment(Label.CENTER);  
        label.setSize(500,100);  
        Button b=new Button("Show");  
        b.setBounds(200,150,80,30);  
        final List l1=new List(4, false);  
        l1.setBounds(100,100, 70,70);  
        l1.add("C");  
        l1.add("C++");  
        l1.add("Java");  
        l1.add("PHP");  
        final List l2=new List(4, true);  
        l2.setBounds(100,200, 70,70);  
        l2.add("Turbo C++");  
        l2.add("Spring");  
        l2.add("Hibernate");  
        l2.add("CodeIgniter");  
        f.add(l1); f.add(l2); f.add(label); f.add(b);  
        f.setSize(450,450);  
        f.setLayout(null);  
        f.setVisible(true);  
        b.addActionListener(new ActionListener() {  
         public void actionPerformed(ActionEvent e) {       
          String data = "Programming language Selected: "+l1.getItem(l1.getSelectedIndex());  
          data += ", Framework Selected:";  
          for(String frame:l2.getSelectedItems()){  
                   data += frame + " ";  
          }  
          label.setText(data);  
          }  
         });          
}  
public static void main(String args[])  
{  
   new ListExample();  
}  
}
Kết quả thu được:
Như vậy, thông qua bài viết này, mình đã giới thiệu đến các bạn những Component cơ bản trong gói Java AWT. Cảm ơn các bạn đã đọc.
Bài tiếp theo: Layout Manager trong Java AWT >>
vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!