// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3)

package com.coolservlets.beans.method;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

class Unicode extends JFrame
        implements ActionListener
{

    public Unicode()
    {
        setTitle("\u5185\u7801\u8F6C\u6362");
        getContentPane().setLayout(new BorderLayout());
        jtIn = new JTextField(50);
        JPanel jpanel = new JPanel();
        jpanel.add(new JLabel("\u8BF7\u8F93\u5165\u8981\u8F6C\u6362\u7684\u4E2D\u6587"));
        jpanel.add(jtIn);
        jtOut = new JTextField(50);
        JPanel jpanel1 = new JPanel();
        jpanel1.add(new JLabel("\u8F6C\u6362\u540E\u7684unicode\u7801"));
        jpanel1.add(jtOut);
        JButton jbutton = new JButton("\u8F6C\u6362");
        jbutton.addActionListener(this);
        getContentPane().add(jpanel, "North");
        getContentPane().add(jpanel1, "Center");
        getContentPane().add(jbutton, "South");
        setDefaultCloseOperation(3);
        pack();
        Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
        setLocation(dimension.width / 2 - getSize().width / 2, dimension.height / 2 - getSize().height / 2);
    }

    public void actionPerformed(ActionEvent actionevent)
    {
        //jtOut.setText(ChineseToUnicodeForJFreeReport(jtIn.getText()));
        jtOut.setText(ChineseToUnicode(jtIn.getText()));
    }

    public static void main(String args[])
    {
        Unicode unicode = new Unicode();
        //unicode.UnicodeToChinese("\u8bbe\u5907\u8f85\u52a9\u8fd0\u884c\u754c\u9762\u5b57\u6bb5\u672a\u88ab\u6346\u7ed1\u5728\u8868\u4e0a\u8bf7\u53bb\u68c0\u67e5\u7136\u540e\u6346\u7ed1");
        //unicode.show();
    }

    public static String ChineseToUnicode(String s)
    {
        String as[] = new String[s.length()];
        String s1 = "";
        for(int i = 0; i < s.length(); i++)
        {
            as[i] = Integer.toHexString(s.charAt(i) & 0xffff);
            s1 = s1 + "\\u" + as[i];
        }

        return s1;
    }

    public static String ChineseToUnicodeForJFreeReport(String s)
    {
        String as[] = new String[s.length()];
        String s1 = "";
        for(int i = 0; i < s.length(); i++)
        {
            as[i] = Integer.toHexString(s.charAt(i) & 0xffff);
            s1 = s1 + "&#x" + as[i] + ";";
        }

        return s1;
    }
    /** *//*****************************************************
 * 功能介绍:将unicode字符串转为汉字
 * 输入参数:源unicode字符串
 * 输出参数:转换后的字符串
 *****************************************************/
private String UnicodeToChinese( final String dataStr) {
    int start = 0;
    int end = 0;
    final StringBuffer buffer = new StringBuffer();
    while( start > -1 ) {
        end = dataStr.indexOf( "\\\\u", start + 2 );
        String charStr = "";
        if( end == -1 ) {
            charStr = dataStr.substring( start + 2, dataStr.length() );
        } else {
            charStr = dataStr.substring( start + 2, end);
        }
        char letter = (char) Integer.parseInt( charStr, 16 ); // 16进制parse整形字符串。
        buffer.append( new Character( letter ).toString() );
        start = end;
    }
    return buffer.toString();
}
    public JTextField jtIn;
    public JTextField jtOut;
}
