Er is geen enkele, universeel gedefinieerde Java-gebeurtenis specifiek voor 'menuselectie'. Welke gebeurtenis wordt gegenereerd, hangt volledig af van hoe u uw menu heeft geïmplementeerd. Dit zijn de algemene scenario's en de bijbehorende gebeurtenissen:
* Swing (AWT): Als u de componenten `JMenuBar`, `JMenu` en `JMenuItem` gebruikt in een Swing-toepassing, wordt er een `ActionEvent` gegenereerd wanneer een menu-item wordt geselecteerd. Je zou een `ActionListener` aan elke `JMenuItem` toevoegen om de gebeurtenis af te handelen.
* JavaFX: In JavaFX maken menu-items deel uit van een `Menu` en `MenuBar`. Wanneer een menu-item wordt geselecteerd, wordt er ook een `ActionEvent` geactiveerd. Je zou een gebeurtenishandler (vaak een lambda-expressie) gebruiken die is gekoppeld aan de `setOnAction`-methode van `MenuItem`.
Voorbeeld (swing):
```java
importeer javax.swing.*;
java.awt.event.ActionEvent importeren;
java.awt.event.ActionListener importeren;
openbare klasse MenuVoorbeeld {
public static void main(String[] args) {
JFrame frame =new JFrame("Menuvoorbeeld");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar =nieuwe JMenuBar();
JMenu fileMenu =new JMenu("Bestand");
JMenuItem openItem =new JMenuItem("Open");
JMenuItem exitItem =new JMenuItem("Exit");
openItem.addActionListener(nieuwe ActionListener() {
@Overschrijven
public void actionPerformed(ActionEvent e) {
System.out.println("Open menu-item geselecteerd!");
}
});
exitItem.addActionListener(nieuwe ActionListener() {
@Overschrijven
public void actionPerformed(ActionEvent e) {
Systeem.exit(0);
}
});
bestandMenu.add(openItem);
fileMenu.add(exitItem);
menuBar.add(bestandMenu);
frame.setJMenuBar(menubalk);
frame.setSize(300, 200);
frame.setVisible(waar);
}
}
```
In dit voorbeeld wordt een `ActionEvent` gegenereerd wanneer "Open" of "Exit" wordt geselecteerd. Vervolgens wordt de methode `actionPerformed` van de `ActionListener` aangeroepen. Hetzelfde basisprincipe is van toepassing op JavaFX, alleen met een ander mechanisme voor gebeurtenisafhandeling. |