StringTokenizer位于java.util包中,该类可以将字符串分解为组成它的符号词。
构造函数:
StringTokenizer(String str) 以字符串str为参数以(空格,换行符,制表符,回车符)结尾,建立一个StringTokenizer对象。
StringTokenizer(String str,String delim)是以字符串str为参数,以delim为定界字符建立一个StringTokenizer对象。
StringTokenizer(String str,String delim,boolean returnDelims) 以字符str为参数,以delim为定界字符串,以returnDelims参数确定该定界是否也作为语言符号返回建立一个StringTokenizer对象。
StringTokenizer 常用方法
int countTokens() 返回要进行语言符号化的字符串中语言符号的数目。
Boolean hasMoreTokens() 判断是字符串中是否还有更多的语言符号。
String nextToken() 获取StringTokenizer类中的下一个语言符号。
样例:在窗口JTextField中输入要进行语言符号化的语句,按回车键后,结果显示在窗口的JTextArea中。
import java.awt.*;
import java.awt.event.*;
import java.util.StringTokenizer;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class TokenizerTest extends JFrame {
private JLabel promptLabel;
private JTextField inputField;
private JTextArea outputArea;
public TokenizerTest(){
super("测试StringTokenizer类");
/**
初始化一个容器,用来在容器上添加一些控件
*/
Container container =getContentPane();
/*一般的用法:setLayout(new BorderLayout())//或FlowLayout...随后调用add(...)即可。
常用的有5种:FlowLayout、BorderLayout、GridLayout、CardLayout、GridBagLayout。一般来说都要放在构造函数或初始化函数中,设置后再加入控件。
下面是几个使用setLayout()方法实现FlowLayout的例子:
setLayout(new FlowLayout(FlowLayout.RIGHT,20,40));
setLayout(new FlowLayout(FlowLayout.LEFT));
setLayout(new FlowLayout());
*/
container.setLayout(new FlowLayout());
promptLabel =new JLabel("输入一个句子,然后按回车键");
container.add(promptLabel);
inputField=new JTextField(20);
inputField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
StringTokenizer tokens=new StringTokenizer(event.getActionCommand());
outputArea.setText("Number of elements:"+ tokens.countTokens()+"\nThe tokens are:\n");
while(tokens.hasMoreElements()){
outputArea.append(tokens.nextToken()+'\n');
}
}
});
container.add(inputField);
outputArea=new JTextArea(10,20);
outputArea.setEditable(false); //文本输出框不能进行编辑
container.add(new JScrollPane(outputArea));
setSize(275,240);
setVisible(true);
}
public static void main(String[] args) {
TokenizerTest opplication= new TokenizerTest();
opplication.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}