Úvod do nabídky JavaFX

V nabídce JavaFX se nabídka používá jako vyskakovací okno, které se skládá z mnoha položek nabídky, které se zobrazí, když na něj uživatel klikne. Poté položky nabídky přejdou do skrytého stavu. Za tímto účelem vytvořte instanci třídy javafx.scene.control.Menu. Syntaxe, konstruktéři a několik dalších aspektů nabídky JavaFX budou popsány v následujících částech.

Syntax:

V JavaFX lze nabídku vytvořit níže.

Menu mn = new Menu();

Před spuštěním kódu vždy zkontrolujte, zda je do programu importována třída javafx.scene.chart.Menu.

Konstruktorové menu JavaFX

Pro nabídku JavaFX existují čtyři konstruktéři. Oni jsou:

  • Menu (): Bude vytvořena prázdná nabídka.
  • Menu (String s): Menu bude vytvořeno s řetězci s jako jeho popisek.
  • Menu (String s, Node nd): Menu bude vytvořeno s řetězci s jako jeho popisek a nd jako grafický uzel.
  • Menu (String s, Node nd, Item… .. i): Bude vytvořeno menu s řetězci s jako jeho popisek a jako grafický uzel a přidané dané položky do seznamu.

Metody JavaFX Menu

Níže jsou uvedeny některé metody nabídky JavaFX:

  • getItems (): Položky, které se mají zobrazit v této nabídce.
  • getOnHidden (): Hodnota vlastnosti onHidden bude vrácena.
  • getOnShowing (): Hodnota vlastnosti onShowing bude vrácena.
  • getOnHiding (): Hodnota vlastnosti onHiding bude vrácena.
  • getOnShown (): Hodnota vlastnosti onShown bude vrácena.
  • setOnHidden (EventHandler v): bude nastavena hodnota v vlastnosti onHidden.
  • setOnHiding (EventHandler v): Bude nastavena hodnota vlastnosti onHiding v.
  • setOnShowing (EventHandler v): bude nastavena hodnota v vlastnosti onShowing.
  • setOnShown (EventHandler v): bude nastavena hodnota v vlastnosti onShown.
  • hide (): Pokud se zobrazí contextMenu nebo jeho podnabídky, bude tato metoda volána pro skrytí.
  • isShowing (): Zobrazení hodnoty nemovitosti bude vráceno.
  • onHiddenProperty (): Jakmile je kontextové menu skryté, bude tato metoda volána.
  • onShowingProperty (); Před zobrazením contextMenu bude tato metoda volána, i když nemá žádné položky k zobrazení.
  • onHidingProperty (): Před skrytím contextMenu bude tato metoda volána.
  • onShownProperty (): Jakmile se zobrazí contextMenu, bude tato metoda volána.
  • addEventHandler (EventType et, EventHandler e): Obsluha události e bude zaregistrována do položky nabídky.
  • removeEventHandler (EventType et, EventHandler e): Obslužný program událostí, který je registrován, bude z položky nabídky neregistrován.
  • buildEventDispatchChain (EventDispatchChaint): Pro cíl bude vytvořen řetězec odeslání událostí t.
  • showingProperty (): Za účelem ověření, zda je viditelný contextMenu, bude tato metoda volána.

Jak vytvořit nabídku v JavaFXu?

Menu JavaFX lze vytvořit pomocí následujících kroků.

Krok 1: Vytvořte třídu, která se rozšiřuje z třídy aplikací.

Importujte balíček javafx.application.Application, abyste rozšířili třídu Application a vytvořili třídu, která ji rozšiřuje.

public class JavaFXChartsExample extends Application (
)

Krok 2: Vytvořte nabídku.

Jak již bylo řečeno, vytvořte nabídku pomocí syntaxe.

Menu m = new Menu();

Krok 3: Vytvoření položek nabídky.

Vytvořit položky nabídkyMenu položky, které je třeba přidat do nabídky, kterou je třeba vytvořit.

MenuItem mi1 = new MenuItem("Happy");

Krok 4: Vytvořte panel nabídek.

MenuBar mb = new MenuBar();

Krok 5: Přidat panel nabídek.

Přidat panel nabídek vytvořen.

mb.getMenus().add(mn);

Krok 6: Konfigurace skupiny a scény.

Po provedení výše uvedených kroků je třeba nakonfigurovat skupinu a scénu.

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

Příklady implementace nabídky JavaFX

Podívejme se na několik různých programů JavaFX k implementaci nabídky JavaFX.

Příklad č. 1

V tomto příkladu uvidíme program java s položkami nabídky k vytvoření nabídky.

Kód:

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

Výstup:

Zobrazí se nabídka, jak je uvedeno výše. Po kliknutí se zobrazí seznam položek.

Příklad č. 2

Toto je program java k vytvoření nabídky s položkami nabídky a jejími podpoložkami.

Kód:

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

Výstup:

Po provedení kódu se zobrazí dvě nabídky s různými podpoložkami. Po kliknutí na druhou nabídku se zobrazí podpoložky jako Flipkart, Myntra a Queries.

Je vidět, že u Myntra je přítomna klíště, protože metoda setSelected je nastavena na True.

Po kliknutí na nabídku Dotazy se zobrazí dvě dílčí položky, například „Související s produktem“ a „Související s dodáním“.

Závěr

V JavaFX se nabídka používá jako vyskakovací okno, které se zobrazí, když na něj uživatel klikne. Nabídka se skládá z položek nabídky a jejích podpoložek. V tomto dokumentu jsou diskutovány důležité body v nabídce JavaFX.

Doporučené články

Toto je průvodce nabídkou JavaFX. Zde diskutujeme syntaxi, konstruktéry, metody a kroky k vytvoření nabídky JavaFX spolu s příklady a implementací kódu. Další informace naleznete také v následujících článcích

  1. Hashing Function v Javě
  2. Pole v programování Java
  3. JLabel v Javě
  4. Rozložení JavaFX
  5. Jak funguje hashovací funkce v php se syntaxí?
  6. Top 15 metod JavaFX VBox

Kategorie: