[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"); } }
运行截图: