Java Swing - Giới thiệu Java Swing
Giới thiệu Java Swing
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
Có rất nhiều sự khác biệt giữa java awt và swing được đưa ra dưới đây.
No. | Java AWT | Java Swing |
---|---|---|
1) | 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. |
2) | Các thành phần AWT là nặng. | Các thành phần Swing là nhẹ. |
3) | AWT không hỗ trợ plugin. | Swing có hỗ trợ plugin. |
4) | AWT cung cấp ít thành phần hơn Swing. | Swing cung cấp nhiều thành phần mạnh mẽ hơn AWT như tables, lists, scrollpanes, colorchooser, tabbedpane, vv. |
5) | AWT không tuân theo MVC(Model View Controller) trong đó model biểu diễn data, view biểu diễn hiển thị và controller biểu diễn các action để kết nối model với view. |
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.
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.
Ví dụ Swing Java đơn giản
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
package vn.viettuts.swing;
import javax.swing.JButton;
import javax.swing.JFrame;
public class FirstSwingExample {
public static void main(String[] args) {
JFrame f = new JFrame();// tạo thể hiện của JFrame
JButton b = new JButton("click");// tạo thể hiện của JButton
b.setBounds(130, 50, 100, 40);// trục x , y , width, height
f.setTitle("Ví dụ Java Swing");
f.add(b);// thêm button vào JFrame
f.setSize(400, 200);// thiết lập kích thước cho của sổ
f.setLayout(null);// không sử dụng trình quản lý bố cục
f.setVisible(true);// hiển thị cửa sổ
}
}
Kết quả: