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

В меню JavaFX это меню используется как всплывающее окно, состоящее из множества пунктов меню, которые отображаются, когда пользователь щелкает по нему. После этого пункты меню переходят в скрытое состояние. Чтобы создать это, создайте экземпляр класса javafx.scene.control.Menu. Синтаксис, конструкторы и некоторые другие аспекты JavaFX Menu будут обсуждаться в следующих разделах.

Синтаксис:

В JavaFX меню можно создать, как показано ниже.

Menu mn = new Menu();

Всегда проверяйте, что класс javafx.scene.chart.Menu импортирован в программу перед выполнением кода.

Конструкторы JavaFX Menu

Есть четыре конструктора для меню JavaFX. Они есть:

  • Меню (): будет создано пустое меню.
  • Меню (строка s): будет создано меню со строкой s в качестве метки.
  • Меню (String s, Node nd): будет создано меню со строкой s в качестве метки и nd в качестве графического узла.
  • Меню (String s, Node nd, Item… .. i): будет создано меню со строкой s в качестве метки и графического узла и добавлением указанных элементов в список.

Методы меню JavaFX

Есть несколько методов меню JavaFX, которые обсуждаются ниже:

  • getItems (): элементы, которые будут отображаться в этом меню.
  • getOnHidden (): будет возвращено значение свойства onHidden.
  • getOnShowing (): будет возвращено значение свойства onShowing.
  • getOnHiding (): будет возвращено значение свойства onHiding.
  • getOnShown (): будет возвращено значение свойства onShown.
  • setOnHidden (EventHandler v): будет установлено значение свойства onHidden v.
  • setOnHiding (EventHandler v): будет установлено значение свойства onHiding v.
  • setOnShowing (EventHandler v): будет установлено значение свойства onShowing v.
  • setOnShown (EventHandler v): будет установлено значение свойства onShown v.
  • hide (): если contextMenu или его подменю отображаются, будет вызван этот метод, чтобы скрыть его.
  • isShowing (): отображение значения свойства будет возвращено.
  • onHiddenProperty (): как только contextMenu будет скрыто, будет вызван этот метод.
  • onShowingProperty (); Перед показом contextMenu этот метод будет вызван, даже если у него нет элементов для отображения.
  • onHidingProperty (): перед скрытием contextMenu будет вызван этот метод.
  • onShownProperty (): после отображения contextMenu будет вызван этот метод.
  • addEventHandler (EventType et, EventHandler e): обработчик событий e будет зарегистрирован в пункте меню.
  • removeEventHandler (EventType et, EventHandler e): зарегистрированный обработчик событий e будет отменен из пункта меню.
  • buildEventDispatchChain (EventDispatchChaint): для цели будет создана цепочка отправки событий t.
  • showProperty (): чтобы проверить, видимо ли contextMenu, будет вызван этот метод.

Как создать меню в 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 Menu вместе с примерами и реализацией кода. Вы также можете посмотреть следующие статьи, чтобы узнать больше

  1. Функция хеширования в Java
  2. Массивы в программировании на Java
  3. JLabel на Java
  4. Макеты JavaFX
  5. Как работает функция хеширования в php с синтаксисом?
  6. 15 лучших методов JavaFX VBox