Введення в меню JavaFX

У меню JavaFX меню використовується як спливаюче вікно, яке складається з багатьох пунктів меню, які відображаються, коли користувач натискає на нього. Після цього пункти меню переходять у прихований стан. Для того щоб створити це, інстанціруйте клас javafx.scene.control.Menu. Синтаксис, конструктори та кілька інших аспектів меню JavaFX будуть обговорені в наступних розділах.

Синтаксис:

У JavaFX меню можна створити, як показано нижче.

Menu mn = new Menu();

Завжди переконайтесь, що клас javafx.scene.chart.Menu імпортується в програму перед виконанням коду.

Конструктори меню JavaFX

Існує чотири конструктори для меню JavaFX. Вони є:

  • Меню (): Створиться порожнє меню.
  • Меню (Рядок s): Буде створено меню з рядком s як його мітка.
  • Меню (String s, Node nd): Буде створено меню зі строкою s як його мітка та nd як графічний вузол.
  • Меню (Рядок s, Вузол nd, Пункт… .. i): Буде створено меню із рядком s як його мітка, і як графічний вузол, і додайте дані до списку.

Методи меню JavaFX

Нижче описано кілька методів меню JavaFX:

  • getItems (): елементи, які відображатимуться в цьому меню.
  • getOnHidden (): значення прихованої властивості буде повернуто.
  • getOnShowing (): значення властивості onShowing буде повернуто.
  • getOnHiding (): значення приховання властивості буде повернуто.
  • getOnShown (): значення властивості onShown повернеться.
  • setOnHidden (EventHandler v): буде встановлено значення vHidden властивості v.
  • setOnHiding (EventHandler v): буде встановлено значення vHiding властивості v.
  • setOnShowing (EventHandler v): буде встановлено значення властивості onShowing.
  • setOnShown (EventHandler v): буде встановлено значення властивості onShown.
  • hid (): Якщо відображається contextMenu або його підменю, цей метод буде викликаний, щоб приховати його.
  • isShowing (): показ значення властивості буде повернуто.
  • onHiddenProperty (): Після прихованого контекстуMenu цей метод буде викликаний.
  • onShowingProperty (); Перед тим, як буде показано contextMenu, цей метод буде викликаний, навіть якщо у нього немає елементів для показу.
  • onHidingProperty (): Перш ніж приховати контекстMenu, цей метод буде викликаний.
  • onShownProperty (): Після того, як буде показано contextMenu, цей метод буде викликаний.
  • addEventHandler (EventType et, EventHandler e): Обробник подій e буде зареєстрований у пункті меню.
  • deleteEventHandler (EventType et, EventHandler e): обробник події e, який зареєстрований, буде незареєстрований у пункті меню.
  • buildEventDispatchChain (EventDispatchChaint): ланцюг відправки події t буде побудований для цілі.
  • показProperty (): щоб перевірити, чи видно контекстне меню, цей метод буде викликаний.

Як створити меню в JavaFX?

Меню JavaFX можна створити за допомогою наступних кроків.

Крок 1: Створіть клас, який поширюється з класу додатків.

Імпортуйте пакет javafx.application.Application, щоб розширити клас Application та створити клас, який розширює його.

public class JavaFXChartsExample extends Application (
)

Крок 2: Створіть меню.

Як уже обговорювалося, створіть меню за допомогою синтаксису.

Menu m = new Menu();

Крок 3: Створення елементів меню.

Створіть пункти менюМенементи, які потрібно додати до меню, яке потрібно створити.

MenuItem mi1 = new MenuItem("Happy");

Крок 4: Створіть рядок меню.

MenuBar mb = new MenuBar();

Крок 5: Додати рядок меню.

Додайте створений рядок меню.

mb.getMenus().add(mn);

Крок 6: Налаштування групи та сцени.

Група та сцена повинні бути налаштовані після виконання вищезазначених кроків.

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

Приклади для реалізації меню JavaFX

Давайте подивимося кілька різних програм JavaFX для реалізації меню JavaFX.

Приклад №1

У цьому прикладі ми побачимо програму java з пунктами меню для побудови меню.

Код:

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

Вихід:

Буде показано меню, як показано вище. Після його натискання відображається список елементів.

Приклад №2

Це програма java для створення меню з пунктами меню та його підпунктами.

Код:

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

Вихід:

При виконанні коду буде показано два меню з різними підпунктами. Після натискання другого меню будуть показані підпункти, такі як Flipkart, Myntra та Queries.

Видно, що біля Myntra тик присутній, оскільки метод setSelected встановлений як True.

Після натискання меню "Запити" відображаються два підпункти, такі як "Зв'язано з продуктом" та "Зв'язано з доставкою".

Висновок

У JavaFX меню використовується як спливаюче вікно, яке відображається, коли користувач натискає на нього. Меню складається з пунктів меню та його підпунктів. У цьому документі обговорюються важливі моменти меню JavaFX.

Рекомендовані статті

Це посібник з меню JavaFX. Тут ми обговорюємо синтаксис, конструктори, методи та кроки для створення меню JavaFX разом із прикладами та реалізацією коду. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Функція хешування на Java
  2. Масиви в програмуванні Java
  3. JLabel на Java
  4. Макети JavaFX
  5. Як функція хешування працює у php із синтаксисом?
  6. Топ-15 методів JavaFX VBox