NỘI DUNG BÀI VIẾT
Java Swing là một phần của Java Foundation Classes (JFC) được sử dụng để tạo các ứng dụng window-based. Nó được xây dựng trên API AWT (Abstract Windowing Toolkit) và được viết hoàn toàn bằng Java.
Không giống như AWT, Java Swing cung cấp các thành phần không phụ thuộc vào nền tảng và nhẹ hơn.
Gói javax.swing cung cấp các lớp cho java swing API như JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser, v.v.
Sự khác nhau giữa AWT và Swing
Bảng dưới đây liệt kê một số điểm khác nhau giữa AWT và Swing:
Ghi chú: Đối tượng L&F là viết tắt của Look and Feel, bạn có thể hiểu đó là đối tượng thuộc về cảm quan.
Java AWT | Java Swing |
---|---|
Các thành phần AWT là phụ thuộc nền tảng | Các thành phần Java Swing là độc lập nền tảng |
Các thành phần AWT là nặng | Các thành phần Swing là gọn nhẹ |
AWT không hỗ trợ pluggable L&F | Swing hỗ trợ pluggable L&F |
AWT cung cấp ít thành phần hơn Swing | Swing cung cấp các thành phần mạnh mẽ hơn như table, list, scrollpanes, colorchooser, tabbedpane … |
AWT không theo sau MVC (Model View Controller), ở đây model biểu diễn dữ liệu, view biểu diễn sự trình bày và controller hoạt động như một Interface giữa model và view | Swing theo sau MVC |
JFC là gì?
Java Foundation Class (JFC) là một bộ các thành phần GUI đơn giản hóa sự phát triển của các ứng dụng desktop.
Nguồn video: TITV
Phân cấp các lớp Java Swing
Hệ thống phân cấp của API java swing được đưa ra dưới đây.
Các phương thức thường dùng của lớp Component
Các phương thức của lớp Component được sử dụng rộng rãi trong java swing được đưa ra dưới đây.
Phương thức | Mô tả |
---|---|
public void add(Component c) | thêm một thành phần vào thành phần khác. |
public void setSize(int width, int height) | thiết lập kích thước của thành phần. |
public void setLayout(LayoutManager m) | thiết lập trình quản lý bố cục (layout) cho thành phần. |
public void setVisible(boolean b) | thiết lập khả năng hiển thị của thành phần. Nó theo mặc định là false (ẩn) |
Ví dụ về Java Swing
Có hai cách để tạo khung (Frame):
- Bằng cách tạo đối tượng của lớp JFrame.
- Bằng cách kế thừa lớp JFrame.
Chúng ta có thể viết code của Swing bên trong hàm main(), constructor hoặc bất kỳ phương thức nào khác.
Chúng ta hãy xem một ví dụ swing đơn giản, nơi chúng ta đang tạo một button và thêm nó vào đối tượng JFrame bên trong phương thức main().
File: FirstSwingExample.java
public class FirstSwingExample {
public static void main(String[] args) {
JFrame f = new JFrame();
JButton b = new JButton("click");
b.setBounds(130, 50, 100, 40);
f.setTitle("Ví dụ Java Swing");
f.add(b);
f.setSize(400, 200);
f.setLayout(null);
f.setVisible(true);
}
}
Code language: JavaScript (javascript)
Để biên dịch các chương trình ví dụ trên cũng như các chương trình trong bài, bạn sử dụng command prompt. Tại thư mục chứa file mở CMD và gõ lệnh sau (chẳng hạn với ví dụ này).
javac<meta charset="utf-8"> FirstSwingExample.java
Code language: HTML, XML (xml)
Nếu không có lỗi nào xảy ra, tức là việc biên dịch chương trình của bạn đã thành công. Bạn chạy chương trình bởi sử dụng lệnh sau:
java <meta charset="utf-8">FirstSwingExample
Code language: HTML, XML (xml)
Kết luận
Trong bài viết trên, chúng ta đã thảo luận về Java Swing là gì, hệ thống phân cấp các lớp Swing Java.
Với tất cả các thành phần đi kèm với Swing trong Java, việc xây dựng các ứng dụng GUI được tối ưu hóa trở nên dễ dàng hơn.
Hy vọng thông qua bài viết này các bạn đã hiểu về Swing và biết cách ứng dụng nó khi sử dụng ngôn ngữ lập trình Java.
Happy learning!!!
Học Java Core: https://hocjava.com/category/java-core/