Hallo,
du musst erstmal dem JMenuItem eine Action zuordnen, der die Methode public void actionPerformed enthält. Dazu hast du zwei Möglichkeiten.
1. Einfach einen ActionListener einfügen:
public Main() {
frmStart frame = new frmStart();
ImageIcon neu = new ImageIcon("./logo.gif");
ImageIcon clo = new ImageIcon("./close.gif");JMenuBar mbar = new JMenuBar();
JMenu quick = new JMenu( "Quick" );
quick.add(new JMenuItem("Pendenz erfassen", neu));
quick.addSeparator();
quick.add(new JMenuItem("Beenden", clo));
mbar.add( quick );
frame.setJMenuBar( mbar );
//ActionListener in deiner Main-Klasse
ActionListener meinListener = new ActionListener(){
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("Pendenz erfassen")){
//was soll er tun
}
//für weitere MenuItems fortsetzen und eventuell
//am Ende eine else-Methode angeben
}
}
...
}
2. Oder du machst eine extra Klasse einer Action, die die AbstractAction erweitert:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
public class ExampleAction extends AbstractAction {
public ExampleAction(String text, Icon icon){
super(text,icon);
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("Pendenz erfassen")){
//was soll er tun
}
}
}
Diese nutzt du dann so in deiner Main-Klasse:
public Main() {
frmStart frame = new frmStart();
ImageIcon neu = new ImageIcon("./logo.gif");
ImageIcon clo = new ImageIcon("./close.gif");JMenuBar mbar = new JMenuBar();
JMenu quick = new JMenu( "Quick" );
quick.add(new JMenuItem(new ExampleAction("Pendenz erfassen",neu)));
quick.addSeparator();
quick.add(new JMenuItem(new ExampleAction("Beenden", clo)));
mbar.add( quick );
frame.setJMenuBar( mbar );
...
}
Ich hoffe dir damit geholfen zu haben.
Viele Grüße,
Miriam