[java]ActionEvent事件:获取输入字符串的长度




代码:

Example9_7.java
public class Example9_7
{
	public static void main(String args[]){
		WindowActionEvent win= new WindowActionEvent();
		PoliceListen police = new PoliceListen();//创建监视器
		win.setMyCommandListener(police);
		win.setBounds(100,100,460,360);
		win.setTitle("处理ActionEvent事件");
	}
}

WindowActionEvent.java
import java.awt.*;
import javax.swing.*;
public class WindowActionEvent extends JFrame
{
	JTextField inputText;
	JTextArea textShow;
	JButton button;
	MyCommandListener listener;
	public WindowActionEvent(){
		init();
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	void init(){
		setLayout(new FlowLayout());
		inputText = new JTextField(10);
		button = new JButton("确定");
		textShow=new JTextArea(9,30);
		add(inputText);
		add(button);
		add(new JScrollPane(textShow));
	}
	void setMyCommandListener(MyCommandListener listener){
		this.listener=listener;
		listener.setJTextField(inputText);
		listener.setJTextArea(textShow);
		inputText.addActionListener(listener);
		button.addActionListener(listener);
	}
}

MyCommandListener.java
import javax.swing.*;
import java.awt.event.*;
interface MyCommandListener extends ActionListener
{
	public void setJTextField(JTextField text);
	public void setJTextArea(JTextArea area);
}

PoliceListen.java
import java.awt.event.*;
import javax.swing.*;
public class PoliceListen implements MyCommandListener
{
	JTextField textInput;
	JTextArea textShow;
	public void setJTextField (JTextField text){
		textInput=text;
	}
	public void setJTextArea(JTextArea area){
		textShow=area;
	}
	public void actionPerformed(ActionEvent e){
		String str=textInput.getText();
		textShow.append(str+"的长度:"+str.length()+"\n");
	}
}


运行截图:


posted @ 2013-05-30 22:16  同学少年  阅读(495)  评论(0编辑  收藏  举报