我的程序实现了actionPerformed 方法,但是编译的时候总是说未实现该方法,还有未知的变量e 在e.getActionCommand()中
我实在看不出什么问题请高手帮忙,我是新手,谢谢。完整程序如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class TestSwing implements ActionListener{

public static void main(String args[]){
new TestSwing().createUI();
} public void createUI(){
JFrame jf=new JFrame("My test");
JMenuBar jmb=new JMenuBar();
JMenu menu_file=new JMenu("file");
JMenu menu_help=new JMenu("help");
JMenuItem mi_new =new JMenuItem("new");
JMenuItem mi_open =new JMenuItem("open");
JMenuItem mi_save =new JMenuItem("save");
mi_new.addActionListener(this);
mi_open.addActionListener(this);
mi_save.addActionListener(this);
mi_new.setMnemonic('N');
mi_open.setMnemonic('O');
mi_save.setMnemonic('S');
menu_file.setMnemonic('F');
menu_help.setMnemonic('H');
menu_file.add(mi_new);
menu_file.add(mi_open);
menu_file.add(mi_save);
jmb.add(menu_file);
jmb.add(menu_help); JToolBar jtb=new JToolBar();
JButton button_new=new JButton(new ImageIcon("new.gif"));
JButton button_open=new JButton(new ImageIcon("open.gif"));
JButton button_save=new JButton(new ImageIcon("save.gif"));
button_new.setActionCommand("New");
button_open.setActionCommand("Open");
button_save.setActionCommand("Save");
button_new.setToolTipText("create file");
button_open.setToolTipText("open file");
button_save.setToolTipText("save file");
button_new.addActionListener(this);
button_open.addActionListener(this);
button_save.addActionListener(this);
jtb.add(button_new);
jtb.add(button_open);
jtb.add(button_save); JPanel jp=new JPanel();
JButton button_start=new JButton("start");
JButton button_stop=new JButton("stop");
button_start.setToolTipText("start operation");
button_stop.setToolTipText("over");
button_start.setMnemonic('S');
button_stop.setMnemonic('t');
button_start.addActionListener(this);
button_stop.addActionListener(this);
jp.add(button_start);
jp.add(button_stop); jf.setJMenuBar(jmb);
jf.add(jtb,"North");
jf.add(jp,"South");
jf.setSize(300,200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
public void actionPerformed(ActionEvent e){
System.out.println(e.getActionCommand());
}
}

解决方案 »

  1.   

    没错啊import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class TestSwing implements ActionListener { public static void main(String args[]) {
    new TestSwing().createUI();
    } public void createUI() {
    JFrame jf = new JFrame("My test");
    JMenuBar jmb = new JMenuBar();
    JMenu menu_file = new JMenu("file");
    JMenu menu_help = new JMenu("help");
    JMenuItem mi_new = new JMenuItem("new");
    JMenuItem mi_open = new JMenuItem("open");
    JMenuItem mi_save = new JMenuItem("save");
    mi_new.addActionListener(this);
    mi_open.addActionListener(this);
    mi_save.addActionListener(this);
    mi_new.setMnemonic('N');
    mi_open.setMnemonic('O');
    mi_save.setMnemonic('S');
    menu_file.setMnemonic('F');
    menu_help.setMnemonic('H');
    menu_file.add(mi_new);
    menu_file.add(mi_open);
    menu_file.add(mi_save);
    jmb.add(menu_file);
    jmb.add(menu_help); JToolBar jtb = new JToolBar();
    JButton button_new = new JButton(new ImageIcon("new.gif"));
    JButton button_open = new JButton(new ImageIcon("open.gif"));
    JButton button_save = new JButton(new ImageIcon("save.gif"));
    button_new.setActionCommand("New");
    button_open.setActionCommand("Open");
    button_save.setActionCommand("Save");
    button_new.setToolTipText("create file");
    button_open.setToolTipText("open file");
    button_save.setToolTipText("save file");
    button_new.addActionListener(this);
    button_open.addActionListener(this);
    button_save.addActionListener(this);
    jtb.add(button_new);
    jtb.add(button_open);
    jtb.add(button_save); JPanel jp = new JPanel();
    JButton button_start = new JButton("start");
    JButton button_stop = new JButton("stop");
    button_start.setToolTipText("start operation");
    button_stop.setToolTipText("over");
    button_start.setMnemonic('S');
    button_stop.setMnemonic('t');
    button_start.addActionListener(this);
    button_stop.addActionListener(this);
    jp.add(button_start);
    jp.add(button_stop); jf.setJMenuBar(jmb);
    jf.add(jtb, "North");
    jf.add(jp, "South");
    jf.setSize(300, 200);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setVisible(true);
    } public void actionPerformed(ActionEvent e) {
    System.out.println(e.getActionCommand());
    }
    }
      

  2.   

    我用的是cmd 编译的,老是说ActionListener 未覆写actionPerformed 方法,还有另外一个错误e.getActionCommand()中未知的变量,我看也没错的,郁闷死了
      

  3.   

    那就是你在cmd中的命令或参数写错了。
      

  4.   

    你的程序我运行过,没有问题,运行结果如下:
    My test
    file help      start stop
    你检查下cmd