package ToHangle;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.io.UnsupportedEncodingException;
import java.lang.Character.UnicodeBlock;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class ToHangle extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null; // @jve:decl-index=0:visual-constraint="10,10"
private JButton jButton = null;
private JTextArea jTextArea = null;
private JTextArea jTextArea1 = null;
private ButtonGroup btnGroup; // @jve:decl-index=0:
private JScrollPane jScrollPane = null;
private JScrollPane jScrollPane1 = null;
private JButton jButton1 = null;
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(100, 187, 115, 26));
jButton.setText("UTF-8 로");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
//JOptionPane.showMessageDialog(null, "jScroll>>"+jTextArea.getY() );
//jTextArea1.setCaretPosition(jTextArea.getCaretPosition() );
//toHan();
//jScrollPane1.getHeight();
//getVerticalScrollBar
toUnicode();
//jTextArea1.set());
//jTextArea1.setCaretPosition(jTextArea.getY());
jTextArea1.requestFocus();
}
});
}
return jButton;
}
private void toUnicode(){
//jTextArea.getText();
jTextArea1.setText( toUnicod(jTextArea.getText()));
}
private void toHan(){
//jTextArea.getText();
jTextArea1.setText( toHan(jTextArea.getText()));
}
public static String toUnicod(String hangle){
String ret="";
StringBuffer uni_s = new StringBuffer();
if(hangle==null|| hangle=="") return "";
for(int i=0;i<hangle.length();i++){
char c=hangle.charAt(i);
if(isHan(c)){
int ic=(int)c;
//ret+="\\u"+Integer.toHexString(ic).toUpperCase();
uni_s.append("\\u"+Integer.toHexString(ic).toUpperCase());
}else{
//ret+=c;
uni_s.append(c);
}
}
return uni_s.toString();
}
public static boolean isHan(char ch){
boolean ret=false;
Character.UnicodeBlock unicodeBlock = Character.UnicodeBlock.of(ch);
if(UnicodeBlock.HANGUL_SYLLABLES.equals(unicodeBlock) ||
UnicodeBlock.HANGUL_COMPATIBILITY_JAMO.equals(unicodeBlock) ||
UnicodeBlock.HANGUL_JAMO.equals(unicodeBlock))
ret= true;
return ret;
}
public static String toHan(String uni){
String ret="";
StringBuffer str = new StringBuffer();
if(uni==null|| uni=="") return "";
for( int i= uni.indexOf("\\u") ; i > -1 ; i = uni.indexOf("\\u") ){
str.append( uni.substring( 0, i ) );
str.append( String.valueOf( (char)Integer.parseInt( uni.substring( i + 2, i + 6 ) ,16) ) );
uni = uni.substring( i +6);
}
str.append( uni );
return str.toString();
}
public static String toUni(String uni){
String ret="";
ret=String.valueOf( (char)Integer.parseInt( uni.substring( 2,6 ) ,16) );
return ret;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setLineWrap(false);
}
return jTextArea;
}
/**
* This method initializes jTextArea1
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea1() {
if (jTextArea1 == null) {
jTextArea1 = new JTextArea();
jTextArea1.setWrapStyleWord(false);
jTextArea1.setLineWrap(false);
}
return jTextArea1;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(11, 9, 522, 172));
jScrollPane.setViewportView(getJTextArea());
}
return jScrollPane;
}
/**
* This method initializes jScrollPane1
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane1() {
if (jScrollPane1 == null) {
jScrollPane1 = new JScrollPane();
jScrollPane1.setBounds(new Rectangle(11, 217, 522, 172));
jScrollPane1.setViewportView(getJTextArea1());
}
return jScrollPane1;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new Rectangle(315, 187, 115, 26));
jButton1.setText("한글로");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
toHan();
}
});
}
return jButton1;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
ToHangle thisClass = new ToHangle();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public ToHangle() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(552, 422);
this.setResizable(false);
this.setContentPane(getJContentPane());
this.setTitle("변환작업");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.setSize(new Dimension(477, 343));
jContentPane.add(getJButton(), null);
jContentPane.add(getJScrollPane(), null);
jContentPane.add(getJScrollPane1(), null);
jContentPane.add(getJButton1(), null);
}
return jContentPane;
}
} // @jve:decl-index=0:visual-constraint="23,30"
'Java' 카테고리의 다른 글
lotto 당첨번호 파싱 (4) | 2010.04.07 |
---|---|
openCsv sample function (2) | 2010.04.07 |
AES java 암호화 구현 function sample (1) | 2010.04.07 |
Unzip.java (3) | 2010.04.07 |
PropertyLoader.java (2) | 2010.04.07 |