Hallo,
ich bin dabei Java zu lernen und habe mir nun vorgenommen mittels Java Swing ein paar grafische Komponenten auszutesten. Dabei bin auf JMenu gestoßen. Meine eigentliche Frage ist wie ich es hin bekomme, dass ich mit nur einem ActionListener alle JMenuIcons abdecke, ich schaffe es zwar diese zu verbinden aber weiß nicht wie je nach Quelle etwas anderes passieren soll.
ich bin dabei Java zu lernen und habe mir nun vorgenommen mittels Java Swing ein paar grafische Komponenten auszutesten. Dabei bin auf JMenu gestoßen. Meine eigentliche Frage ist wie ich es hin bekomme, dass ich mit nur einem ActionListener alle JMenuIcons abdecke, ich schaffe es zwar diese zu verbinden aber weiß nicht wie je nach Quelle etwas anderes passieren soll.
Java:
package pack1;
// import declarations
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Fenster {
// variables
private JMenuBar mb;
private JFrame fenster;
private JMenu[] m;
private String[] namen = {"File","Edit", "Search"};
private JMenuItem[][] mi = {{new JMenuItem("New"), new JMenuItem("Open File"), new JMenuItem("Close")},
{new JMenuItem("Copy"), new JMenuItem("Paste"), new JMenuItem("Delete")},
{new JMenuItem("File"), new JMenuItem("Java"), new JMenuItem("Remote")},
};
private ActionListener[] al= {new MeinActionListener()};
//method
public void FensterMachen() {
fenster = new JFrame();
fenster.getContentPane().setBackground(Color.cyan);
fenster.setSize(500,500);
mb = new JMenuBar();
m = new JMenu[3];
for(int i = 0 ; i<m.length;i++) {
mb.add(m[i] = new JMenu("" + namen[i]));
for(int j = 0; j<3;j++) {
m[i].add(mi[i][j]);
mi[i][j].addActionListener(al[0]);
}
}
fenster.setJMenuBar(mb);
fenster.setVisible(true);
}
//Listener
public class MeinActionListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
Object quelle = arg0.getSource();
}
}
}