设为首页 加入收藏

TOP

Java实现汉字转换为拼音
2014-11-05 08:30:37 来源: 作者: 【 】 浏览:50
Tags:Java 实现 汉字 转换 拼音

  本文的核心代码取自easydozer的blog:http://blog.csdn.net/easydozer/


  代码说明:


  Java实现汉字转换为拼音的GUI版本。


  GUI代码部分:


  /**


  * @(#)CnToSpellGUI.java


  * */


  import java.awt.*;


  import java.awt.event.*;


  import javax.swing.*;


  import javax.swing.event.*;


  /**


  *


  *


  JDK版本


  1.4


  * @version 1.0


  * @see


  * @since 1.0


  */


  public class CnToSpell2GUI extends JFrame {


  private CnToSpell2GUI c = null;


  public CnToSpell2GUI () {


  super("Cn to Spell");


  setSize(800,100);


  getContentPane().setLayout(new FlowLayout());


  // component layout


  JTextArea from = new JTextArea(5,20);


  JTextArea to = new JTextArea(5,20);


  JButton b = new JButton("cn to pinyin");


  getContentPane().add(new JLabel("From:"));


  getContentPane().add(from);


  getContentPane().add(b);


  getContentPane().add(new JLabel("To:"));


  getContentPane().add(to);


  // action handle


  b.addActionListener(new Cn2PinyinActionListener(from,to));


  setVisible(true);


  // set this for pack


  c = this;


  }


  /**button action listener to convert text to pinyin from one textbox to another textbox*/


  class Cn2PinyinActionListener implements ActionListener{


  private JTextArea from = null;


  private JTextArea to = null;


  public Cn2PinyinActionListener(JTextArea from, JTextArea to) {


  this.from = from;


  this.to = to;


  }


  public void actionPerformed(ActionEvent e) {


  if (from.getText().length() == 0) {


  JOptionPane.showMessageDialog(from,"From text is empty!","Warning",JOptionPane.WARNING_MESSAGE);


  }


  String text = from.getText();


  to.setText(CnToSpell.getFullSpell(text));


  c.pack();


  }


  }


  public static void main(String [] args) {


  CnToSpell2GUI g = new CnToSpell2GUI();


  }


  }


  核心代码部分:


  * 描 述:创建


  */


  package com.easydozer.commons.util;


  import java.util.Iterator;


  import java.util.LinkedHashMap;


  import java.util.Set;


  public class CnToSpell


  {


  private static LinkedHashMap spellMap = null;


  static


  {


  if(spellMap == null){


  spellMap = new LinkedHashMap(400);


  }


  initialize();


  System.out.println("Chinese transfer Spell Done.");


  }


  private CnToSpell()


  {


  }


  private static void spellPut(String spell,int ascii)


  {


  spellMap.put(spell,new Integer(ascii));


  }


  private static void initialize()


  {


  spellPut("a", -20319);


  spellPut("ai", -20317);


  spellPut("an", -20304);


  spellPut("ang", -20295);


  spellPut("ao", -20292);


  spellPut("ba", -20283);


  spellPut("bai", -20265);


  spellPut("ban", -20257);


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java获取汉字拼音的首字母 下一篇Java使用OpenCV进行人脸识别

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: