Rate this post

Java Swing là một bộ thư viện giao diện người dùng (UI) trong Java. Nó cung cấp các lớp và các công cụ để xây dựng các giao diện người dùng đa nền tảng cho các ứng dụng Java. Java Swing được viết trên cơ sở của AWT (Abstract Window Toolkit) và cho phép bạn xây dựng các giao diện người dùng đẹp, đa nền tảng và tùy chỉnh hơn. Nó cung cấp các thành phần giao diện người dùng, như các nút, thanh trượt, bảng và hộp thoại, và cung cấp các tính năng như sự kiện và xử lý sự kiện, hỗ trợ đồ họa và hiệu ứng.

Là một phần của Java Foundation Classes (JFC) được sử dụng để tạo các ứng dụng dựa trên cửa sổ . Nó được xây dựng trên API AWT (Bộ công cụ lướt gió trừu tượng) và hoàn toàn được viết bằng java.

Không giống như AWT, Java Swing cung cấp các thành phần nhẹ và độc lập với nền tảng.

Gói javax.swing cung cấp các lớp cho API java swing như JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser, v.v.

Các bài viết liên quan:

Lịch sử phát triển của java swing

Java Swing được phát triển bởi Sun Microsystems (hiện tồn Oracle) và được ra mắt vào năm 1997 với phiên bản Java Development Kit (JDK) 1.2. Nó đã thay thế bộ thư viện giao diện người dùng cũ hơn của Java, là Abstract Window Toolkit (AWT), với nhiều tính năng mới và tùy chỉnh hơn.

Trong những năm đầu tiên sau ra mắt, Java Swing đã gặp một số vấn đề về hiệu suất và tương thích với các hệ điều hành khác nhau. Tuy nhiên, các bản cập nhật và cải tiến đã được thực hiện trong những năm sau đó để khắc phục những vấn đề này.

Hiện nay, Java Swing vẫn được sử dụng trong rất nhiều ứng dụng Java và là một trong những bộ thư viện giao diện người dùng phổ biến nhất trong lập trình Java.

Sự khác biệt giữa AWT và Swing

Có nhiều điểm khác biệt giữa java awt và swing được đưa ra bên dưới.

No.Java AWTJava Swing
1)Các thành phần AWT phụ thuộc vào nền tảng .Các thành phần của Java swing độc lập với nền tảng .
2)Các thành phần AWT rất nặng .Các thành phần của xích đu có trọng lượng nhẹ .
3)AWT không hỗ trợ giao diện có thể cắm được .Swing hỗ trợ giao diện có thể cắm được .
4)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ư bảng, danh sách, màn hình cuộn, trình chọn màu, tabbedpane, v.v.
5)AWT không tuân theo MVC (Model View Controller) trong đó mô hình đại diện cho dữ liệu, khung nhìn đại diện cho bản trình bày và bộ điều khiển hoạt động như một giao diện giữa mô hình và chế độ xem.Swing theo MVC .

JFC là gì

Các lớp nền tảng Java (JFC) là một tập hợp các thành phần GUI giúp đơn giản hóa việc phát triển các ứng dụng máy tính để bàn.

Bạn có biết

  • Làm thế nào để tạo tệp jar runnable trong java?
  • Làm thế nào để hiển thị hình ảnh trên một nút đang xoay?
  • Làm cách nào để thay đổi màu thành phần bằng cách chọn màu từ ColorChooser?
  • Làm thế nào để hiển thị đồng hồ kỹ thuật số trong hướng dẫn swing?
  • Làm thế nào để tạo một notepad trong swing?
  • Làm thế nào để tạo trò chơi câu đố và trò chơi câu đố pic trong xích đu?
  • Làm thế nào để tạo trò chơi tic tac toe trong swing?

Hệ thống phân cấp của các lớp Java Swing

Phân cấp của API java swing được đưa ra bên dưới.

Các phương thức thường được sử dụng của lớp Thành phần

Các phương thức của lớp Thành phần được sử dụng rộng rãi trong java swing được đưa ra bên dưới.

MethodDescription
public void add(Component c)thêm một thành phần trên một 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)đặt trình quản lý bố cục 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ó là sai mặc định.

Các kiến thức cần nắm của java swing

Để sử dụng Java Swing để thiết kế giao diện người dùng, các kiến thức cần nắm bao gồm:

  1. Java Core: Java Swing là một thư viện giao diện người dùng trong Java, do đó cần có kiến thức vững về các khái niệm cơ bản của ngôn ngữ lập trình Java.
  2. Giao diện người dùng: Cần nắm vững các khái niệm về giao diện người dùng, như hệ thống layout, các thành phần giao diện người dùng (như button, label, text field, v.v.), sự kiện và xử lý sự kiện.
  3. Java Swing API: Cần hiểu các lớp và các phương thức của Java Swing API để tạo các thành phần giao diện người dùng và xử lý sự kiện.
  4. Design patterns: Java Swing sử dụng các design pattern để xây dựng các giao diện người dùng, như Model-View-Controller (MVC) pattern.
  5. JavaFX: JavaFX là một thư viện giao diện người dùng mới hơn của Java, có thể sử dụng thay thế cho Java Swing, cũng cần biết về nó.
  6. Các hướng dẫn khác:

Ví dụ về Java Swing

Có hai cách để tạo khung:

  • Bằng cách tạo đối tượng của lớp Frame (liên kết)
  • Bằng cách mở rộng lớp Frame (kế thừa)

Chúng ta có thể viết mã của swing bên trong hàm main (), hàm tạo hoặc bất kỳ phương thức nào khác.

Ví dụ về Java Swing đơn giản

Hãy xem một ví dụ xoay đơn giản trong đó chúng ta đang tạo một nút và thêm nó vào đối tượng JFrame bên trong phương thức main ().

import javax.swing.*;  
public class FirstSwingExample {  
public static void main(String[] args) {  
JFrame f=new JFrame();//creating instance of JFrame  
          
JButton b=new JButton("click");//creating instance of JButton  
b.setBounds(130,100,100, 40);//x axis, y axis, width, height  
          
f.add(b);//adding button in JFrame  
          
f.setSize(400,500);//400 width and 500 height  
f.setLayout(null);//using no layout managers  
f.setVisible(true);//making the frame visible  
}  
}  

Ví dụ về Swing by Association bên trong constructor

Chúng ta cũng có thể viết tất cả các mã tạo JFrame, JButton và lệnh gọi phương thức bên trong hàm tạo java.

File: Simple.java

import javax.swing.*;  
public class Simple {  
JFrame f;  
Simple(){  
f=new JFrame();//creating instance of JFrame  
          
JButton b=new JButton("click");//creating instance of JButton  
b.setBounds(130,100,100, 40);  
          
f.add(b);//adding button in JFrame  
          
f.setSize(400,500);//400 width and 500 height  
f.setLayout(null);//using no layout managers  
f.setVisible(true);//making the frame visible  
}  
  
public static void main(String[] args) {  
new Simple();  
}  
}  

SetBounds (int xaxis, int yaxis, int width, int height) được sử dụng trong ví dụ trên để đặt vị trí của nút.

Ví dụ đơn giản về Swing theo kế thừa

Chúng ta cũng có thể kế thừa lớp JFrame, vì vậy không cần tạo thể hiện của lớp JFrame một cách rõ ràng.

File: Simple2.java

import javax.swing.*;  
public class Simple2 extends JFrame{//inheriting JFrame  
JFrame f;  
Simple2(){  
JButton b=new JButton("click");//create button  
b.setBounds(130,100,100, 40);  
          
add(b);//adding button on frame  
setSize(400,500);  
setLayout(null);  
setVisible(true);  
}  
public static void main(String[] args) {  
new Simple2();  
}}  

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now