Lập trình Giao diện với Java Swing

Java Swing là gì ?

Java Swing là một phần của tập hợp các thành phần GUI hổ trợ việc xây dựng và phát triển các ứng dụng Desktop còn gọi là Java Foundation Classes ( JFC ).
Java Swing được dùng để tạo ra các ứng dụng với giao diện gọn nhẹ và độc lập với nên tảng. Java Swing được xây dựng và kế thừa từ AWT ( Abstract Windowing Toolkit ) được viết hoàn toàn bằng Java.

Cấu trúc của các Lớp trong Java Swing

Dưới đây là sơ đồ cấu trúc các Lớp trong Java Swing :

cau_truc_swing

 

Cấu trúc cơ bản của một chương trình Java Swing

Chúng ta, hãy cùng đi vào một ví dụ đơn giản để hiểu rõ hơn về các Lớp giao diện trong Java Swing đồng thời tìm hiểu về Cấu trúc căn bản của một chương trình Java Swing 😉

Ví dụ : Xây dựng chương trình Java Swing như hình bên dưới :

javaswing

Trước khi vào viết code, chúng ta cùng đi phân tích các thành có trong giao diện.

ex-swing

Đối chiếu phân tích trên với Sơ đồ cấu trúc các Lớp, sẽ giúp chúng ta có cái nhìn rõ hơn về các thành phần tạo nên Giao diện trong Swing 😉

cau_truc_swing

 

Như vậy, một Ứng dụng Java Swing sẽ được cấu thành từ 2 thành phần chính.

  1. Container : Khung chứa các thành phần JComponent. Có thể là Window ( JFrame, JDialog ) / JPanel.
  2. JComponent : Đây là các thành phần như JButton, JLabel, JTextField… Được chứa trong Container.

Code :

package kynangcntt.info;//Tên Pakage
//Khai báo thư viện dùng trong Chương trình
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.*;
// Lớp KynangcnttInfo kế thừa ( extends ) Lớp JFrame của Java Swing
public class KynangcnttInfo extends JFrame {
 // Khai báo các Components của Chương trình
 JPanel jp=new JPanel();
 JLabel label =new JLabel("Ví dụ Java Swing - kynangcntt.info");
 JButton btn=new JButton("OK");
 
// Viết hàm dựng để kết nối các Components vào Container
 public KynangcnttInfo(String title){
 
 super(title);
 
 jp.setLayout(new FlowLayout());// Set Layout cho JPanel jp
// Gắn các thành phần JButton btn, JLabel label vào JPanel pn
 jp.add(label);
 jp.add(btn);
 
// Khai báo 1 Container ctn và gắn JPanel pn vào.
 Container ctn=getContentPane();
 ctn.add(jp);
 }
 
 public static void main(String[] args) {
 // Khai báo đối tượng obj của Lớp KynangcnttInfo
// Và tiến hành gán các thuộc tính cho obj
 KynangcnttInfo obj=new KynangcnttInfo("kynangcntt.info");
 obj.setSize(240,160);//Gán kích thước
 obj.setVisible(true);//Hiển thị
 obj.setDefaultCloseOperation(EXIT_ON_CLOSE);// Click vào x để tắt.
 }
 
}
 

Đến đây chúng ta lại một lần nữa đối chiếu Code cùng Hình ảnh chương trình đã phân tích ở trên và cả Cấu trúc các Lớp Java Swing để hiểu rõ hơn về Cấu trúc một Chương trình Java Swing cùng các thành phần trong Java Swing.

Ở những bài tiếp theo chúng ta sẽ chia nó thành 2 phần :

  1. Component – Sắp xếp các Component trong giao diện sử dụng Layout Manager
  2. Cách bắt sự kiện trên Giao diện Java Swing