Làm việc với lập trình Java Desktop để tạo giao diện đồ họa trong Java

Bạn đang học lập trình nhưng chưa biết làm giao diện đồ họa như thế nào ? Khám phá ngay bài viết này để hiểu rõ hơn về Java Swing sử dụng để thiết kế giao diện đồ họa trong lập trình Java.

Java Desktop là một hình thức phát triển ứng dụng sử dụng ngôn ngữ lập trình Java để xây dựng các phần mềm chạy trên máy tính cá nhân (PC), thường có giao diện đồ họa người dùng (GUI). Đây là một phần của lập trình Java hướng tới việc tạo ra các ứng dụng độc lập, không cần trình duyệt hay nền tảng web để hoạt động.

💡 Java Desktop dùng để làm gì?

Java Desktop thường được sử dụng để:

- Tạo phần mềm quản lý (quản lý bán hàng, quản lý sinh viên, quản lý kho…)

- Xây dựng ứng dụng tiện ích cá nhân như máy tính, ghi chú, lịch làm việc

- Phát triển công cụ nội bộ cho doanh nghiệp

- Tạo ứng dụng đồ họa hoặc ứng dụng xử lý dữ liệu

🧰 Công nghệ phổ biến trong Java Desktop

Java cung cấp một số thư viện để xây dựng giao diện người dùng:
  • AWT (Abstract Window Toolkit): Thư viện GUI cơ bản, hỗ trợ các thành phần như nút, hộp thoại, menu.
  • Swing: Thư viện GUI nâng cao hơn AWT, hỗ trợ nhiều thành phần hiện đại và dễ tùy biến.
  • JavaFX: Công nghệ GUI hiện đại, hỗ trợ đồ họa 2D/3D, hiệu ứng, media, CSS và FXML.

🎓 Ưu điểm của Java Desktop

  • Đa nền tảng: Chạy được trên Windows, macOS, Linux.
  • Bảo mật cao: Java có hệ thống quản lý bộ nhớ và bảo mật tốt.
  • Dễ học: Cú pháp rõ ràng, cộng đồng hỗ trợ lớn.
  • Tích hợp dễ dàng: Có thể kết nối với cơ sở dữ liệu, API, hoặc các thư viện bên ngoài.

Hướng dẫn làm việc với lập trình Java Desktop qua ví dụ

Dưới đây là hướng dẫn chi tiết cách làm việc với lập trình Java Desktop thông qua Java Swing, một thư viện phổ biến để xây dựng giao diện người dùng (GUI) trong Java. Chúng ta sẽ cùng nhau tạo một ứng dụng đơn giản: Máy tính cộng hai số.

Bước 1: Giới thiệu về Java Swing

Java Swing là một phần của thư viện Java Foundation Classes (JFC), cung cấp các thành phần GUI như nút bấm, hộp văn bản, bảng, menu,... để xây dựng ứng dụng desktop.

Bước 2: Cài đặt môi trường

Để lập trình Java Desktop, bạn cần:
- JDK (Java Development Kit) – tải từ Oracle
- IDE như IntelliJ IDEA, Eclipse hoặc NetBeans

Ví dụ 1: Xây dựng chương trình cộng hai số bằng java desktop

Mã nguồn Java:

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class SimpleCalculator {
    public static void main(String[] args) {
        // Tạo frame
        JFrame frame = new JFrame("Máy tính cộng hai số");
        frame.setSize(300, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);
 
        // Tạo các thành phần
        JLabel label1 = new JLabel("Số thứ nhất:");
        label1.setBounds(20, 20, 100, 25);
        JTextField text1 = new JTextField();
        text1.setBounds(120, 20, 150, 25);
 
        JLabel label2 = new JLabel("Số thứ hai:");
        label2.setBounds(20, 50, 100, 25);
        JTextField text2 = new JTextField();
        text2.setBounds(120, 50, 150, 25);
 
        JButton button = new JButton("Tính tổng");
        button.setBounds(90, 90, 120, 30);
 
        JLabel resultLabel = new JLabel("Kết quả:");
        resultLabel.setBounds(20, 130, 250, 25);
 
        // Xử lý sự kiện khi nhấn nút
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    int num1 = Integer.parseInt(text1.getText());
                    int num2 = Integer.parseInt(text2.getText());
                    int sum = num1 + num2;
                    resultLabel.setText("Kết quả: " + sum);
                } catch (NumberFormatException ex) {
                    resultLabel.setText("Vui lòng nhập số hợp lệ!");
                }
            }
        });
 
        // Thêm thành phần vào frame
        frame.add(label1);
        frame.add(text1);
        frame.add(label2);
        frame.add(text2);
        frame.add(button);
        frame.add(resultLabel);
 
        // Hiển thị frame
        frame.setVisible(true);
    }
}
Trong đó:
- JFrame: cửa sổ chính của ứng dụng.
- JLabel, JTextField, JButton: các thành phần giao diện.
- ActionListener: xử lý sự kiện khi người dùng nhấn nút.
- setBounds(x, y, width, height): định vị trí và kích thước của thành phần.

Ví dụ 2: Xây dựng ứng dụng ghi chú đơn giản bằng Java Swing

Ứng dụng ghi chú sẽ có các chức năng cơ bản:

+ Nhập nội dung ghi chú
+ Lưu ghi chú vào file .txt
+ Mở lại ghi chú từ file
+ Xóa nội dung ghi chú

Đoạn lập trình Java xử lý như sau:

import javax.swing.*;
import java.awt.event.*;
import java.io.*;
 
public class NoteApp {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Ứng dụng ghi chú");
        frame.setSize(500, 400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);
 
        JTextArea textArea = new JTextArea();
        JScrollPane scrollPane = new JScrollPane(textArea);
        scrollPane.setBounds(20, 20, 440, 250);
        frame.add(scrollPane);
 
        JButton saveButton = new JButton("Lưu");
        saveButton.setBounds(20, 290, 100, 30);
        frame.add(saveButton);
 
        JButton openButton = new JButton("Mở");
        openButton.setBounds(130, 290, 100, 30);
        frame.add(openButton);
 
        JButton clearButton = new JButton("Xóa");
        clearButton.setBounds(240, 290, 100, 30);
        frame.add(clearButton);
 
        JLabel statusLabel = new JLabel("");
        statusLabel.setBounds(20, 330, 400, 30);
        frame.add(statusLabel);
 
        // Xử lý nút Lưu
        saveButton.addActionListener(e -> {
            try {
                FileWriter writer = new FileWriter("ghichu.txt");
                writer.write(textArea.getText());
                writer.close();
                statusLabel.setText("Đã lưu ghi chú vào ghichu.txt");
            } catch (IOException ex) {
                statusLabel.setText("Lỗi khi lưu ghi chú!");
            }
        });
 
        // Xử lý nút Mở
        openButton.addActionListener(e -> {
            try {
                BufferedReader reader = new BufferedReader(new FileReader("ghichu.txt"));
                textArea.setText("");
                String line;
                while ((line = reader.readLine()) != null) {
                    textArea.append(line + "\n");
                }
                reader.close();
                statusLabel.setText("Đã mở ghi chú từ ghichu.txt");
            } catch (IOException ex) {
                statusLabel.setText("Không tìm thấy file ghi chú!");
            }
        });
 
        // Xử lý nút Xóa
        clearButton.addActionListener(e -> {
            textArea.setText("");
            statusLabel.setText("Đã xóa nội dung ghi chú");
        });
 
        frame.setVisible(true);
    }
}
Hy vọng qua bài viết này đã giúp các bạn học lập trình java hiểu rõ hơn về Java Swing cũng như biết cách thiết kế giao diện đồ họa trong java qua những ví dụ minh họa chi tiết ở trên. Chúc các bạn học tập tốt !

Bên cạnh đó nếu bạn muốn bắt đầu chinh phục Java có thể đăng ký tham gia khóa học Java cơ bản cùng chuyên gia giàu kinh nghiệm Stanford tại đây: http://bit.ly/2SLPYFF và nhận ưu đãi hấp dẫn của Stanford trong thời gian này. Bạn có thể gọi theo hotline: 0963 723 236 - 0866 586 366 để được gọi lại tư vấn trực tiếp nhé.

=============================
☎ STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ
Hotline: 0963 723 236 - 0866 586 366
Website: https://stanford.com.vn
Facebook: http://bit.ly/2FN0TYb
Youtube: http://bit.ly/2TkKT7I

Tags: học java desktop, học java swing