Wprowadzenie do menu JavaFX

W menu JavaFX menu jest używane jako wyskakujące okienko, które składa się z wielu elementów menu, które są wyświetlane po kliknięciu przez użytkownika. Następnie elementy menu przechodzą w stan ukryty. Aby to utworzyć, utwórz instancję klasy javafx.scene.control.Menu. Składnia, konstruktory i kilka innych aspektów menu JavaFX zostaną omówione w poniższych sekcjach.

Składnia:

W JavaFX menu można utworzyć jak poniżej.

Menu mn = new Menu();

Zawsze upewnij się, że klasa javafx.scene.chart.Menu jest importowana do programu przed uruchomieniem kodu.

Konstruktory menu JavaFX

Istnieją cztery konstruktory dla menu JavaFX. Oni są:

  • Menu (): Zostanie utworzone puste menu.
  • Menu (Ciągi): Menu zostanie utworzone z ciągiem s jako jego etykietą.
  • Menu (String s, Node nd): Menu zostanie utworzone z ciągiem s jako jego etykietą i nd jako węzłem graficznym.
  • Menu (String s, Node nd, Item… .. i): Menu zostanie utworzone z ciągiem s jako jego etykietą oraz jako węzłem graficznym i dodaniem podanych pozycji do listy.

Metody menu JavaFX

Istnieje kilka metod menu JavaFX, które omówiono poniżej:

  • getItems (): Elementy do wyświetlenia w tym menu.
  • getOnHidden (): wartość właściwości onHidden zostanie zwrócona.
  • getOnShowing (): wartość właściwości onShowing zostanie zwrócona.
  • getOnHiding (): wartość właściwości onHiding zostanie zwrócona.
  • getOnShown (): wartość właściwości onShown zostanie zwrócona.
  • setOnHidden (EventHandler v): wartość v właściwości onHidden zostanie ustawiona.
  • setOnHiding (EventHandler v): zostanie ustawiona wartość v właściwości onHiding.
  • setOnShowing (EventHandler v): zostanie ustawiona wartość v właściwości onShowing.
  • setOnShown (EventHandler v): wartość v właściwości onShown zostanie ustawiona.
  • hide (): Jeśli wyświetlane jest menu kontekstowe lub jego podmenu, ta metoda zostanie wywołana, aby go ukryć.
  • isShowing (): Wyświetlana jest wartość właściwości.
  • onHiddenProperty (): Gdy kontekstMenu jest ukryty, ta metoda zostanie wywołana.
  • onShowingProperty (); Przed wyświetleniem menu kontekstowego ta metoda zostanie wywołana, nawet jeśli nie ma żadnych elementów do wyświetlenia.
  • onHidingProperty (): Zanim zostanie ukryty kontekstMenu, zostanie wywołana ta metoda.
  • onShownProperty (): Po wyświetleniu kontekstu zostanie wywołana ta metoda.
  • addEventHandler (EventType et, EventHandler e): Procedura obsługi zdarzeń e zostanie zarejestrowana w pozycji menu.
  • removeEventHandler (EventType et, EventHandler e): Zarejestrowana procedura obsługi zdarzeń e zostanie wyrejestrowana z pozycji menu.
  • buildEventDispatchChain (EventDispatchChaint): Dla celu zostanie utworzony łańcuch wysyłki zdarzeń t.
  • pokazanoProperty (): Aby sprawdzić, czy kontekstMenu jest widoczny, ta metoda zostanie wywołana.

Jak utworzyć menu w JavaFX?

Menu JavaFX można utworzyć, wykonując następujące czynności.

Krok 1: Utwórz klasę, która będzie się składać z klasy aplikacji.

Zaimportuj pakiet javafx.application.Application, aby rozszerzyć klasę aplikacji i utworzyć klasę, która ją rozszerza.

public class JavaFXChartsExample extends Application (
)

Krok 2: Utwórz menu.

Jak już wspomniano, utwórz menu, używając składni.

Menu m = new Menu();

Krok 3: Utwórz elementy menu.

Utwórz pozycje menu Pozycje menu, które należy dodać do menu, które należy utworzyć.

MenuItem mi1 = new MenuItem("Happy");

Krok 4: Utwórz pasek menu.

MenuBar mb = new MenuBar();

Krok 5: Dodaj pasek menu.

Dodaj utworzony pasek menu.

mb.getMenus().add(mn);

Krok 6: Skonfiguruj grupę i scenę.

Grupa i scena muszą zostać skonfigurowane po wykonaniu powyższych kroków.

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

Przykłady implementacji menu JavaFX

Zobaczmy kilka różnych programów JavaFX do implementacji menu JavaFX.

Przykład 1

W tym przykładzie zobaczymy program Java z elementami menu służącymi do tworzenia menu.

Kod:

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

Wynik:

Zostanie wyświetlone menu, jak pokazano powyżej. Po kliknięciu wyświetla się lista elementów.

Przykład nr 2

Jest to program Java do tworzenia menu z elementami menu i jego elementami podrzędnymi.

Kod:

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

Wynik:

Podczas wykonywania kodu zostaną wyświetlone dwa menu z różnymi podelementami. Po kliknięciu drugiego menu zostaną wyświetlone elementy podrzędne, takie jak Flipkart, Myntra i Zapytania.

Można zauważyć, że tik jest obecny w pobliżu Myntra, ponieważ metoda setSelected jest ustawiona na True.

Po kliknięciu menu Zapytania wyświetlane są dwa elementy podrzędne, takie jak „Powiązane z produktem” i „Powiązane z dostawą”.

Wniosek

W JavaFX menu jest używane jako wyskakujące okienko, które jest wyświetlane, gdy użytkownik go kliknie. Menu składa się z elementów menu i jego podelementów. W tym dokumencie omówiono ważne punkty w menu JavaFX.

Polecane artykuły

To jest przewodnik po menu JavaFX. Tutaj omawiamy składnię, konstruktory, metody i kroki tworzenia Menu JavaFX wraz z przykładami i implementacją kodu. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-

  1. Funkcja mieszania w Javie
  2. Tablice w programowaniu Java
  3. JLabel w Javie
  4. Układy JavaFX
  5. Jak działa funkcja hashująca w php ze składnią?
  6. 15 najlepszych metod JavaFX VBox