代码如下:
package java2; import java.awt.BorderLayout; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class text2_7_2 extends JFrame{ JLabel label; JTextField textfield; JPanel p; private Histogram histogram=new Histogram(); public text2_7_2() { p = new JPanel(); // 建立一个面板 JScrollPane scrollPane=new JScrollPane(histogram); add(scrollPane,BorderLayout.CENTER); add(p,BorderLayout.SOUTH); p.add(new JLabel("Text Area"));// 把一个文本按钮添加到面板 textfield = new JTextField(20); p.add(textfield); // 把一个文本框添加到面板 textfield.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { // TODO 自动生成的方法存根 } @Override public void keyReleased(KeyEvent e) { // TODO 自动生成的方法存根 } @Override public void keyPressed(KeyEvent e) { // TODO 自动生成的方法存根 if(e.getKeyCode()==KeyEvent.VK_ENTER) { int[] count=countLetters(); histogram.showHistogram(count); System.out.println(count[0]); } } }); } private int[] countLetters(){ int[] count=new int[26]; String text=textfield.getText(); for (int i = 0; i < text.length(); i++) { char character=text.charAt(i); if((character>='A')&&(character<='Z')){ count[character-'A']++; } if((character>='a')&&(character<='z')){ count[character-'a']++; } } return count; } public static void main(String[] args) { text2_7_2 frame = new text2_7_2(); frame.setSize(480, 250); frame.setTitle("2-7-2"); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }运行结果: