한글 관련 처리 문제로 이런저런 것을 알아보다가 발견한 것이여서
혹시나 나중에 필요할 때가 있을 것 같아 스크랩해놓음.
출처는 아래 참고.
==================================================
package test;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
/**
* @author JunSeong
*
*/
public class UniCodeConvert extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JTextField jTextField = null;
private JButton jButton = null;
private JTextArea jTextArea = null;
/**
* This is the default constructor
*/
public UniCodeConvert() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(633, 199);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJTextField(), null);
jContentPane.add(getJButton(), null);
jContentPane.add(getJTextArea(), null);
}
return jContentPane;
}
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(15, 14, 393, 42));
}
return jTextField;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(435, 17, 159, 37));
jButton.setText("변 환");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String text = getJTextField().getText();
if(text == null) {
return;
}
text = text.trim();
char[] chBuffer = text.toCharArray();
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < chBuffer.length; i++) {
if(((int) chBuffer[i] == 32)) {
buffer.append(" ");
continue;
}
buffer.append("\\u");
buffer.append(Integer.toHexString((int) chBuffer[i]));
}
getJTextArea().setText(buffer.toString());
}
});
}
return jButton;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(22, 84, 574, 58));
}
return jTextArea;
}
} // @jve:decl-index=0:visual-constraint="10,10"
소스는 위에 부분이고 , 실행하면 화면은 아래와 같아요???? 라고 할라고 했는데 짜증나게 이미지도 못 올리게 해놨네;;;;
그래서 본사 원격으로 ㄱㄱ ;;;;;
아무든 스윙기반으로 임시방편으로 만든 겁니다.
텍스프 필드에 한글 넣으시고 변환 버튼 누르시면 , 텍스트 에어리어에 변환된 유니코드 나옵니다.
1칸의 공백은 따로 변환안하고 공백으로 처리합니다. 그외의 공백은 처리를 하지 않아서 처리를 해야 한다면 따로 처리를 해야 합니다.
변환 처리 부분은
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String text = getJTextField().getText();
if(text == null) {
return;
}
text = text.trim();
char[] chBuffer = text.toCharArray();
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < chBuffer.length; i++) {
if(((int) chBuffer[i] == 32)) {
buffer.append(" ");
continue;
}
buffer.append("\\u");
buffer.append(Integer.toHexString((int) chBuffer[i]));
}
getJTextArea().setText(buffer.toString());
}
});
이 부분이니 이 부분을 수정 및 고치시면 됩니다.
[출처] 자바<JAVA> 한글을 유니코드로 변환해주는 프로그램 및 소스|작성자 달빛
<<endline=======================================