Einführung in das JavaFX-Menü

Im JavaFX-Menü wird das Menü als Popup verwendet, das aus vielen Menüelementen besteht, die angezeigt werden, wenn der Benutzer darauf klickt. Danach werden die Menüpunkte ausgeblendet. Instanziieren Sie dazu die Klasse javafx.scene.control.Menu. Syntax, Konstruktoren und einige andere Aspekte von JavaFX Menu werden in den folgenden Abschnitten behandelt.

Syntax:

In JavaFX kann das Menü wie folgt erstellt werden.

Menu mn = new Menu();

Stellen Sie immer sicher, dass die Klasse javafx.scene.chart.Menu in das Programm importiert ist, bevor Sie den Code ausführen.

Konstruktoren von JavaFX Menu

Es gibt vier Konstruktoren für das JavaFX-Menü. Sie sind:

  • Menü (): Ein leeres Menü wird erstellt.
  • Menü (Zeichenketten): Ein Menü wird mit Zeichenketten als Bezeichnung erstellt.
  • Menü (String s, Node nd): Ein Menü wird mit String s als Bezeichnung und nd als Grafikknoten erstellt.
  • Menü ( Zeichenfolge s, Knoten nd, Element… .. i): Ein Menü wird mit der Zeichenfolge s als Bezeichnung und als Grafikknoten erstellt und die angegebenen Elemente zur Liste hinzugefügt.

Methoden des JavaFX-Menüs

Es gibt einige JavaFX-Menümethoden, die im Folgenden erläutert werden:

  • getItems (): Elemente, die in diesem Menü angezeigt werden sollen.
  • getOnHidden (): Der Wert der Eigenschaft onHidden wird zurückgegeben.
  • getOnShowing (): Der Wert der Eigenschaft onShowing wird zurückgegeben.
  • getOnHiding (): Der Wert der Eigenschaft onHiding wird zurückgegeben.
  • getOnShown (): Der Wert der Eigenschaft onShown wird zurückgegeben.
  • setOnHidden (EventHandler v): Der Wert der Eigenschaft onHidden v wird festgelegt.
  • setOnHiding (EventHandler v): Der Wert der Eigenschaft onHiding v wird festgelegt.
  • setOnShowing (EventHandler v): Der Wert der Eigenschaft onShowing v wird festgelegt.
  • setOnShown (EventHandler v): Der Wert der Eigenschaft onShown v wird festgelegt.
  • hide (): Wenn contextMenu oder seine Untermenüs angezeigt werden, wird diese Methode aufgerufen, um sie auszublenden.
  • isShowing (): Zeigt den Wert der Eigenschaft an, wird dieser zurückgegeben.
  • onHiddenProperty (): Sobald das contextMenu ausgeblendet ist, wird diese Methode aufgerufen.
  • onShowingProperty (); Bevor das contextMenu angezeigt wird, wird diese Methode aufgerufen, auch wenn keine Elemente zum Anzeigen vorhanden sind.
  • onHidingProperty (): Bevor das contextMenu ausgeblendet wird, wird diese Methode aufgerufen.
  • onShownProperty (): Sobald das contextMenu angezeigt wird, wird diese Methode aufgerufen.
  • addEventHandler (EventType et, EventHandler e): Ein Event-Handler e wird für den Menüpunkt registriert.
  • removeEventHandler (EventType et, EventHandler e): Ein registrierter Ereignishandler e wird aus dem Menüelement aus der Registrierung entfernt.
  • buildEventDispatchChain (EventDispatchChaint): Für das Ziel wird eine Ereignis-Dispatch-Kette erstellt.
  • showingProperty (): Um zu überprüfen, ob das contextMenu sichtbar ist, wird diese Methode aufgerufen.

Wie erstelle ich ein Menü in JavaFX?

Das JavaFX-Menü kann mit den folgenden Schritten erstellt werden.

Schritt 1: Erstellen Sie eine Klasse, die von der Anwendungsklasse ausgeht.

Importieren Sie das Paket javafx.application.Application, um die Application-Klasse zu erweitern, und erstellen Sie eine Klasse, die sie erweitert.

public class JavaFXChartsExample extends Application (
)

Schritt 2: Erstellen Sie das Menü.

Erstellen Sie, wie bereits erläutert, ein Menü mit der Syntax.

Menu m = new Menu();

Schritt 3: Erstellen Sie Menüelemente.

Menüelemente erstellenMenüelemente, die dem zu erstellenden Menü hinzugefügt werden müssen.

MenuItem mi1 = new MenuItem("Happy");

Schritt 4: Erstellen Sie eine Menüleiste.

MenuBar mb = new MenuBar();

Schritt 5: Menüleiste hinzufügen.

Fügen Sie die erstellte Menüleiste hinzu.

mb.getMenus().add(mn);

Schritt 6: Konfigurieren Sie Gruppe und Szene.

Nach Durchführung der obigen Schritte müssen eine Gruppe und eine Szene konfiguriert werden.

VBox vb = new VBox(mb);
Scene sc = new Scene(vb, 400, 200);
s.setScene(sc);
s.show();

Beispiele zur Implementierung von JavaFX Menu

Sehen wir uns einige verschiedene JavaFX-Programme an, um das JavaFX-Menü zu implementieren.

Beispiel 1

In diesem Beispiel sehen wir ein Java-Programm mit Menüelementen zum Erstellen eines Menüs.

Code:

//java program to create a menu with menu items
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.event.EventHandler;
import javafx.scene.control.*;
import javafx.stage.Stage;
import javafx.scene.control.Alert.AlertType;
import java.time.LocalDate;
import javafx.scene.control.Button;
import javafx.scene.layout.*;
import javafx.event.ActionEvent;
//sample class that extends application class
public class JavaFXMenuExample extends Application (
// application starts at this point
public void start(Stage s)
(
// Title for the stage
s.setTitle("Sample menu bar");
// menu creation
Menu mn = new Menu("Select your favourite online shopping site");
// menu items creation
MenuItem mi1 = new MenuItem("Flipkart");
MenuItem mi2 = new MenuItem("Myntra");
MenuItem mi3 = new MenuItem("Amazon");
MenuItem mi4 = new MenuItem("Club factory");
// Adding menu items
mn.getItems().add(mi1);
mn.getItems().add(mi2);
mn.getItems().add(mi3);
mn.getItems().add(mi4);
// menubar creation
MenuBar mb = new MenuBar();
// Adding Menubar
mb.getMenus().add(mn);
// VBox creation
VBox v = new VBox(mb);
// scene creation
Scene scn = new Scene(v, 500, 300);
// set the scene
s.setScene(scn);
//display the result
s.show();
)
public static void main(String args())
(
// launch the application
launch(args);
)
)

Ausgabe:

Ein Menü wird wie oben gezeigt angezeigt. Wenn es angeklickt wird, wird eine Liste der Elemente angezeigt.

Beispiel # 2

Dies ist ein Java-Programm zum Erstellen eines Menüs mit Menüelementen und seinen Unterelementen.

Code:

//java program to create menu with menu items and its sub items
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.control.CheckMenuItem;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.control.MenuItem;
import javafx.scene.control.RadioMenuItem;
import javafx.scene.control.SeparatorMenuItem;
import javafx.scene.control.ToggleGroup;
public class JavaFXMenuExample extends Application (
@Override
public void start(Stage s) (
//create border pane
BorderPane r = new BorderPane();
Scene scene = new Scene(r, 300, 250, Color.RED);
//create menubar
MenuBar mb = new MenuBar();
mb.prefWidthProperty().bind(s.widthProperty());
r.setTop(mb);
// first menu with sub items
Menu m = new Menu("Select your Age group");
MenuItem mi1 = new MenuItem("18-24");
MenuItem mi2 = new MenuItem("25-35");
MenuItem mi3 = new MenuItem("36-50");
m.getItems().addAll(mi1, mi2, mi3);
// second menu with sub items
Menu m1 = new Menu("Favorite online site");
ToggleGroup t1 = new ToggleGroup();
RadioMenuItem r1 = new RadioMenuItem("Flipkart");
r1.setToggleGroup(t1);
RadioMenuItem r2 = new RadioMenuItem("Myntra");
r2.setToggleGroup(t1);
r2.setSelected(true);
m1.getItems().addAll(r1, r2);
Menu m2 = new Menu("Queries");
m2.getItems().addAll( new CheckMenuItem("Related to product"),
new CheckMenuItem("Related to delivery"));
m1.getItems().add(m2);
mb.getMenus().addAll(m, m1);
s.setScene(scene);
s.show();
)
public static void main(String() args) (
launch(args);
)
)

Ausgabe:

Bei der Ausführung des Codes werden zwei Menüs mit unterschiedlichen Unterpunkten angezeigt. Wenn Sie auf das zweite Menü klicken, werden Unterelemente wie Flipkart, Myntra und Abfragen angezeigt.

Es ist zu sehen, dass in der Nähe von Myntra ein Häkchen vorhanden ist, da die Methode setSelected auf True gesetzt ist.

Wenn Sie auf das Menü "Abfragen" klicken, werden zwei Unterelemente wie "Produktbezogen" und "Lieferbezogen" angezeigt.

Fazit

In JavaFX wird das Menü als Popup verwendet, das angezeigt wird, wenn ein Benutzer darauf klickt. Menü besteht aus Menüelementen und seinen Unterelementen. In diesem Dokument werden wichtige Punkte im JavaFX-Menü erläutert.

Empfohlene Artikel

Dies ist eine Anleitung zum JavaFX-Menü. Hier werden Syntax, Konstruktoren, Methoden und Schritte zum Erstellen von JavaFX Menu sowie Beispiele und Codeimplementierung erläutert. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren.

  1. Hashing-Funktion in Java
  2. Arrays in der Java-Programmierung
  3. JLabel in Java
  4. JavaFX-Layouts
  5. Wie funktioniert Hashing in PHP mit Syntax?
  6. Top 15 Methoden der JavaFX VBox