Introduzione al menu JavaFX

Nel menu JavaFX, il menu viene utilizzato come popup costituito da molte voci di menu visualizzate quando l'utente fa clic su di esso. Successivamente, le voci di menu vanno in uno stato nascosto. Per creare questo, creare un'istanza della classe javafx.scene.control.Menu. Sintassi, costruttori e molti altri aspetti del menu JavaFX saranno discussi nelle sezioni seguenti.

Sintassi:

In JavaFX, il menu può essere creato come di seguito.

Menu mn = new Menu();

Assicurarsi sempre che la classe javafx.scene.chart.Menu sia importata nel programma prima di eseguire il codice.

Costruttori del menu JavaFX

Esistono quattro costruttori per il menu JavaFX. Loro sono:

  • Menu (): verrà creato un menu vuoto.
  • Menu (String s): verrà creato un menu con stringa s come etichetta.
  • Menu (String s, Nodo nd): verrà creato un menu con stringa s come etichetta e n come nodo grafico.
  • Menu (String s, Nodo nd, Item… .. i): Verrà creato un menu con stringhe s come etichetta e come nodo grafico e aggiungerà gli elementi dati all'elenco.

Metodi del menu JavaFX

Esistono alcuni metodi del menu JavaFX discussi di seguito:

  • getItems (): elementi da visualizzare in questo menu.
  • getOnHidden (): il valore della proprietà onHidden verrà restituito.
  • getOnShowing (): il valore della proprietà onShowing verrà restituito.
  • getOnHiding (): il valore della proprietà onHiding verrà restituito.
  • getOnShown (): il valore della proprietà onShown verrà restituito.
  • setOnHidden (EventHandler v): verrà impostato il valore della proprietà onHidden v.
  • setOnHiding (EventHandler v): verrà impostato il valore della proprietà onHiding v.
  • setOnShowing (EventHandler v): verrà impostato il valore della proprietà onShowing v.
  • setOnShown (EventHandler v): verrà impostato il valore v della proprietà onShown.
  • hide (): se viene visualizzato contextMenu o i relativi sottomenu, questo metodo verrà chiamato per nasconderlo.
  • isShowing (): verrà mostrato il valore della proprietà.
  • onHiddenProperty (): una volta nascosto contextMenu, questo metodo verrà chiamato.
  • onShowingProperty (); Prima che venga visualizzato il menu contestuale, questo metodo verrà chiamato anche se non ha elementi da mostrare.
  • onHidingProperty (): Prima che il contextMenu sia nascosto, verrà chiamato questo metodo.
  • onShownProperty (): una volta mostrato il contextMenu, questo metodo verrà chiamato.
  • addEventHandler (EventType et, EventHandler e): un gestore eventi e verrà registrato nella voce di menu.
  • removeEventHandler (EventType et, EventHandler e): un gestore eventi e registrato verrà annullato dalla voce di menu.
  • buildEventDispatchChain (EventDispatchChaint): verrà creata una catena di invio eventi t per la destinazione.
  • ShowingProperty (): per verificare se il contextMenu è visibile, verrà chiamato questo metodo.

Come creare menu in JavaFX?

Il menu JavaFX può essere creato utilizzando i seguenti passaggi.

Passaggio 1: creare una classe che si estende dalla classe di applicazione.

Importare il pacchetto javafx.application.Application per estendere la classe Application e creare una classe che la estende.

public class JavaFXChartsExample extends Application (
)

Passaggio 2: creare il menu.

Come già discusso, crea un menu usando la sintassi.

Menu m = new Menu();

Passaggio 3: creare voci di menu.

Crea voci di menu Voci del menu che devono essere aggiunte al menu che deve essere creato.

MenuItem mi1 = new MenuItem("Happy");

Passaggio 4: creare una barra dei menu.

MenuBar mb = new MenuBar();

Passaggio 5: Aggiungi barra dei menu.

Aggiungi la barra dei menu creata.

mb.getMenus().add(mn);

Passaggio 6: configura gruppo e scena.

Un gruppo e una scena devono essere configurati dopo aver eseguito i passaggi precedenti.

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

Esempi di implementazione del menu JavaFX

Vediamo alcuni diversi programmi JavaFX per implementare il menu JavaFX.

Esempio 1

In questo esempio, vedremo un programma Java con voci di menu per costruire un menu.

Codice:

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

Produzione:

Verrà visualizzato un menu come mostrato sopra. Quando si fa clic, viene visualizzato un elenco di elementi.

Esempio n. 2

Questo è un programma Java per creare un menu con voci di menu e le sue voci secondarie.

Codice:

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

Produzione:

Durante l'esecuzione del codice verranno visualizzati due menu con voci secondarie diverse. Quando si fa clic sul secondo menu, verranno visualizzati gli elementi secondari come Flipkart, Myntra e Query.

Si può vedere che è presente un segno di spunta vicino a Myntra mentre il metodo setSelezionato è impostato su True.

Quando si fa clic sul menu Query, vengono visualizzate due voci secondarie come "Correlata al prodotto" e "Correlata alla consegna".

Conclusione

In JavaFX, il menu viene utilizzato come popup che viene visualizzato quando un utente fa clic su di esso. Il menu è composto da voci di menu e relative voci secondarie. In questo documento vengono discussi punti importanti nel menu JavaFX.

Articoli consigliati

Questa è una guida al menu JavaFX. Qui discutiamo sintassi, costruttori, metodi e passaggi per creare il menu JavaFX insieme ad esempi e implementazione del codice. Puoi anche consultare i seguenti articoli per saperne di più-

  1. Funzione hash in Java
  2. Matrici nella programmazione Java
  3. JLabel in Java
  4. Layout JavaFX
  5. Come funziona la funzione di hashing in php con sintassi?
  6. I 15 principali metodi di JavaFX VBox

Categoria: