1. Trang chủ
  2. » Công Nghệ Thông Tin

SLIDE GIẢNG DẠY - NGÔN NGỮ LẬP TRÌNH JAVA - CHƯƠNG 6 - LẬP TRÌNH GUI

40 414 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 375,5 KB

Nội dung

 GUI cung cấp chức năng nhập liệu theo cách thân thiện với người dùng  Các bộ thư viện: AWT, SWING, SWT…  AWT là viết tắt của Abstract Windowing Toolkit  AWT là một bộ các lớp trong

Trang 2

 Giới thiệu về GUI (Graphical user interface)

Trang 3

 GUI cung cấp chức năng nhập liệu theo cách

thân thiện với người dùng

 Các bộ thư viện: AWT, SWING, SWT…

 AWT là viết tắt của Abstract Windowing

Toolkit

 AWT là một bộ các lớp trong Java cho phép

chúng ta tạo GUI và chấp nhận các nhập liệu

của người dùng thông qua bàn phím và chuột.

3/25

Giới thiệu về GUI

Trang 4

 AWT cung cấp các thành phần khác nhau để

tạo GUI:

• Vật chứa (Container )

• Thành phần (Component)

• Trình quản lý cách trình bày (Layout manager)

• Đồ họa (Graphic) và các tính năng vẽ (draw)

Trang 5

 Gói AWT chứa các lớp, giao diện và các gói

Trang 6

 Container là vùng mà bạn có thể đặt các thành phần giao diện của bạn vào đó

 Gói java.awt chứa một lớp gọi là Container

 Frame và Panel là các vật chứa thường được

Trang 7

 Frame: các constructor để tạo frame

• Frame(): Tạo một frame nhưng không hiển thị

Trang 8

 Ví dụ

import java.awt.*;

public class MyFrame extends Frame {

public MyFrame(String title){

super(title);

}

public static void main(String[] args){

MyFrame myframe=new MyFrame("Hello"); myframe.setSize(300, 200);

Trang 9

 Panel được sử dụng để nhóm một số các thành phần lại với nhau

• Hàm khởi tạo: Panel()

 Dialog: là một đối tượng cửa sổ con của một

Trang 10

 Ví dụ

public class MyPanel extends Panel {

public static void main(String[] args){

MyPanel p=new MyPanel();

Frame f=new Frame("Test Panel");

Trang 11

 Các lớp thành phần

11/25

Thành phần (Components)

Trang 16

 Checkbox và RadioButton

• Checkbox()

• Checkbox(String text)

• Tạo RadioButton

CheckboxGroup cg=new CheckboxGroup();

Checkbox male=new Checkbox(“small", cg, true);

Checkbox female=new Checkbox(“medium", cg, false);

16/25

Thành phần (Components)

Trang 17

 Danh sách chọn lựa (Choice List)

Choice colors=new Choice();

colors.addItem("Red");

colors.addItem("Green");

17/25

Thành phần (Components)

Trang 18

 Các kiểu trình bày (Layout manager)

Trang 19

 Null layout: khi không sử dụng layout

manager

• setLayout(null)

• Sử dụng các hàm thiết lập vị trí

 public void setLocation(Point p)

 public void setSize(Dimension p)

 public void setBounds(Rectangle r)

19/25

Quản lý cách trình bày

Trang 20

FlowLayout manager

• ‘FlowLayout’ là layout manager mặc định cho

Applet và Panel

• Các thành phần được xắp xếp từ góc trái trên đến

góc phải dưới của màn hình

Trang 21

BorderLayout Manager

• ‘BorderLayout’ là layout manager mặc định cho

‘Window’, ‘Frame’ và ‘Dialog’

• Layout này xắp xếp tối đa 5 thành phần trong một container

Trang 24

 GUI là mô hình hướng sự kiện (event-driven)

• Phát sinh các sự kiện khi người dùng tương tác GUI

• Thông tin về sự kiện được chứa trong các đối tượng

thừa kế từ lớp java.awt.event hoặc or

Trang 25

 Event source (nguồn sự kiện): Đối tượng sản sinh

sự kiện

 Bộ lắng nghe (listener): nhận và xử lý sự kiện

 Nhiều bộ nghe có thể được đăng ký cho 1 đối tượng

 Một bộ nghe có thể đăng ký cho nhiều đối tượng

25/25

Xử lý sự kiện

Trang 26

 Ví dụ: Xử lý sự kiện khi 1 nút được nhấn

26/25

Xử lý sự kiện

Trang 27

 Cài đặt giao diện listener thích hợp

VD: class MyListener implements ActionListener

 Thi hành các phương thức của listener.

class MyListener implements

ActionListener{

public void actionPerformed(ActionEvent e) {

//code

} }

27/25

Xử lý sự kiện

Trang 28

 Xác định tất cả các thành phần tạo ra sự kiện

Đăng ký bộ nghe sự kiện (event listener) đến 1 thành phần

obj: thành phần tạo ra sự kiện

h: là bộ nghe sự kiện loại XX

VD: button1.addActionListener(new

myListener())

28/25

Xử lý sự kiện

Trang 29

 Code 1

class MyListener implements ActionListener{

public void actionPerformed(ActionEvent e)

Trang 30

public class ButtonEvent extends Frame {

private Button btn=new Button("Click Here");

public static void main(String[] arg){

ButtonEvent myclass=new ButtonEvent();

Trang 31

 Code 2

public class ButtonEvent2 extends Frame

implements ActionListener{

private Button btn=new Button("Click Here");

public void actionPerformed(ActionEvent e) {

Trang 32

public static void main(String[] arg){

ButtonEvent myclass=new ButtonEvent();

Trang 33

 Bảng sau đây chỉ ra các sự kiện khác nhau và

mô tả về chúng

33/25

Xử lý sự kiện

Trang 34

 Các interface của các listener

34/25

Xử lý sự kiện

ComponentListener

Trang 35

 Danh sách các listener cho các thành phần

35/25

Xử lý sự kiện

Trang 36

 Lấy thông tin event:

• Object getSource(): trả lại đối tượng đã gây ra

Trang 37

Các lớp thích nghi (Event Adapters)

• Nhiều listener interface có nhiều hơn 1 phương thức

• Sử dụng chi 1 phương thức của interface, ta phải

thực thi tất cả các phương thức => không cần thiết

37/25

Xử lý sự kiện

Trang 38

Các lớp thích nghi (Event Adapters)

• Sử dụng Adapter, ta chỉ cần định nghĩa phương

Trang 39

class MyAdapter extends WindowAdapter{

public void windowClosing (WindowEvent event)

Trang 40

 Các lớp lồng vô danh (Anonymous Inner

Ngày đăng: 29/06/2017, 22:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w