Bài viết này hướng dẫn cách xây dựng một ứng dụng Java Swing hỗ trợ Unicode UTF-8 sử dụng Gradle, kèm theo ví dụ JFrame đơn giản.
Cấu trúc project và tệp demo được cung cấp ở cuối bài viết. :contentReference[oaicite:0]{index=0}
1. Lớp chính frmMain
package mygradleUnicode;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;
import nhitruc.com.function.Function;
public class frmMain {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
private JLabel msglabel;
public frmMain() {
prepareGUI();
}
private void prepareGUI() {
mainFrame = new JFrame("Unicode UTF-8 JFrame trong Java Swing");
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("", JLabel.CENTER);
msglabel = new JLabel("Chào mừng bạn đến với Java Gradle", JLabel.CENTER);
controlPanel = new JPanel(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setSize(800, 400);
mainFrame.setLocationRelativeTo(null);
mainFrame.setVisible(true);
}
private void showJFrameDemo() {
headerLabel.setText("JFrame Java Swing");
JFrame frame = new JFrame();
Function fun = new Function();
double so = 250000;
frame.setTitle(fun.formatNumberGroup(so, 2).toString());
frame.setLayout(new FlowLayout());
frame.add(msglabel);
JButton okButton = new JButton("Mở Frame");
okButton.addActionListener(e -> {
statusLabel.setText("Một frame được hiển thị với người dùng.");
frame.setSize(400, 200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
});
controlPanel.add(okButton);
}
public static void main(String[] args) {
frmMain demo = new frmMain();
demo.showJFrameDemo();
}
}
2. File build.gradle
apply plugin: 'java'
apply plugin: 'application'
compileJava { options.encoding = "UTF-8" }
mainClassName = 'mygradleUnicode.frmMain'
repositories {
mavenCentral()
}
dependencies {
implementation files('mylibs/nhitruc.com.jar')
testImplementation 'junit:junit:4.13'
}
Ngoài ra, bạn có thể cấu hình thêm:
3. Demo tải về
Ứng dụng minh họa cách hiển thị tiếng Việt Unicode trong Java Swing và cách cấu hình Gradle để tránh lỗi font.