java actionevent事件_java的ActionEvent事件 | 学步园
public class Example9_7 {public static void main(String[] args) {// TODO 自动生成的方法存根WindowActionEvent win=new WindowActionEvent();PoliceListen police=new PoliceListen();win.setMyCommandListener(police);
public class Example9_7 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
WindowActionEvent win=new WindowActionEvent();
PoliceListen police=new PoliceListen();
win.setMyCommandListener(police);
win.setBounds(100, 100, 460, 360);
win.setTitle("处理字符串");
}
}
import javax.swing.*;
import java.awt.event.*;
public interface MyCommandListener extends ActionListener{
public void setJTextField(JTextField text);
public void setJTextField(JTextArea area);
}
import java.awt.event.*;
import javax.swing.*;
public class PoliceListen implements MyCommandListener {
JTextField textInput;
JTextArea textShow;
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
String str=textInput.getText();
textShow.append(str+"的长度是:"+str.length()+"\n");
}
public void setJTextField(JTextField text) {
// TODO 自动生成的方法存根
textInput=text;
}
public void setJTextField(JTextArea area) {
// TODO 自动生成的方法存根
textShow=area;
}
}
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.setJTextField(textShow);
inputText.addActionListener(listener);
button.addActionListener(listener);
}
}
有些不明白的地方,就是那个为啥(MyCommandListener listener)而那个PoliceListen police=new PoliceListen();win.setMyCommandListener(police);这个到底咋回事,我改了但是就错了,为啥声明为MyCommandListener
运行结果:
更多推荐
所有评论(0)