Inleiding tot het JavaFX-menu

In het JavaFX-menu wordt het menu gebruikt als een pop-up die bestaat uit vele menu-items die worden getoond wanneer de gebruiker erop klikt. Daarna gaan de menu-items in een verborgen status. Om dit te maken, instantieert u de klasse javafx.scene.control.Menu. Syntaxis, constructors en verschillende andere aspecten van JavaFX Menu worden in de volgende paragrafen besproken.

Syntaxis:

In JavaFX kan het menu worden gemaakt zoals hieronder.

Menu mn = new Menu();

Zorg er altijd voor dat de klasse javafx.scene.chart.Menu in het programma wordt geïmporteerd voordat de code wordt uitgevoerd.

Constructeurs van JavaFX-menu

Er zijn vier constructors voor het JavaFX-menu. Zij zijn:

  • Menu (): er wordt een leeg menu gemaakt.
  • Menu (String s): Er wordt een menu gemaakt met string s als label.
  • Menu (String s, Node nd): Er wordt een menu gemaakt met string s als label en nd als grafisch knooppunt.
  • Menu (String s, Node nd, Item… .. i): Er wordt een menu gemaakt met string s als label en als grafische knoop en voeg de gegeven items toe aan de lijst.

Methoden van JavaFX-menu

Er zijn enkele JavaFX-menumethoden die hieronder worden besproken:

  • getItems (): items die in dit menu moeten worden weergegeven.
  • getOnHidden (): de waarde van onHidden property wordt geretourneerd.
  • getOnShowing (): de waarde van de eigenschap onShowing wordt geretourneerd.
  • getOnHiding (): de waarde van de eigenschap onHiding wordt geretourneerd.
  • getOnShown (): de waarde van de eigenschap onShown wordt geretourneerd.
  • setOnHidden (EventHandler v): de waarde v van onHidden property wordt ingesteld.
  • setOnHiding (EventHandler v): de waarde v van onHiding wordt ingesteld.
  • setOnShowing (EventHandler v): de waarde v van de eigenschap onShowing wordt ingesteld.
  • setOnShown (EventHandler v): de waarde v van de eigenschap onShown wordt ingesteld.
  • hide (): Als contextMenu of de submenu's worden weergegeven, wordt deze methode aangeroepen om het te verbergen.
  • isShowing (): De waarde van de eigenschap wordt weergegeven.
  • onHiddenProperty (): Zodra het contextMenu is verborgen, wordt deze methode aangeroepen.
  • onShowingProperty (); Voordat het contextMenu wordt weergegeven, wordt deze methode aangeroepen, zelfs als er geen items zijn om weer te geven.
  • onHidingProperty (): Voordat het contextMenu wordt verborgen, wordt deze methode aangeroepen.
  • onShownProperty (): Zodra het contextMenu wordt getoond, wordt deze methode aangeroepen.
  • addEventHandler (EventType et, EventHandler e): een event-handler e wordt geregistreerd bij het menu-item.
  • removeEventHandler (EventType et, EventHandler e): een geregistreerde event-handler e wordt niet meer geregistreerd bij het menu-item.
  • buildEventDispatchChain (EventDispatchChaint): Er wordt een gebeurtenisverzendketen t voor het doel gebouwd.
  • showingProperty (): om te controleren of het contextMenu zichtbaar is, wordt deze methode aangeroepen.

Hoe maak je een menu in JavaFX?

JavaFX-menu kan worden gemaakt met behulp van de volgende stappen.

Stap 1: Maak een klasse die zich uitstrekt van de toepassingsklasse.

Importeer het pakket javafx.application.Application om de toepassingsklasse uit te breiden en een klasse te maken die deze uitbreidt.

public class JavaFXChartsExample extends Application (
)

Stap 2: Maak het menu.

Zoals eerder besproken, maak een menu met behulp van de syntaxis.

Menu m = new Menu();

Stap 3: maak menu-items.

Menu-items maken Menu-items die moeten worden toegevoegd aan het menu dat moet worden gemaakt.

MenuItem mi1 = new MenuItem("Happy");

Stap 4: Maak een menubalk.

MenuBar mb = new MenuBar();

Stap 5: Menubalk toevoegen.

Voeg de gemaakte menubalk toe.

mb.getMenus().add(mn);

Stap 6: Groep en scène configureren.

Een groep en scène moeten worden geconfigureerd na het uitvoeren van de bovenstaande stappen.

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

Voorbeelden om JavaFX Menu te implementeren

Laten we een aantal verschillende JavaFX-programma's bekijken om het JavaFX-menu te implementeren.

Voorbeeld 1

In dit voorbeeld zien we een Java-programma met menu-items om een ​​menu samen te stellen.

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);
)
)

Output:

Er wordt een menu weergegeven zoals hierboven weergegeven. Wanneer erop wordt geklikt, wordt een lijst met items weergegeven.

Voorbeeld 2

Dit is een Java-programma om een ​​menu met menu-items en de bijbehorende subitems te maken.

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);
)
)

Output:

Twee menu's met verschillende subitems worden weergegeven bij het uitvoeren van de code. Wanneer op het tweede menu wordt geklikt, worden sub-items zoals Flipkart, Myntra en Queries getoond.

Het is te zien dat een vinkje aanwezig is in de buurt van Myntra terwijl de methode setSelected is ingesteld op True.

Wanneer op het menu Query's wordt geklikt, worden twee subitems zoals 'Gerelateerd aan product' en 'Gerelateerd aan levering' weergegeven.

Conclusie

In JavaFX wordt het menu gebruikt als een pop-up die wordt weergegeven wanneer een gebruiker erop klikt. Menu bestaat uit menu-items en de bijbehorende subitems. In dit document worden belangrijke punten in het JavaFX-menu besproken.

Aanbevolen artikelen

Dit is een handleiding voor het JavaFX-menu. Hier bespreken we syntaxis, constructors, methoden en stappen om het JavaFX-menu te maken, samen met voorbeelden en code-implementatie. U kunt ook de volgende artikelen bekijken voor meer informatie-

  1. Hashing-functie in Java
  2. Arrays in Java Programming
  3. JLabel in Java
  4. JavaFX-indelingen
  5. Hoe werkt de hashing-functie in php met syntaxis?
  6. Top 15 methoden van JavaFX VBox