package bs.util.tool.commongui.plugins.more;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import com.spreada.utils.chinese.ZHConverter;
import bs.util.tool.commongui.GuiJPanel;
import bs.util.tool.commongui.GuiUtils;
/**
* 中文简繁体转换.
*/
public class ZHConverterVisual extends GuiJPanel {
private static final long serialVersionUID = 1L;
/**
* 简体文本域.
*/
private JTextArea simplifiedTextArea = createJTextArea(GuiUtils.font14_un);
/**
* 繁体文本域.
*/
private JTextArea traditionalTextArea = createJTextArea(GuiUtils.font14_un);
public ZHConverterVisual() {
// 边界布局
setLayout(new BorderLayout());
// Center,文字及转换结果输入输出域,使用2行1列的Grid布局,使其平均显示
JPanel textAreaPanel = new JPanel(new GridLayout(2, 1));
add(textAreaPanel, BorderLayout.CENTER);
JPanel scriptPanel = new JPanel(new BorderLayout());
addJLabel(scriptPanel, " 简体文本: ", GuiUtils.font14b_cn, BorderLayout.WEST);
scriptPanel.add(new JScrollPane(simplifiedTextArea), BorderLayout.CENTER);
textAreaPanel.add(scriptPanel);
JPanel resultPanel = new JPanel(new BorderLayout());
addJLabel(resultPanel, " 繁体文本: ", GuiUtils.font14b_cn, BorderLayout.WEST);
resultPanel.add(new JScrollPane(traditionalTextArea), BorderLayout.CENTER);
textAreaPanel.add(resultPanel);
// East,操作区域,使用BorderLayout布局
JPanel actionPanel = new JPanel(new BorderLayout());
add(actionPanel, BorderLayout.EAST);
// 填充
actionPanel.add(new JPanel(), BorderLayout.CENTER);
// 放置按钮
JPanel buttonPanel = new JPanel(new GridLayout(7, 1));
actionPanel.add(buttonPanel, BorderLayout.SOUTH);
// 简->繁
addJButton(buttonPanel, " 简 -> 繁 ", "", GuiUtils.font14b_cn, new MouseListener() {
public void mouseReleased(MouseEvent event) {
String input = simplifiedTextArea.getText();
traditionalTextArea.append(ZHConverter.convert(input, ZHConverter.TRADITIONAL));
}
public void mousePressed(MouseEvent e) {
traditionalTextArea.setText("");
}
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
});
buttonPanel.add(new JPanel()); // 仅做填充
// 繁->简
addJButton(buttonPanel, " 繁 -> 简 ", "", GuiUtils.font14b_cn, new MouseListener() {
public void mouseReleased(MouseEvent event) {
String input = traditionalTextArea.getText();
simplifiedTextArea.append(ZHConverter.convert(input, ZHConverter.SIMPLIFIED));
}
public void mousePressed(MouseEvent e) {
simplifiedTextArea.setText("");
}
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
});
buttonPanel.add(new JPanel()); // 仅做填充
// 全部清空
addJButton(buttonPanel, " 全部清空 ", "", GuiUtils.font14_cn, new ActionListener() {
public void actionPerformed(ActionEvent event) {
simplifiedTextArea.setText("");
traditionalTextArea.setText("");
}
});
}
}