package gui.run;


public abstract class RunMenuItem extends
    javax.swing.JMenuItem
    implements
    java.awt.event.ActionListener, Runnable {
  public RunMenuItem(String label) {
    this(label, null);
  }

  public RunMenuItem(String l, javax.swing.Icon i) {
    super(l, i);
    addActionListener(this);
    if (l != null)
      setMnemonic(l.charAt(0));
  }

  public RunMenuItem(javax.swing.Icon i) {
    this(null, i);
  }

  public RunMenuItem() {
    this(null, null);
  }

  public void actionPerformed(java.awt.event.ActionEvent e) {
    run();
  }

  public static void main(String args[]) {
    gui.ClosableJFrame cf = new gui.ClosableJFrame("RunMenuItem");
    java.awt.Container c = cf.getContentPane();

    javax.swing.JMenuBar mb = new javax.swing.JMenuBar();
    javax.swing.JMenu m = new javax.swing.JMenu("File");

    m.setMnemonic('F');

    RunMenuItem om = new RunMenuItem("open") {
      public void run() {
        System.out.println(getText());
      }
    };

    RunMenuItem sm = new RunMenuItem("save") {
      public void run() {
        System.out.println(getText());
      }
    };

    m.add(om);
    m.add(sm);

    mb.add(m);
    cf.setJMenuBar(mb);
    c.setLayout(new java.awt.FlowLayout());
    cf.setSize(200, 200);
    cf.setVisible(true);
  }

}