JAVA实例编程:Java实现汉字转换为拼音

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2011年11月10日

  本文的核心代码取自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);


首页 1 2 3 4 尾页

相关文章