代码如下,
问问大虾,
不用内部类怎么清空text(我用的是内部类)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Example10_7{
public static void main(String[] args) { MyWindow  win = new MyWindow(); }
} class MyWindow extends JFrame{
JTextField text;
Polices police; MyWindow(){
setLayout(new FlowLayout());
text = new JTextField(15);
add(text);
police = new Polices();
text.addActionListener(police);
setBounds(300,400,200,150);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
 class Polices implements ActionListener{
public void actionPerformed(ActionEvent e){
String str = e.getActionCommand();
System.out.println(str);
System.out.println(str.length());
text.setText("");
}
}
 }

解决方案 »

  1.   

    public class Example10_7{
    public static void main(String[] args) {MyWindow win = new MyWindow();}
    }
    这只是在这个类中调用另一个类去处理逻辑了。不是内部类。
     
      

  2.   


    public class Example10_7{
    public static void main(String[] args) { MyWindow  win = new MyWindow(); }
    } class MyWindow extends JFrame{ MyWindow(){

    }
     class Polices implements ActionListener{
    public void actionPerformed(ActionEvent e){

    }
    }
     }
    我也不知道啊 觉得Polices是MyWindow得内部类。你再帮我确定一下是不是内部类
      

  3.   

    看错了额,你用的是内部类的一种,叫做成员内部类,其实可以使用匿名内部类import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class Example10_7 {
    public static void main(String[] args) { MyWindow win = new MyWindow(); }
    }class MyWindow extends JFrame {
    JTextField text; MyWindow() {
    setLayout(new FlowLayout());
    text = new JTextField(15);
    add(text); text.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    String str = e.getActionCommand();
    System.out.println(str);
    System.out.println(str.length());
    text.setText("");
    }
    });
    setBounds(300, 400, 200, 150);
    setVisible(true);
    validate();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }
      

  4.   

    当然可以 ,放在外面就是了
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class Example10_7 {
    public static void main(String[] args) { MyWindow win = new MyWindow(); }
    }class MyWindow extends JFrame {
    JTextField text;
    Polices police; MyWindow() {
    setLayout(new FlowLayout());
    text = new JTextField(15);
    add(text);
    police = new Polices(text);
    text.addActionListener(police);
    setBounds(300, 400, 200, 150);
    setVisible(true);
    validate();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }class Polices implements ActionListener {
    JTextField t;
    public Polices(JTextField textfield) {
    t = textfield;
    }

    public void actionPerformed(ActionEvent e) {
    String str = e.getActionCommand();
    System.out.println(str);
    System.out.println(str.length());
    t.setText("");
    }
    }