Program:
Output:
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.ActionEvent;
public class MemuDialog extends Frame implements ActionListener ,ItemListener
{
Dialog dialog;
Label l;
MemuDialog()
{
MenuBar mBar = new MenuBar();
setMenuBar(mBar);
Menu file = new Menu("File");
MenuItem new_file = new MenuItem("New");
MenuItem open_file = new MenuItem("Open");
MenuItem save_file = new MenuItem("Save");
new_file.addActionListener(this);
open_file.addActionListener(this);
save_file.addActionListener(this);
file.add(new_file);
file.add(open_file);
file.add(save_file);
mBar.add(file);
Menu edit = new Menu("Edit");
MenuItem undo_edit = new MenuItem("Undo");
CheckboxMenuItem cut_edit = new CheckboxMenuItem("Cut");
CheckboxMenuItem copy_edit = new CheckboxMenuItem("Copy");
CheckboxMenuItem edit_edit = new CheckboxMenuItem("Paste");
undo_edit.addActionListener(this);
cut_edit.addItemListener(this);
copy_edit.addItemListener(this);
edit_edit.addItemListener(this);
Menu sub = new Menu("Save Type");
MenuItem sub1_sum = new MenuItem("Direct Save");
MenuItem sub2_sum = new MenuItem("Save As");
sub.add(sub1_sum);
sub.add(sub2_sum);
edit.add(sub);
edit.add(undo_edit);
edit.add(cut_edit);
edit.add(copy_edit);
edit.add(edit_edit);
mBar.add(edit);
dialog = new Dialog(this,false);
dialog.setSize(200,200);
dialog.setTitle("Dialog Box");
Button b = new Button("Close");
b.addActionListener(this);
dialog.add(b);
dialog.setLayout(new FlowLayout());
l = new Label();
dialog.add(l);
}
public void actionPerformed(ActionEvent ie)
{
String selected_item = ie.getActionCommand();
switch(selected_item)
{
case "New": l.setText("New");
break;
case "Open": l.setText("Open");
break;
case "Save": l.setText("Save");
break;
case "Undo": l.setText("Undo");
break;
case "Cut": l.setText("Cut");
break;
case "Copy": l.setText("Copy");
break;
case "Paste": l.setText("Paste");
break;
default: l.setText("Invalid Input");
}
dialog.setVisible(true);
if(selected_item.equals("Close"))
{
dialog.dispose();
}
}
public void itemStateChanged(ItemEvent ie)
{
this.repaint();
}
public static void main(String[] args)
{
MemuDialog md = new MemuDialog();
md.setVisible(true);
md.setSize(400,400);
}
}
Output:

