Introduktion till JavaFX-menyn

I JavaFX-menyn används menyn som en popup som består av många menyalternativ som visas när användaren klickar på den. Därefter går menyalternativen i ett doldt tillstånd. För att skapa detta, instansera klassen javafx.scene.control.Menu. Syntax, konstruktörer och flera andra aspekter av JavaFX Menu kommer att diskuteras i följande avsnitt.

Syntax:

I JavaFX kan menyn skapas enligt nedan.

Menu mn = new Menu();

Se alltid till att klassen javafx.scene.chart.Menu importeras till programmet innan koden körs.

Konstruktörer av JavaFX Menu

Det finns fyra konstruktörer för JavaFX-menyn. Dom är:

  • Meny (): En tom meny skapas.
  • Meny (strängar): En meny skapas med strängar som etikett.
  • Meny (strängar, nod nd): En meny skapas med strängar som etikett och nd som grafiknod.
  • Meny (String s, Node nd, Item… .. i): En meny skapas med strängar som etikett, och som grafisk nod och lägg till de givna objekten i listan.

Metoder för JavaFX-menyn

Det finns några JavaFX-menymetoder som diskuteras nedan:

  • getItems (): Objekt som ska visas i den här menyn.
  • getOnHidden (): värde på onHidden kommer att returneras.
  • getOnShowing (): onShowing-fastighetens värde kommer att returneras.
  • getOnHiding (): onHiding-fastighetens värde kommer att returneras.
  • getOnShown (): onShown-fastighetens värde kommer att returneras.
  • setOnHidden (EventHandler v): onHidden-egenskapens värde v kommer att ställas in.
  • setOnHiding (EventHandler v): onHiding-egenskapens värde v kommer att ställas in.
  • setOnShowing (EventHandler v): onShowing-egenskapens värde v kommer att ställas in.
  • setOnShown (EventHandler v): onShown-egenskapens värde v kommer att ställas in.
  • dölja (): Om contextMenu eller dess undermenyer visas kommer den här metoden att kallas för att dölja den.
  • isShowing (): Visar egenskapens värde kommer att returneras.
  • onHiddenProperty (): När contextMenu är dold, kommer den här metoden att kallas.
  • onShowingProperty (); Innan contextMenu visas kommer den här metoden att kallas även om den inte har några objekt att visa.
  • onHidingProperty (): Innan contextMenu är dold, kommer den här metoden att kallas.
  • onShownProperty (): När contextMenu visas kommer den här metoden att kallas.
  • addEventHandler (EventType et, EventHandler e): En händelsehanterare e kommer att registreras i menyposten.
  • removeEventHandler (EventType et, EventHandler e): En händelsehanterare e som är registrerad kommer att avregistreras från menyposten.
  • buildEventDispatchChain (EventDispatchChaint): En händelseförsäljningskedja t kommer att konstrueras för målet.
  • showingProperty (): För att kontrollera om contextMenu är synlig kommer den här metoden att kallas.

Hur skapar jag meny i JavaFX?

JavaFX-menyn kan skapas med följande steg.

Steg 1: Skapa en klass som sträcker sig från tillämpningsklassen.

Importera paketet javafx.application.Application för att utöka klassen Application och skapa en klass som utvidgar det.

public class JavaFXChartsExample extends Application (
)

Steg 2: Skapa menyn.

Som redan diskuterats, skapa en meny med syntaxen.

Menu m = new Menu();

Steg 3: Skapa menyalternativ.

Skapa menyalternativMenyobjekt som måste läggas till i menyn som måste skapas.

MenuItem mi1 = new MenuItem("Happy");

Steg 4: Skapa en menyfält.

MenuBar mb = new MenuBar();

Steg 5: Lägg till menyraden.

Lägg till den skapade menyfältet.

mb.getMenus().add(mn);

Steg 6: Konfigurera grupp och scen.

En grupp och scen måste konfigureras efter utförandet av ovanstående steg.

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

Exempel på implementering av JavaFX-meny

Låt oss se några olika JavaFX-program för att implementera JavaFX-menyn.

Exempel 1

I det här exemplet ser vi ett java-program med menyalternativ för att skapa en meny.

Koda:

//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 meny visas som visas ovan. När det klickas visas en lista med objekt.

Exempel 2

Detta är ett java-program för att skapa en meny med menyalternativ och dess underobjekt.

Koda:

//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:

Två menyer med olika underobjekt visas vid körning av koden. När du klickar på den andra menyn visas underobjekt som Flipkart, Myntra och Queries.

Det kan ses att en fästing finns i närheten av Myntra eftersom metoden setSelected är satt som True.

När du klickar på Queries-menyn visas två underobjekt som "Relaterad till produkt" och "Relaterade till leverans".

Slutsats

I JavaFX används menyn som en popup som visas när en användare klickar på den. Menyn består av menyalternativ och dess underobjekt. I detta dokument diskuteras viktiga punkter på JavaFX-menyn.

Rekommenderade artiklar

Detta är en guide till JavaFX-menyn. Här diskuterar vi syntax, konstruktörer, metoder och steg för att skapa JavaFX-meny tillsammans med exempel och kodimplementering. Du kan också titta på följande artiklar för att lära dig mer-

  1. Hashing-funktion i Java
  2. Arrays i Java-programmering
  3. JLabel i Java
  4. JavaFX-layouter
  5. Hur hashing-funktion fungerar i php med syntax?
  6. Topp 15 metoder för JavaFX VBox

Kategori: