JavaFX | CustomMenuItem
CustomMenuItem 是 JavaFX 库的一部分。CustomMenuItem 允许不同类型的节点作为其菜单项。customMenuItem 的一个有用属性是 hideOnClick。此属性说明当用户单击 menuitem 时是否应隐藏菜单。 custom menuitem 的构造函数:
- 自定义菜单项(节点 n) :用指定的节点创建一个菜单项
- 自定义菜单项(节点 n,布尔 b) :用指定的点击属性创建一个菜单项并隐藏
常用方法:
| 方法 | 说明 | | --- | --- | | get content() | 获取属性内容的值 | | **isHideOnClick()** | 获取 hideOnClick 属性的值 | | **setHideOnClick(布尔 v)** | 设置 hideOnClick 属性的值 | | **setContent(节点 v)** | 将节点设置为菜单项的内容 |下面的程序将说明 CustomMenuItem 的使用:
- 创建自定义菜单项并将其添加到菜单中的程序:该程序创建一个由菜单栏名称指示的菜单栏。将创建一个名为 m 的菜单,并将 3 个自定义 menuitems menuitem _ 1、menuitem_2、menuitem_3 添加到菜单中,并将菜单添加到菜单栏中。菜单栏将在场景中创建,而场景又将托管在舞台中。函数 setTitle()用于为舞台提供标题。然后创建一个 VBox,在其上调用 addChildren()方法将菜单栏附加到场景中。最后,调用 show()方法显示最终结果。自定义菜单将包含一个按钮、标签和一个复选框。
Java 语言(一种计算机语言,尤用于创建网站)
// Program to create a custom menu items and add it to the menu
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.collections.*;
import javafx.stage.Stage;
import javafx.scene.text.Text.*;
import javafx.scene.paint.*;
import javafx.scene.text.*;
public class CustomMenuItem_1 extends Application {
// Launch the application
public void start(Stage stage)
{
// Set title for the stage
stage.setTitle("creating CustomMenuItem ");
// Create a tile pane
TilePane r = new TilePane();
// Create a label
Label description_label =
new Label("This is a CustomMenuItem example ");
// Create a menu
Menu menu = new Menu("Menu");
// Create menuitems
CustomMenuItem menuitem_1 =
new CustomMenuItem(new Button("MenuItem 1"));
CustomMenuItem menuitem_2 =
new CustomMenuItem(new Label("MenuItem 2"));
CustomMenuItem menuitem_3 =
new CustomMenuItem(new CheckBox("MenuItem 3"));
// Add menu items to menu
menu.getItems().add(menuitem_1);
menu.getItems().add(menuitem_2);
menu.getItems().add(menuitem_3);
// Create a menubar
MenuBar menubar = new MenuBar();
// Add menu to menubar
menubar.getMenus().add(menu);
// Create a VBox
VBox vbox = new VBox(menubar);
// Create a scene
Scene scene = new Scene(vbox, 200, 200);
// Set the scene
stage.setScene(scene);
stage.show();
}
public static void main(String args[])
{
// Launch the application
launch(args);
}
}
- 输出:
- 程序创建自定义菜单项并将其添加到菜单中,并使用属性 hide 点击:该程序创建一个由 menubar 名称指示的 menubar。将创建一个名为 m 的菜单,并将 4 个自定义 menuitems menuitem _ 1、menuitem_2、menuitem_3、menuitem_4 添加到菜单中,并将菜单添加到菜单栏中。菜单栏将在场景中创建,而场景又将托管在舞台中。函数 setTitle()用于为舞台提供标题。然后创建一个 VBox,在其上调用 addChildren()方法将菜单栏附加到场景中。最后,调用 show()方法显示最终结果。CustonMenuItems 将包含一个按钮、一个滑块、一个复选框和一个选项框。自定义 menuitems_2 和 menuitems_4 的“单击时隐藏”属性将设置为 false,menuitem_1 和 menuitems_3 的“单击时隐藏”属性将设置为 true。点击 menuitem_2 和 menuitem_4 不会在点击时消失。
Java 语言(一种计算机语言,尤用于创建网站)
// Program to create custom menu items and
// Add it to the menu and use the property hide on click
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.collections.*;
import javafx.stage.Stage;
import javafx.scene.text.Text.*;
import javafx.scene.paint.*;
import javafx.scene.text.*;
public class CustomMenuItem_2 extends Application {
// Launch the application
public void start(Stage stage)
{
// Set title for the stage
stage.setTitle("creating CustomMenuItem ");
// Create a tile pane
TilePane r = new TilePane();
// Create a label
Label description_label =
new Label("This is a CustomMenuItem example ");
// Create a menu
Menu menu = new Menu("Menu");
// Create menuitems
CustomMenuItem menuitem_1 =
new CustomMenuItem(new Button("MenuItem 1"));
CustomMenuItem menuitem_2 =
new CustomMenuItem(new Slider());
CustomMenuItem menuitem_3 =
new CustomMenuItem(new CheckBox("MenuItem 3"));
CustomMenuItem menuitem_4 =
new CustomMenuItem(new ChoiceBox(FXCollections
.observableArrayList("choice 1",
"choice 2", "choice 3")));
// Cet hide on click property
menuitem_2.setHideOnClick(false);
menuitem_4.setHideOnClick(false);
menuitem_1.setHideOnClick(true);
menuitem_3.setHideOnClick(true);
// Add menu items to menu
menu.getItems().add(menuitem_1);
menu.getItems().add(menuitem_2);
menu.getItems().add(menuitem_3);
menu.getItems().add(menuitem_4);
// Create a menubar
MenuBar menubar = new MenuBar();
// Add menu to menubar
menubar.getMenus().add(menu);
// Create a VBox
VBox vbox = new VBox(menubar);
// Create a scene
Scene scene = new Scene(vbox, 200, 200);
// Cet the scene
stage.setScene(scene);
stage.show();
}
public static void main(String args[])
{
// Launch the application
launch(args);
}
}
- 输出:
注意:上述程序可能无法在联机 IDE 中运行,请使用脱机编译器。 参考:https://docs . Oracle . com/JavaFX/2/API/JavaFX/scene/control/custommenuitem . html
版权属于:月萌API www.moonapi.com,转载请注明出处