Въведение в менюто JavaFX
В менюто JavaFX менюто се използва като изскачащ прозорец, който се състои от много елементи от менюто, които се показват, когато потребителят щракне върху него. След това елементите от менюто преминават в скрито състояние. За да създадете това, инстанцирайте класа javafx.scene.control.Menu. Синтаксис, конструктори и няколко други аспекта на JavaFX Menu ще бъдат разгледани в следващите раздели.
Синтаксис:
В JavaFX менюто може да бъде създадено както по-долу.
Menu mn = new Menu();
Винаги се уверете, че клас javafx.scene.chart.Menu е импортиран в програмата, преди да изпълните кода.
Конструктори на JavaFX Menu
Има четири конструктора за менюто JavaFX. Те са:
- Меню (): Ще се създаде празно меню.
- Меню (String s): Ще се създаде меню със низ s като негов етикет.
- Меню (String s, Node nd): Ще бъде създадено меню със низ s като негов етикет и nd като графичен възел.
- Меню (String s, Node nd, Item … .. i): Ще бъде създадено меню със низ s като негов етикет и като графичен възел и добавете дадените елементи към списъка.
Методи на JavaFX Menu
Има някои методи на менюто на JavaFX, които са разгледани по-долу:
- getItems (): Елементите, които ще се показват в това меню.
- getOnHidden (): стойността на onHidden свойството ще бъде върната.
- getOnShowing (): стойността на свойството onShowing ще бъде върната.
- getOnHiding (): стойността на свойството на скриване ще бъде върната.
- getOnShown (): стойността на свойството onShown ще бъде върната.
- setOnHidden (EventHandler v): стойността на свойството onHidden v ще бъде зададена.
- setOnHiding (EventHandler v): стойност на vHiding свойството v ще бъде зададена.
- setOnShowing (EventHandler v): стойността на свойството onShowing ще бъде зададена.
- setOnShown (EventHandler v): стойността на свойството onShown ще бъде зададена.
- скриване (): Ако се показва контекстът или неговото подменю, този метод ще бъде извикан, за да го скрие.
- isShowing (): Показва стойността на свойството ще бъде върната.
- onHiddenProperty (): След като контекстът е скрит, този метод ще бъде извикан.
- onShowingProperty (); Преди да се покаже контекстното меню, този метод ще бъде извикан, дори ако няма елементи за показване.
- onHidingProperty (): Преди skriptaMenu да бъде скрит, този метод ще бъде извикан.
- onShownProperty (): След като се покаже контекстаMenu, този метод ще бъде извикан.
- addEventHandler (EventType et, EventHandler e): Обработващият събитие e ще бъде регистриран към елемента от менюто.
- RemoveEventHandler (EventType et, EventHandler e): Обработващият събитие e, който е регистриран, ще бъде нерегистриран от елемента от менюто.
- buildEventDispatchChain (EventDispatchChaint): Веригата за изпращане на събитие t ще бъде изградена за целта.
- показProperty (): За да се провери дали контекстът е видим, този метод ще бъде извикан.
Как да създадете меню в JavaFX?
JavaFX Menu може да се създаде, като се използват следните стъпки.
Стъпка 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 Menu
Нека да видим някои различни JavaFX програми за реализиране на JavaFX Menu.
Пример №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 заедно с примери и реализация на код. Можете също да разгледате следните статии, за да научите повече-
- Функция хеширане в Java
- Масиви в Java програмиране
- JLabel на Java
- Оформления на JavaFX
- Как функционира хеширането във php със синтаксис?
- Топ 15 методи на JavaFX VBox