【從零開始學 Java 程式設計】繁體簡體中文互轉小工具
【從零開始學 Java 程式設計】 線上教學課程目錄,使用 Java 程式語言,開發應用程式。
繁體簡體中文互轉小工具
在文字框內,輸入的文字可以快速轉換為繁體或是簡體中文,並提供快速複製文字框內功能
執行畫面
使用第三方 Lib : Opencc4j
Opencc4j 支持中文繁简体转换,考虑到词组级别
dependencies {
compile 'com.github.houbb:opencc4j:1.1.0'
}
繁體轉簡體中文
String original = "從零開始學 Java 程式設計";
String result = ZhConverterUtil.convertToSimple(original);
簡體轉繁體中文
String original = "从零开始学 Java 程式设计";
String result = ZhConverterUtil.convertToTraditional(original);
完整程式碼
import com.github.houbb.opencc4j.util.ZhConverterUtil;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DemoChineseConvert {
private JTextArea jTextArea;
public void addComponentsToPane(Container pane) {
//預設是 BorderLayout,可以不用再設定
//pane.setLayout(new BorderLayout());
JPanel panelNorth = new JPanel();
panelNorth.setLayout(new GridLayout());
pane.add(panelNorth, BorderLayout.NORTH);
//簡體轉繁體
JButton btnCToT = new JButton("簡->繁");
btnCToT.setPreferredSize(new Dimension(100, 100));
btnCToT.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jTextArea != null) {
String res = ZhConverterUtil.convertToTraditional(jTextArea.getText());
jTextArea.setText(res);
}
}
});
panelNorth.add(btnCToT);
//繁體轉簡體
JButton btnTToC = new JButton("繁->簡");
btnTToC.setPreferredSize(new Dimension(100, 100));
btnTToC.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jTextArea != null) {
String res = ZhConverterUtil.convertToSimple(jTextArea.getText());
jTextArea.setText(res);
}
}
});
panelNorth.add(btnTToC);
//複製
JButton btnCopy = new JButton("複製");
btnCopy.setPreferredSize(new Dimension(100, 100));
btnCopy.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jTextArea != null) {
jTextArea.selectAll();
jTextArea.copy();
}
}
});
panelNorth.add(btnCopy);
//輸入多行文字框
JScrollPane jScrollPaneCenter = new JScrollPane();
jTextArea = new JTextArea();
jTextArea.setPreferredSize(new Dimension(300, 300));
jTextArea.setLineWrap(true);
jTextArea.setWrapStyleWord(true);
jScrollPaneCenter.setViewportView(jTextArea);
pane.add(jScrollPaneCenter, BorderLayout.CENTER);
}
public DemoChineseConvert() {
JFrame frame = new JFrame("HKT線上教室-繁簡互轉小工具");
// 獲取螢幕解析度
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
// frame.setSize(dimension.width / 2, dimension.height / 2);
//設定視窗顯示在螢幕畫面中間位置
int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
frame.setLocation(x, y);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設定關閉可以關掉程式
//在 Pane 畫面中加入元件
addComponentsToPane(frame.getContentPane());
frame.pack();
frame.setVisible(true);
}
//最一開始程式進入點
public static void main(String[] args) {
//使用 invokeLater 確保 UI 在排程執行緒內
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new DemoChineseConvert();
}
});
}
}
那這次的課程就介紹到這邊囉~
順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰~