import javax.swing.event.*;

解决方案 »

  1.   

    不过还是有错,什么原因呢?
    Text.java:13: addDocumentListener(javax.swing.event.DocumentListener) in javax.s
    wing.text.Document cannot be applied to (TextField1)
                    JTextField1.getDocument().addDocumentListener(this);
                                           ^
    Text.java:29: cannot resolve symbol
    symbol  : method getPassword ()
    location: class javax.swing.JTextField
                    System.out.println(JPasswordField1.getPassword());
                                                      ^
    2 errors
      

  2.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;class TextField1 extends JTextField implements DocumentListener //////////////////
    {
    public TextField1()
    {
    JTextField1=new JTextField("hi",30);
    JPasswordField1=new JPasswordField(null,18);
    add(JTextField1);
    add(JPasswordField1);
    JTextField1.getDocument().addDocumentListener(this);
    }
    public void insertUpdate(DocumentEvent e)
    {
    showMsg();
    }
    public void changedUpdate(DocumentEvent e)/////////////////////////////
    {
    showMsg();
    }
    public void removeUpdate(DocumentEvent e)
    {
    }
    private void showMsg()
    {
    System.out.println(JTextField1.getText().trim());
    System.out.println(JPasswordField1.getPassword());
    }
    private  JTextField JTextField1;
    private  JPasswordField JPasswordField1;//////////////////////////
    }
    class TextFrame extends JFrame
    {
    public TextFrame()
    {
    setSize(300,200);
    setLocation(300,300);
    setTitle("文本域");
    addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    });
    TextField11=new TextField1();
    getContentPane().add(TextField11,"South");//////////////////////
    }
    private TextField1 TextField11;
    }
    public class Text
    {
    public static void main(String[] arg)
    {
    JFrame textFrame1=new TextFrame();
    textFrame1.setVisible(true);
    }
    }
    ////////////为改的地方
      

  3.   

    谢谢楼上那位大哥,我修改后的代码如下,不过为什么只能显示出一个文本域,不能显示密码域,为什么?
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    class TextField1 extends JTextField implements DocumentListener
    {
    public TextField1()
    {
    JTextField1=new JTextField("hi",5);
    JPasswordField1=new JPasswordField(null,5);
    add(JTextField1);
    add(JPasswordField1);
    JTextField1.getDocument().addDocumentListener(this);
    }
    public void insertUpdate(DocumentEvent e)
    {
    showMsg();
    }
    public void changedUpdate(DocumentEvent e)
    {
    showMsg();
    }
    public void removeUpdate(DocumentEvent e)
    {
    }
    private void showMsg()
    {
    System.out.println(JTextField1.getText().trim());
    System.out.println(JPasswordField1.getPassword());
    }
    private  JTextField JTextField1;
    private JPasswordField JPasswordField1;
    }
    class TextFrame extends JFrame
    {
    public TextFrame()
    {
    setSize(300,200);
    setLocation(300,300);
    setTitle("文本域");
    addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    });
    TextField11=new TextField1();
    getContentPane().add(TextField11,"South");
    }
    private TextField1 TextField11;
    }
    public class Text
    {
    public static void main(String[] arg)
    {
    JFrame textFrame1=new TextFrame();
    textFrame1.setVisible(true);
    }
    }