Đánh dấu và nút chọn

Một phần của tài liệu Lap trinh huong doi tuong (Trang 127 - 129)

Checkbox và Radio button là các đối tượng dùng đểđánh dấu, hoặc chọn thông tin. Sự khác biệt giữa chúng là checkbox cho phép chọn đồng thời nhiều ô cùng lúc, trong khi đó, trong mỗi nhóm radio button, chỉ cho phép chọn một thông tin.

Phương thức chung của hai lớp này:

• setState(boolean)/getState(): Truy nhập đến trạng thái của nút. Các phương thức khởi tạo Checkbox:

• Checkbox(): Khởi tạo một ô đánh dấu rỗng.

• Checkbox(String): Khởi tạo ô đánh dấu có nhãn xác định.

• Checkbox(String, boolean): Khởi tạo ô đánh dấu có nhãn, có trạng thái xác định.

Các phương thức khởi tạo Radio button tương tự như Checkbox, ngoại trừ việc phải chỉ ra nhóm của các radio button:

• Checkbox(String, CheckboxGroup, boolean); Xử lí sự kiện thay đổi trạng thái nút chọn:

• Kiểu sự kiện: ItemEvent • Cài đặt giao tiếp: ItemListener

• Phương thức xủa lí: itemStateChange(ItemEvent)

Chương trình 6.8 minh hoạ việc dùng một nhóm radio button gồm ba nút, tương ứng với ba màu (RED, BLUE, GREEN). Khi click vào nút nào, thì màu nền sẽđổi theo màu đó.

Chương trình 6.8

package vidu.chuong6; import java.awt.*;

import java.awt.event.*;

public class RadioDemo extends Frame implements ItemListener{ Checkbox cbxRed, cbxBlue, cbxGreen;

public RadioDemo(){

super(“Radio demo!”);

//Chế độ hiển thị 3 dòng, 1 cột

this.setLayout(new GridLayout(3,1));

CheckboxGroup cbxg = new CheckboxGroup(); // Nhóm radio cbxRed = new Checkbox(“Red”, cbxg, true); // Nút red

cbxRed.addItemListener(this); // Bắt sự kiện

this.add(cbxRed);

cbxBlue = new Checkbox(“Blue”, cbxg, false);// Nút blue

cbxBlue.addItemListener(this); // Bắt sự kiện

this.add(cbxBlue);

cbxGreen = new Checkbox(“Green”, cbxg, false);// Nút green

cbxGreen.addItemListener(this); // Bắt sự kiện

this.add(cbxGreen);

// Phương thức bắt sự kiện click vào nút đóng frame this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){ System.exit(0);

} }); }

/* Phương thức xử lí sự kiện thay đổi trạng thái nút */ public void itemStateChange(ItemEvent ie){

if(ie.getStateChanged() == ItemEvent.SELECTED){ String item = (String)ie.getItem();

if(item.equals(“Red”)) // Đổi màu red this.setBackground(Color.red);

if(item.equals(“Blue”)) // Đổi màu blue

this.setBackground(Color.blue);

if(item.equals(“Green”)) // Đổi màu green

this.setBackground(Color.green);

this.repaint(); // Vẽ lại màu nền

} }

public static void main(String[] args) { // Khai báo đối tượng demo

RadioDemo myFrame = new RadioDemo();

myFrame.setSize(300,150); // Định kích cỡ frame

myFrame.setVisible(true); // Hiển thị frame

} }

Hình 6.7: Kết quả demo Radio Button

Một phần của tài liệu Lap trinh huong doi tuong (Trang 127 - 129)

Tải bản đầy đủ (PDF)

(173 trang)