1. Trang chủ
  2. » Cao đẳng - Đại học

SLIDE môn JAVA CHƯƠN 6 graphical user interface

39 296 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 39
Dung lượng 294 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 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 2

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

Trang 3

1 Giới thiệu về GUI

Trang 4

 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.

4/25

1 Giới thiệu về GUI

Trang 5

 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 6

2 Vật chứa (Container)

Trang 7

 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

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

Trang 8

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

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

Trang 9

 Ví dụ

import javax.swing.*;

public class MyFrame extends JFrame {

public MyFrame(String title){

super(title);

}

public static void main(String[] args){

MyFrame myframe=new MyFrame("Hello");

myframe.setSize(300, 200);

myframe.setVisible(true);

myframe.setDefaultCloseOperation(Jframe.EXIT_ON_ CLOSE);

}

Vật chứa (Container)

Trang 10

 JPanel đượ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: JPanel()

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

Trang 11

3 Thành phần (Components)

Trang 12

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

12/25

3 Thành phần (Components)

Trang 17

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

17/25

Thành phần (Components)

Trang 18

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

Choice colors=new Choice();

colors.addItem("Red");

colors.addItem("Green");

18/25

Thành phần (Components)

Trang 19

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

String[] colors= {“Red”,”Green”,”Blue”};

JComboBox cb=new JComboBox(color);

19/25

Thành phần (Components)

Trang 20

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

Trang 21

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

Trang 22

 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 setSize(Dimension p)

 public void setBounds(Rectangle r)

22/25

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

Trang 24

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

Các thành phần được

sắp xếp trong container

từ trái sang phải, từ trên

xuống dưới theo thứ tự

chúng được đưa vào.

Trang 25

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

 public FlowLayout(int align, int hGap, int vGap)

Xây dựng một FlowLayout mới có cách sắp hàng

(alignment), khoảng trống ngang (horizontal gap), khoảng trống dọc (vertical gap) xác định Các khoảng trống giữa

các thành phần được tính bằng pixel.

 public FlowLayout(int alignment)

Xây dựng một FlowLayout mới có alignment xác định,

khoảng trống ngang và dọc đều có mặc định bằng 5 pixel.

 public FlowLayout()

Xây dựng một FlowLayout mới có cách sắp hàng mặc định căn giữa và khoảng trống ngang và dọc mặc định bằng 5 pixel.

Trang 26

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 27

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

BorderLayout manager chia container

thành 5 khu vực: East, South, West, North, và

Center

Trang 29

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

 Các panel đóng vai trò như các container nhỏ

để nhóm các thành phần GUI

 Bạn nên đặt các thành phần GUI trong các

panel và đặt các panel trong một frame, hoặc

cũng có thể đặt panel trong panel

JPanel p = new JPanel();

p.add(new JButton("OK");

frame.getContentPanel().add(p);

Trang 31

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

GridLayout manager sắp xếp các thành phần trong một lưới (ma trận) với số hàng

và số cột được xác định bởi constructor

Các thành phần được đặt trong lưới từ

trái sang phải, từ trên xuống dưới.

Trang 32

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

 public GridLayout(int rows,int columns)

Xây dựng một GridLayout mới có số hàng và

số cột xác định

 public GridLayout(int rows, int

columns, int hGap, int vGap)

Xây dựng một GridLayout mới có số hàng và

số cột xác định, và khoảng trống ngang và dọc

giữa các thành phần được xác định

Trang 33

frame p2 p1

Trang 34

5 Xử lý sự kiện

Trang 35

 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

javax.swing.event

 Event (sự kiện): là tương tác của người dùng

vào một đối tượng nào đó trên GUI

• Ví dụ: di chuyển chuột, nhấn phím, nhả phím tại

Button “OK”

35/25

Xử lý sự kiện

Trang 36

 Đăng ký listener tại đối tượng phát sinh sự kiện

VD: button1.addActionListener(new

myListener())

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

các phương thức của listener.

class MyListener implements

ActionListener{

public void actionPerformed(ActionEvent e) {

//code

} }

36/25

Các bước xử lý sự kiện cách 1

Trang 37

public class ButtonEvent extends JFrame

implements ActionListener{

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

public void actionPerformed(ActionEvent e) {

Trang 38

public class ButtonEvent2 extends JFrame {

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

public static void main(String[] arg){

ButtonEvent2 myclass=new ButtonEvent2();

Trang 39

class myListener extends ActionListener {

public void actionPerformed(ActionEvent e) {

System.out.print("DDD");

}

} }

39/25

Xử lý sự kiện cách 2

Ngày đăng: 23/06/2017, 20:17

TỪ KHÓA LIÊN QUAN