package 第十九章.文字编辑器;
import java.awt.*;
import java.awt.event.*;
public class TextField {
    public static void main(String[] args) {
          new Text();
    }
  
}
class Text extends Frame
{    
    TextField tf;
    public Text(){
        tf=new TextField();
        add(tf);//在这有错
        tf.addActionListener(new Monitor());//这儿有错
        tf.setEchoChar('*');//这儿也有
        pack();
        setVisible(true);    }
    }
class Monitor implements ActionListener
{    public void actionPerformed(ActionEvent e) {
       TextField tf=(TextField)e.getSource();
       System.out.println(tf.getText());//这儿有
         tf.setText("");//这儿也有
    }
}
到底怎么回事啊我实在不明白自己哪儿说了求救

解决方案 »

  1.   

    add(tf);//在这有错  参数 要求一个 Component  而你传入的TextField 不是这个类型,更不是这个类型的子类,如果你是想用java.awt.TextField这个类的话,因为你的主类名也叫这个,所以请写全名。
    其他地方 也是相似的错误 
    System.out.println(tf.getText());// 这儿有
    tf.setText("");// 这儿也有
    这两个地方 如果你是用你自己定义的那个类,那这两个方法没定义,如果是要用我上边提到的那个类。那跟上边一个错误
      

  2.   

    import java.awt.*;
    import java.awt.event.*;public class sunknow1 extends Frame implements ActionListener {
    public static void main(String[] args) {
    new sunknow1();
    }
    Label prompt, output;
    TextField input;
    sunknow1(){
    setBounds(300,300,400,300);
    prompt = new Label("请输入一个年份:");
    output = new Label("   ");
    input = new TextField(6);
    setLayout(new FlowLayout());
    add(prompt);
    add(input);
    add(output);
    input.addActionListener(this);
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    setVisible(false);
    System.exit(0);
    }
    });
    setVisible(true);
    }
    public void actionPerformed(ActionEvent e){
    int getInt = Integer.parseInt(input.getText());
    if(getInt%4==0 && getInt%100 !=0 || getInt%400 ==0) {
    output.setText(" " + getInt + "为闰年!");
    }
    else{
    output.setText(" " + getInt + "不是闰年!");
    }
    }
    }
    参考下哈/
      

  3.   

    其实是楼主名的名字与JDK自带类冲突:
    package event;public class TextField11 {
        public static void main(String[] args) {
    new Text();
        }
    }
    package event;import java.awt.Frame;
    import java.awt.TextField;public class Text extends Frame {
        private TextField tf;    public Text() {
    tf = new TextField();
    add(tf);
    tf.addActionListener(new Monitor());
    tf.setEchoChar('*');
    pack();
    setVisible(true);    }}
    package event;import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;public class Monitor implements ActionListener {    public Monitor() {    }    @Override
        public void actionPerformed(ActionEvent e) {
    TextField tf = (TextField) e.getSource();
    System.out.println(tf.getText());
    tf.setText("");
        }}
    用我上面的,能跑通。。测试了