Det finns inte en enda, universellt definierad Java -händelse specifikt för "menyval." Evenemanget som genereras beror helt på hur du har implementerat din meny. Här är de vanliga scenarierna och tillhörande händelser:
* swing (AWT): Om du använder "JMenubar", "jmenu" och "jmenuitem" -komponenter i en swing -applikation, genereras en `actionEvent` när ett menyalternativ väljs. Du skulle lägga till en "actionlistener" till varje "jmenuitem" för att hantera evenemanget.
* javafx: I Javafx är menyalternativ en del av en "meny" och "menubar". När ett menyalternativ väljs, avfyras också en `ActionEvent '. Du skulle använda en händelseshanterare (ofta ett Lambda -uttryck) kopplat till metoden "SetonAction" i "Menuitem".
Exempel (swing):
`` `Java
import javax.swing.*;
import java.awt.event.actionEvent;
import java.awt.event.actionListener;
public class MenuExample {
public static void main (String [] args) {
JFrame Frame =new JFrame ("Meny Exempel");
ram.setDefaultCloseOperation (jframe.exit_on_close);
JMenuBar MenuBar =new JMenuBar ();
JMenu FileMenu =new JMenu ("File");
JMenuitem OpenItem =new JMenuitem ("Open");
JMenuitem exItItem =new JMenuitem ("exit");
OpenItem.AdDActionListener (New ActionListener () {
@Åsidosätta
public void ActionPerformed (ActionEvent E) {
System.out.println ("Öppna menyalternativ vald!");
}
});
exItItem.AdDActionListener (new ActionListener () {
@Åsidosätta
public void ActionPerformed (ActionEvent E) {
System.EXIT (0);
}
});
fileMenu.Add (OpenItem);
fileMenu.Add (exititem);
Menubar.Add (FileMenu);
ram.setJMenuBar (menubar);
ram.setize (300, 200);
ram.setVisible (true);
}
}
`` `
I det här exemplet genereras en "actionEvent" när antingen "öppen" eller "utgång" väljs. Metoden "ActionPerformed" för "ActionListener" kallas sedan. Samma grundprincip gäller för Javafx, bara med en annan händelsehanteringsmekanism.