刚学的事件监视器,不知哪错了=。=
public class tlp {public static void main(String args[]) {
WindowActionEvent win=new WindowActionEvent();
PoliceListen police=new PoliceListen();
win.setMyCommandListener(police);
win.setTitle("处理ActionEvent事件");
win.setBounds(100,100,460,360);
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
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);
}
}
import javax.swing.*;
import java.awt.event.*;
public interface MyCommandListener extends ActionListener {
public void setJTextField(JTextField text);
public void
setJTextArea(JTextArea area);
}
import java.awt.event.*;
import javax.swing.*;
public class PoliceListen implements MyCommandListener {
JTextField textInput;
JTextArea showText;
public void setJTextField(JTextField text) {
textInput=text;
}
public void setTextArea(JTextArea area) {
showText=area;
}
public void actionPerformed(ActionEvent e) {
String str=textInput.getText();
showText.append(str+"长度"+str.length()+"\n");
}
}
用的是eclipse,PoliceListen类的“public class policeListen”的policeListen有红线》》 好像有匿名对象和内部类 以前我对这个很有研究 只是现在弄c++了 java的内部类的东西忘完了 在那类中setTextArea,少了个J,导致MyCommandListener接口中的方法未实现。未细看,新手,错了轻喷。
页:
[1]