上面的代码编译有些问题。先编译过来再测试吧。
package test;import java.awt.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class MenuTest extends Frame implements ActionListener {
private MenuItem fileNew = new MenuItem("New");
private MenuItem fileOpen = new MenuItem("Open");
private MenuItem fileExit = new MenuItem("Exit");
private MenuItem editCut = new MenuItem("Cut");
private MenuItem editCopy = new MenuItem("Copy");
private MenuItem editPaste = new MenuItem("Paste"); public MenuTest() {
super("Menu Test Program");
Menu file = new Menu("File");
file.add(fileNew);
fileNew.setEnabled(false);
file.add(fileOpen);
fileOpen.setEnabled(false);
file.addSeparator();
file.add(fileExit);
fileExit.setEnabled(true);
Menu edit = new Menu("Edit");
edit.add(editCut);
editCut.setEnabled(false);
edit.add(editCopy);
editCopy.setEnabled(false);
edit.add(editPaste);
editPaste.setEnabled(false);
MenuBar bar = new MenuBar();
bar.add(file);
bar.add(edit);
setMenuBar(bar);
fileExit.addActionListener(this);
setSize(100, 100);
setVisible(true);
} @Override
public void actionPerformed(ActionEvent e) {
ConfirmDialog exit;
if(e.getSource()==fileExit){
exit= new ConfirmDialog(this,"Confirm Exit","Do you really want to exit?");
if(exit.isOkay)
System.exit(0);
}

}
public static void main(String args[])
{MenuTest f =new MenuTest();}
}package test;import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class ConfirmDialog extends Dialog implements ActionListener {
private Button okay = new Button("OK");
private Button cannel = new Button("Cannel");
private Label label = new Label("Are you sure?", Label.CENTER);
public boolean isOkay = false; private class WindowCloser extends WindowAdapter {
public void windowClosing(WindowEvent we) {
ConfirmDialog.this.isOkay = false;
ConfirmDialog.this.hide();
}
} private ConfirmDialog(Frame parent) {
this(parent, "Please confirm", "Are you sure?");
} public ConfirmDialog(Frame parent, String title, String question) {
super(parent, title, true);
label.setText(question);
setup();
okay.addActionListener(this);
cannel.addActionListener(this);
addWindowListener(new WindowCloser());
setResizable(false);
pack();
setVisible(true);
} private void setup() {
Panel buttons = new Panel();
buttons.setLayout(new FlowLayout());
buttons.add(okay);
buttons.add(cannel);
setLayout(new BorderLayout());
add("Center", label);
add("South", buttons);
} public void actionPerformed(ActionEvent ae) {
isOkay = (ae.getSource() == okay);
hide();
}
}