Introduksjon til JavaFX-meny

I JavaFX-menyen brukes menyen som en popup som består av mange menyelementer som vises når brukeren klikker på den. Etter dette går menypunktene i skjult tilstand. For å lage dette, øyeblikkelig klassen javafx.scene.control.Menu. Syntaks, konstruktører og flere andre aspekter av JavaFX Menu vil bli diskutert i de følgende seksjonene.

syntaks:

I JavaFX kan menyen opprettes som nedenfor.

Menu mn = new Menu();

Forsikre deg alltid om at klassen javafx.scene.chart.Menu blir importert til programmet før du kjører koden.

Konstruktører av JavaFX Menu

Det er fire konstruktører for JavaFX-menyen. De er:

  • Meny (): En tom meny opprettes.
  • Meny (streng): En meny opprettes med streng som etikett.
  • Meny (String s, Node nd): En meny opprettes med strengene s som etikett og nd som grafikknoden.
  • Meny (String s, Node nd, Item… .. i): En meny opprettes med strengene s som etikett, og som grafisk node og legger de gitte elementene til listen.

Metoder for JavaFX Menu

Det er noen JavaFX-menymetoder som blir diskutert nedenfor:

  • getItems (): Elementer som skal vises i denne menyen.
  • getOnHidden (): verdien på onHidden eiendom returneres.
  • getOnShowing (): verdien på onShowing eiendom returneres.
  • getOnHiding (): verdien på onHiding eiendom returneres.
  • getOnShown (): verdien på onShown eiendom returneres.
  • setOnHidden (EventHandler v): onHidden-eiendommens verdi v vil bli satt.
  • setOnHiding (EventHandler v): onHiding-eiendommens verdi v vil bli satt.
  • setOnShowing (EventHandler v): verdi på onShowing-egenskapen vil bli satt.
  • setOnShown (EventHandler v): verdien på onShown eiendom vil bli satt.
  • skjule (): Hvis contextMenu eller undermenyene vises, vil denne metoden bli kalt for å skjule den.
  • isShowing (): Viser eiendommens verdi vil bli returnert.
  • onHiddenProperty (): Når contextMenu er skjult, vil denne metoden bli kalt.
  • onShowingProperty (); Før contextMenu vises, vil denne metoden bli kalt selv om den ikke har noen elementer å vise.
  • onHidingProperty (): Før contextMenu er skjult, vil denne metoden bli kalt.
  • onShownProperty (): Når contextMenu er vist, vil denne metoden bli kalt.
  • addEventHandler (EventType et, EventHandler e): En hendelsesbehandler e vil bli registrert i menyvalget.
  • removeEventHandler (EventType et, EventHandler e): En hendelsesbehandler e som er registrert, blir ikke registrert fra menyvalget.
  • buildEventDispatchChain (EventDispatchChaint): En hendelsesforsendelseskjede t vil bli konstruert for målet.
  • showingProperty (): For å sjekke om contextMenu er synlig, vil denne metoden bli kalt.

Hvordan lage meny i JavaFX?

JavaFX-meny kan opprettes ved hjelp av følgende trinn.

Trinn 1: Lag en klasse som strekker seg fra applikasjonsklasse.

Importer pakken javafx.application.Application for å utvide applikasjonsklassen og opprette en klasse som utvider den.

public class JavaFXChartsExample extends Application (
)

Trinn 2: Lag menyen.

Som allerede diskutert, lag en meny ved hjelp av syntaks.

Menu m = new Menu();

Trinn 3: Lag menyelementer.

Lag menyelementerMenyelementer som må legges til menyen som må opprettes.

MenuItem mi1 = new MenuItem("Happy");

Trinn 4: Lag en menylinje.

MenuBar mb = new MenuBar();

Trinn 5: Legg til menylinje.

Legg til menylinjen som er opprettet.

mb.getMenus().add(mn);

Trinn 6: Konfigurer gruppe og scene.

En gruppe og scene må konfigureres etter utførelse av trinnene ovenfor.

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

Eksempler på implementering av JavaFX-meny

La oss se noen forskjellige JavaFX-programmer for å implementere JavaFX-menyen.

Eksempel 1

I dette eksemplet ser vi et java-program med menyelementer for å lage en meny.

Kode:

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

Produksjon:

En meny vises som vist ovenfor. Når det klikkes, vises en liste over elementer.

Eksempel 2

Dette er et java-program for å lage en meny med menyelementer og dets underelementer.

Kode:

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

Produksjon:

To menyer med forskjellige underelementer vises når du kjører koden. Når du klikker på den andre menyen, vises underelementer som Flipkart, Myntra og Queries.

Det kan sees at en hake er til stede i nærheten av Myntra når metoden settVelg er satt som sann.

Når du klikker på Queries-menyen, vises to underelementer som 'Relatert til produkt' og 'Relatert til levering'.

Konklusjon

I JavaFX brukes menyen som en popup som vises når en bruker klikker på den. Menyen består av menyelementer og dens underelementer. I dette dokumentet diskuteres viktige punkter på JavaFX-menyen.

Anbefalte artikler

Dette er en guide til JavaFX Menu. Her diskuterer vi syntaks, konstruktører, metoder og trinn for å lage JavaFX Menu sammen med eksempler og implementering av kode. Du kan også se på følgende artikler for å lære mer-

  1. Hashing-funksjon i Java
  2. Arrays i Java-programmering
  3. JLabel i Java
  4. JavaFX-oppsett
  5. Hvordan hashingfunksjon fungerer i php med syntaks?
  6. Topp 15 metoder for JavaFX VBox