Introduktion til JavaFX Menu

I JavaFX-menuen bruges menuen som en popup, der består af mange menupunkter, der vises, når brugeren klikker på den. Derefter går menupunkterne i skjult tilstand. For at oprette dette, skal du indstille klassen javafx.scene.control.Menu. Syntaks, konstruktører og flere andre aspekter af JavaFX Menu vil blive diskuteret i de følgende afsnit.

Syntaks:

I JavaFX kan menuen oprettes som nedenfor.

Menu mn = new Menu();

Sørg altid for, at klassen javafx.scene.chart.Menu importeres til programmet, før koden udføres.

Konstruktører af JavaFX Menu

Der er fire konstruktører til JavaFX-menuen. De er:

  • Menu (): Der oprettes en tom menu.
  • Menu (streng): En menu oprettes med streng s som dens etiket.
  • Menu (String s, Node nd): En menu oprettes med streng s som etiket og nd som grafiknode.
  • Menu (String s, Node nd, Item… .. i): Der oprettes en menu med streng s som dens etiket, og som den grafiske node og tilføj de givne poster til listen.

Metoder til JavaFX Menu

Der er nogle JavaFX-menymetoder, der diskuteres nedenfor:

  • getItems (): Elementer, der skal vises i denne menu.
  • getOnHidden (): værdien på onHidden ejendom vil blive returneret.
  • getOnShowing (): onShowing egenskabens værdi returneres.
  • getOnHiding (): værdien af ​​onHiding-ejendommen returneres.
  • getOnShown (): værdien på onShown ejendom returneres.
  • setOnHidden (EventHandler v): onHidden egenskabs værdi v indstilles.
  • setOnHiding (EventHandler v): onHiding egenskabens værdi v indstilles.
  • setOnShowing (EventHandler v): onShowing egenskabens værdi v indstilles.
  • setOnShown (EventHandler v): onShown egenskabens værdi v indstilles.
  • skjul (): Hvis contextMenu eller dens undermenuer vises, kaldes denne metode til at skjule den.
  • isShowing (): Viser egenskabens værdi vil blive returneret.
  • onHiddenProperty (): Når contextMenu er skjult, kaldes denne metode.
  • onShowingProperty (); Før contextMenu vises, kaldes denne metode, selvom den ikke har nogen objekter at vise.
  • onHidingProperty (): Før contextMenu er skjult, kaldes denne metode.
  • onShownProperty (): Når contextMenu er vist, kaldes denne metode.
  • addEventHandler (EventType et, EventHandler e): En begivenhedshåndterer e vil blive registreret i menupunktet.
  • removeEventHandler (EventType et, EventHandler e): En begivenhedshåndterer e, der er registreret, vil blive uregistreret fra menupunktet.
  • buildEventDispatchChain (EventDispatchChaint): En hændelsesforsendelseskæde t vil blive konstrueret til målet.
  • showingProperty (): For at kontrollere, om contextMenu er synlig, kaldes denne metode.

Sådan oprettes menu i JavaFX?

JavaFX Menu kan oprettes ved hjælp af følgende trin.

Trin 1: Opret en klasse, der strækker sig fra applikationsklasse.

Importer pakken javafx.application.Application for at udvide klassen Application og oprette en klasse, der udvider den.

public class JavaFXChartsExample extends Application (
)

Trin 2: Opret menuen.

Som allerede omtalt skal du oprette en menu ved hjælp af syntaks.

Menu m = new Menu();

Trin 3: Opret menupunkter.

Opret menupunkterMenuelementer, der skal føjes til den menu, der skal oprettes.

MenuItem mi1 = new MenuItem("Happy");

Trin 4: Opret en menulinje.

MenuBar mb = new MenuBar();

Trin 5: Tilføj menulinje.

Tilføj den oprettede menulinje.

mb.getMenus().add(mn);

Trin 6: Konfigurer gruppe og scene.

En gruppe og scene skal konfigureres efter udførelse af ovenstående trin.

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

Eksempler på implementering af JavaFX-menu

Lad os se nogle forskellige JavaFX-programmer til implementering af JavaFX-menuen.

Eksempel 1

I dette eksempel ser vi et java-program med menupunkter til at konstruere en menu.

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

Produktion:

En menu vises som vist ovenfor. Når det klikkes, vises en liste over varer.

Eksempel 2

Dette er et java-program til at oprette en menu med menupunkter 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);
)
)

Produktion:

To menuer med forskellige underelementer vises ved udførelse af koden. Når der klikkes på den anden menu, vises underelementer som Flipkart, Myntra og Queries.

Det kan ses, at der er et kryds i nærheden af ​​Myntra, da metoden sætVælges er indstillet som sandt.

Når der klikkes på menuen Forespørgsler, vises to underelementer, som f.eks. 'Relateret til produkt' og 'relateret til levering'.

Konklusion

I JavaFX bruges menuen som en popup, der vises, når en bruger klikker på den. Menu består af menupunkter og dets underelementer. I dette dokument diskuteres vigtige punkter i JavaFX-menuen.

Anbefalede artikler

Dette er en guide til JavaFX Menu. Her diskuterer vi syntaks, konstruktører, metoder og trin til at oprette JavaFX Menu sammen med eksempler og kodeimplementering. Du kan også se på de følgende artikler for at lære mere-

  1. Hashing-funktion i Java
  2. Arrays i Java-programmering
  3. JLabel i Java
  4. JavaFX-layout
  5. Hvordan hashing-funktion fungerer i php med syntaks?
  6. Top 15 metoder til JavaFX VBox

Kategori: