GIAO DIỆN ĐỒ HỌA<br />
NGƯỜI DÙNG<br />
<br />
Java GUI #1<br />
PHẠM DUY TRUNG<br />
Bộ môn Kỹ thuật Phần mềm<br />
<br />
Từ khóa<br />
• AWT – Abstract Windows Toolkit<br />
• SWING<br />
• JFC – Java Foundation Classes<br />
• Java FX<br />
<br />
duytrung.tcu@gmail.com<br />
<br />
Giao diện người - máy<br />
Là cách phần mềm máy tính tương tác với con người<br />
Giao diện dòng lệnh – Command Line Interface<br />
<br />
Giao diện đồ họa – Graphical User Interface<br />
Giao diện cảm ứng – Touch User Interface<br />
Đa phương tiện (âm thanh, hoạt họa…) – Multimedia<br />
<br />
Trí tuệ máy tính (nhận dạng cử chỉ, nhận dạng tiếng nói, trợ lý ảo…)<br />
<br />
duytrung.tcu@gmail.com<br />
<br />
GUI trong ngôn ngữ lập trình<br />
• Không phải ngôn ngữ lập trình nào cũng hỗ trợ tạo GUI<br />
• Widget/control/component ám chỉ đến các phần tử tương tác<br />
trong GUI, như cửa sổ, nút bấm, thanh cuộn, danh sách…<br />
• Component như những viên gạch xây nên ứng dụng<br />
• GUI toolkit/library là một tập hợp chuyên biệt các component<br />
để xây dựng nên GUI, thường tích hợp với một rendering engine<br />
cụ thể<br />
Các toolkit tích hợp: Cocoa, Carbon trong MacOS; Windows API trong<br />
Windows<br />
Các toolkit bậc cao: Qt, MFC, WPF, AWT, Swing, JavaFX…<br />
duytrung.tcu@gmail.com<br />
<br />
Abstract Window Toolkit<br />
• Là thư viện API tạo GUI đầu tiên của Java<br />
• Why abstract? Trong bộ công cụ này, Java chỉ xây dựng các lớp<br />
trừu tượng hoặc implements các interface mô tả các đối tượng<br />
• Khi thực thi, các đối tượng (cửa sổ, nút bấm, thanh cuộn…) thực<br />
chất do hệ điều hành thực hiện<br />
• Cơ chế tương tự như các lớp con kế thừa lớp cha trừu tượng sẽ<br />
cung cấp hành vi cho nó<br />
<br />
→ Platform–dependent : phụ thuộc vào hệ điều hành<br />
duytrung.tcu@gmail.com<br />
<br />