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

lập trình giao diện đồ họa

75 519 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 75
Dung lượng 1,11 MB

Nội dung

Gv: Văn Thiên Hoàng 5/40Object BorderLayoutCardLayoutCheckboxGroupColor DimensionEvent FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout ImageInsets PointPolygonRectangleToolkitMe

Trang 1

Lập Trình Giao Điện Đồ Hoạ

Trang 3

Gv: Văn Thiên Hoàng 3/40

1 Giới thiệu

• Java cung cấp hai gói hỗ trợ cho lập trình giao diện đồ

hoạ là: java.awt và javax.swing.

• AWT (Abstract Window Toolkit) là bộ công cụ lập trình

giao diện đồ hoạ trên Windows.

• SWING là mô hình phát triển của AWT theo xu hướng

độc lập với hệ thống.

Trang 4

2 Cấu trúc AWT

• AWT bao gồm nhiều class, giao diện, gói cho

phép kế thừa, từ đó lập trình viên có thể tạo ra nhiều loại control (thành phần giao diện) đa

dạng theo ý mình.

Trang 5

Gv: Văn Thiên Hoàng 5/40

Object

BorderLayoutCardLayoutCheckboxGroupColor

DimensionEvent

FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout

ImageInsets

PointPolygonRectangleToolkitMenuComponent

ButtonCanvasCheckbox

ChoiceContainer

ScrollBar

LabelList

Panel

WindowScrollPane

Applet

DialogFrame

TextComponent

TextFieldTextArea

MenuBarMenuItem Menu

PopupMenuCheckboxMenuItem

AWTExceptionAWTError

ExceptionError

Trang 6

3 Lớp Component

• Lớp Component là lớp trừu tượng cơ sở của tất cả các

thành phần AWT.

• Component cung cấp các chức năng để xử lý các sự

kiện, thay đổi kích thước các thành phần, điều khiển font, màu và vẽ lên thành phần.

• Một số phương thức:

• Void setSize(int width, int height) : đặt kích thước cho

các thành phần.

Trang 7

Gv: Văn Thiên Hoàng 7/40

• Void setFont(Font f): đặt lại font cho thành phần.

• Void setEnable(boolean b): quy định thành phần có hiện

thị trên màn hình hay không.

Trang 8

BorderLayoutCardLayoutCheckboxGroupColor

DimensionEvent

FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout

ImageInsetsMenuComponent

ButtonCanvasCheckbox

ChoiceContainer

ScrollBar

LabelList

Panel

WindowScrollPane

Applet

DialogFrame

TextComponent

TextFieldTextArea

MenuBarMenuItem CheckboxMenuItem

Trang 9

Gv: Văn Thiên Hoàng 9/40

4 Lớp Container

• Lớp Container: kế thừa từ lớp Component, là lớp chứa

các thành phần khác để xây dựng những giao diện phức tạp.

• Phương thức của lớp Container kế thừa từ lớp

Component, bổ sung thêm phương thức:

• Void add(Component c): thêm một thành phần vào

Container.

Trang 10

4 Lớp Container

• Các lớp con của lớp Container:

• Lớp Panel: là một thành phần chứa kế thừa từ

Container.

• Lớp Window: kế thừa từ lớp Container, đai diện

cho một cửa sổ nhưng không có tiêu đề, menu.

• ScrollPane: là tạo cửa sổ cuộn.

Trang 11

Gv: Văn Thiên Hoàng 11/40

Object

BorderLayoutCardLayoutCheckboxGroupColor

DimensionEvent

FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout

ImageInsets

PointPolygonRectangleToolkitMenuComponent

ButtonCanvasCheckbox

ChoiceContainer

ScrollBar

LabelList

Panel

WindowScrollPane

Applet

DialogFrame

TextComponent

TextFieldTextArea

MenuBarMenuItem Menu

PopupMenuCheckboxMenuItem

AWTExceptionAWTError

ExceptionError

Trang 12

4.1 Lớp Frame

• Lớp Frame: kế thừa từ lớp Window, là lớp dùng để tạo

cửa sổ trong đó chứa thanh tiêu đề, menu và các đường viền.

• Layout Manager mặc định là: BorderLayout.

• Phương thức khởi tạo:

• Frame(): tạo một cửa sổ với tiêu đề trống.

• Frame(String title): tạo một cửa sổ với tiêu đề title.

Trang 13

Gv: Văn Thiên Hoàng 13/40

4.1 Lớp Frame

• Ví dụ: Tạo ra cửa sổ có kích thước 200,

200

Trang 14

4.1 Lớp Frame

Trang 15

Gv: Văn Thiên Hoàng 15/40

4.1 Lớp Frame

• Ví dụ: Tạo ra cửa sổ riêng có phương

phước khởi tạo có tên và kích thước.

Trang 16

4.1 Lớp Frame

Trang 17

Gv: Văn Thiên Hoàng 17/40

Object

BorderLayoutCardLayoutCheckboxGroupColor

DimensionEvent

FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout

ImageInsets

PointPolygonRectangleToolkitMenuComponent

ButtonCanvasCheckbox

ChoiceContainer

ScrollBar

LabelList

Panel

WindowScrollPane

Applet

DialogFrame

TextComponent

TextFieldTextArea

MenuBarMenuItem Menu

PopupMenuCheckboxMenuItem

AWTExceptionAWTError

ExceptionError

Trang 18

4.2 Lớp Dialog

• Dialog là lớp con lớp window, không có menu

và không cho phép phóng to/thu nhỏ hoặc thay đổi kích thước bằng mouse.

• Có hai trạng thái:

– Là modaless (mặc định)

– Hoặc modal (Khi được hiển thị, một modal Dialog

sẽ "khóa" hết các cửa sổ khác của ứng dụng cho đến khi Dialog đó được đóng.

Trang 19

Gv: Văn Thiên Hoàng 19/40

4.2 Lớp Dialog

Ví dụ: Hiển thị dialog dạng modal

Trang 20

4.2 Lớp Dialog

Ví dụ: Hiển thị dialog dạng modal

Trang 21

Gv: Văn Thiên Hoàng 21/40

Object

BorderLayoutCardLayoutCheckboxGroupColor

DimensionEvent

FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout

ImageInsets

PointPolygonRectangleToolkitMenuComponent

ButtonCanvasCheckbox

ChoiceContainer

ScrollBar

LabelList

Panel

WindowScrollPane

Applet

DialogFrame

TextComponent

TextFieldTextArea

MenuBarMenuItem Menu

PopupMenuCheckboxMenuItem

AWTExceptionAWTError

ExceptionError

Trang 22

4.3 Lớp Panel

• Panel là container không thể tồn tại độc

lập mà phải thuộc về một container nào

đó

• Panel là một vùng hình chữ nhật để chứa

các control, và buộc phải nằm trên một Window, hay một cửa sổ trình duyệt web hay một Panel khác

Trang 23

Gv: Văn Thiên Hoàng 23/40

4.3 Lớp Panel

Frame

Panel

sub-panels

Trang 24

4.3 Lớp Panel

• Layout Manager mặc định là FlowLayout

• Tạo Panel

– Panel panel = new Panel();

• Thêm các Components vào Panel

– panel.add(someComponent);

– panel.add(someOtherComponent);

Chú ý: Kích thước Panel được xác định bởi các

thành phần bên trong Panel.

Trang 25

Gv: Văn Thiên Hoàng 25/40

4.3 Lớp Panel

• Ví dụ: Hiển thị bốn button trên Panel.

Trang 26

4.3 Lớp Panel

Trang 27

Gv: Văn Thiên Hoàng 27/40

Object

BorderLayoutCardLayoutCheckboxGroupColor

DimensionEvent

FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout

ImageInsets

PointPolygonRectangleToolkitMenuComponent

ButtonCanvasCheckbox

ChoiceContainer

ScrollBar

LabelList

Panel

WindowScrollPane

Applet

DialogFrame

TextComponent

TextFieldTextArea

MenuBarMenuItem Menu

PopupMenuCheckboxMenuItem

AWTExceptionAWTError

ExceptionError

Trang 28

– Canvas canvas = new Canvas();

– SpecializedCanvas canvas = new SpecializedCanvas();

Trang 29

Gv: Văn Thiên Hoàng 29/40

4.4 Lớp Canvas

• Ví dụ: Tạo một lớp kết thừa lớp Canvas để vẽ

hình tròn

Trang 30

4.4 Lớp Canvas

• Ví dụ: Tạo một lớp kết thừa lớp Canvas để vẽ

hình tròn

Trang 31

Gv: Văn Thiên Hoàng 31/40

4.4 Lớp Canvas

Trang 32

4.4 Lớp Canvas

Trang 33

Gv: Văn Thiên Hoàng 33/40

4 Một số thành phần cơ bản

Trang 34

BorderLayoutCardLayoutCheckboxGroupColor

DimensionEvent

FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout

ImageInsetsMenuComponent

ButtonCanvasCheckbox

ChoiceContainer

ScrollBar

LabelList

Panel

WindowScrollPane

Applet

DialogFrame

TextComponent

TextFieldTextArea

MenuBarMenuItem CheckboxMenuItem

Trang 35

Gv: Văn Thiên Hoàng 35/40

Lớp Font & Color

• Lớp Font dùng để tạo chữ cho các thành phần

• Phương thức khởi tạo:

– Font(String tenFont, int kieu, int co);

Trang 37

Gv: Văn Thiên Hoàng 37/40

Lớp Label

• Dùng để tạo các nhãn trên cửa sổ.

• Phương thức khởi tạo:

– Label(): tạo nhãn trống.

– Label(String text): tạo nhãn chứa nội dung.

• Một số phương thức thường dùng:

– String getText(): trả về nội dung của nhãn.

– Void setText(String text): đặt nội dung vào nhãn.

Trang 38

Lớp Label

• Ví dụ: Chương trình hiển thị dòng chữ “chao Java –

AWT” trên màn hình đồ hoạ.

Trang 39

Gv: Văn Thiên Hoàng 39/40

Lớp Label

Trang 40

BorderLayoutCardLayoutCheckboxGroupColor

DimensionEvent

FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout

ImageInsetsMenuComponent

ButtonCanvasCheckbox

ChoiceContainer

ScrollBar

LabelList

Panel

WindowScrollPane

Applet

DialogFrame

TextComponent

TextFieldTextArea

MenuBarMenuItem CheckboxMenuItem

Trang 41

Gv: Văn Thiên Hoàng 41/40

Lớp TextField

• Lớp TextField: dùng để tạo các ô nhập dữ liệu.

• Phương thức khởi tạo:

– TextField(): tạo một TextField trống.

– TextField(String text):tạo một TextField chứa nội

dung text.

– TextField(int n): tạo TextField hiển thị được n kí tự.

Trang 42

Lớp TextField

• Các phương thức thường dùng:

– String getText();

– Void setText(String);

Trang 43

Gv: Văn Thiên Hoàng 43/40

Lớp TextField

• Ví dụ: Chương trình minh hoạ nhập dữ liệu đơn giản.

Trang 44

Lớp TextField

Trang 45

Gv: Văn Thiên Hoàng 45/40

Object

BorderLayoutCardLayoutCheckboxGroupColor

DimensionEvent

FontFlowLayoutFontMetricsGraphicsGridBagLayoutGridLayout

ImageInsets

PointPolygonRectangleToolkitMenuComponent

ButtonCanvasCheckbox

ChoiceContainer

ScrollBar

LabelList

Panel

WindowScrollPane

Applet

DialogFrame

TextComponent

TextFieldTextArea

MenuBarMenuItem Menu

PopupMenuCheckboxMenuItem

AWTExceptionAWTError

ExceptionError

Trang 47

Gv: Văn Thiên Hoàng 47/40

Lớp TextArea

• Các phương thức thường dùng:

– String getText()

– Void setText(String text)

– Void append(String text): thêm dòng text vào

cuối TextArea.

Trang 49

Gv: Văn Thiên Hoàng 49/40

Lớp Checkbox

• Dùng để tạo các hộ kiểm tra

• Phương thức khởi tạo

Trang 50

– CheckboxGroup cbg = new CheckboxGroup();

– CheckBox chk1 = new Checkbox(“Mau do”,cbg,true);

Trang 51

Gv: Văn Thiên Hoàng 51/40

Lớp Checkbox

Trang 52

Lớp Checkbox

Trang 53

Gv: Văn Thiên Hoàng 53/40

Lớp Choice

• Dùng để tạo các mục chọn kéo xuống.

• Phương thức khởi tạo:

– Choice()

Trang 55

Gv: Văn Thiên Hoàng 55/40

Lớp List

• Lớp List: dùng để tạo danh sách các mục chọn.

• Phương thức khởi tạo:

Trang 57

Gv: Văn Thiên Hoàng 57/40

Lớp List

• Ví dụ: tạo List chọn môn học

– List lst = new List();

– Lst.addItem(“Pascal”);

– Lst.addItem(“Java”);

– Lst.addItem(“Access”);

– Lst.addItem(“VisualBasic”);

Trang 58

– Lớp FlowLayout: trình bày theo thứ tự từ trái sang

phải, từ trên xuống.

– Lớp BorderLayout: trình bày các thành phần trong 5

Trang 59

Gv: Văn Thiên Hoàng 59/40

5 Trình bày các thành phần

• Là Layout mặc định của Panel, JPanel, và Applet

• Tự động thay đổi kích thước đối tượng vừa với nội dung

• Canh giữa trên dòng

• Phương thức khởi tạo

– FlowLayout()

– FlowLayout(int alignment)

– FlowLayout(int alignment, int hGap, int vGap)

Trang 60

5 Trình bày các thành phần

• Ví dụ: FlowLayout

Trang 61

Gv: Văn Thiên Hoàng 61/40

5 Trình bày các thành phần

• Ví dụ: FlowLayout

Trang 62

5 Trình bày các thành phần

• Khi trình bày bằng BorderLayout, để thêm một thành

phần vào lớp chứa dùng phương thức:

Trang 63

Gv: Văn Thiên Hoàng 63/40

5 Trình bày các thành phần

Trang 64

5 Trình bày các thành phần

Trang 65

Gv: Văn Thiên Hoàng 65/40

Trình bày các thành phần

• Lớp GridLayout: Sắp xếp các thành phần vào

một ô lưới nhiều dòng, cột.

• Phương thức khởi tạo

– GridLayout(int rows,int columns)

• Khi thêm các thành phần vào lớp chứa trình bày

bằng GridLayout sẽ thêm lần lượt vào từng ô từ trái qua, từ trên xuống.

Trang 66

Trình bày các thành phần

• Ví dụ

Trang 67

Gv: Văn Thiên Hoàng 67/40

Trình bày các thành phần

Trang 68

Trình bày các thành phần

• Trình bày tự do (Null layout): cho phép

trình các đối tượng tùy ý theo toạ độ

– Gọi phương thức: setLayout(null)

• Xác định vị trí và kích thước của thành

phần:

– setBounds(int left, int top, int width, int height)

Trang 69

Gv: Văn Thiên Hoàng 69/40

Trình bày các thành phần

Trang 70

Trình bày các thành phần

Trang 71

Gv: Văn Thiên Hoàng 71/40

Các Container lồng nhau

Trang 72

Các Container lồng nhau

Trang 73

Gv: Văn Thiên Hoàng 73/40

Các Container lồng nhau

Trang 74

GridBagLayout

Trang 75

Gv: Văn Thiên Hoàng 75/40

Bài tập

• Viết chương trình thiết kế trò chơi Mine Cho

phép chọn kích thước (số dòng, số cột) nhập vào từ JOptionPane

Ngày đăng: 24/10/2014, 00:30

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w