Giao diện đồ họa (Graphical User Interface) đóng một vai trò quan trọng trong các ứng dụng phần mềm. GUI giúp cho người sử dụng dễ dàng tương tác với chương trình thay vì việc phải làm theo từng bước các hướng dẫn dạng text nhàm chán và khó hiểu.
Trong Java, một GUI có thể bao gồm các thành phần đồ họa như button, textbox, label, list box,… Mỗi thành phần đồ họa là một đối tượng đồ họa của Java. Người dùng tương tác với các đối tượng này thông qua chuột và bàn phím. Các thành phần đồ họa kể trên là đối tượng được tạo ra từ lớp Component thuộc gói java.awt của Java.
Hình 7. 1 Các thành phần giao diện của AWT
AWT (Abstract Windowing Toolkit) là tập hợp các lớp Java cho phép người lập trình tạo ra giao diện đồ họa, nhận dữ liệu người dùng nhập từ chuột và bàn phím. AWT cung cấp các lớp dùng để quản lý các thành phần đồ họa, quản lý font chữ, quản lý các sự kiện (các tương tác của người dùng với các thành phần đồ họa). Gói AWT bao gồm các lớp, giao diện và các gói đồ họa khác. Các lớp của AWT như sau:
Hình 7. 2 Các gói giao diện đồ họa của AWT
Ngoài thư viện đồ họa là gói AWT được phát hành cho phiên bản JDK 1.0, Java hiện nay cung cấp thêm các gói thư viện nâng cấp lên từ AWT là các gói SWING cho phiên bản JDK 1.1 và JavaFX cho phiên bản JDK 8.
Bên cạnh các API đồ họa AWT / Swing / JavaFX được cung cấp trong JDK, một số tổ chức / nhà cung cấp khác cũng đã cung cấp API đồ họa làm việc với Java, như Bộ
Object CheckboxGroup Component MenuComponent FlowLayout BorderLayout GridLayout
106
công cụ tiện ích tiêu chuẩn của Eclipse (SWT) (được sử dụng trong Eclipse), Bộ công cụ web của Google (GWT) trong Android, API đồ họa 3D trong OpenGL(JOGL) và Java3D.