如何在JavaFX中创建上下文菜单?

菜单是提供给用户的选项或命令的列表,通常菜单包含执行某些操作的项目。菜单的内容称为菜单项。

上下文菜单

上下文菜单是在与应用程序中的UI元素交互时出现的弹出菜单。最好的示例是右键单击鼠标时菜单出现在系统中。您可以通过实例化javafx.scene.control.ContextMenu类来创建上下文菜单。

就像菜单一样,在创建上下文菜单之后,需要向其添加MenuItems。您可以使用setContextMenu()方法将ContextMenu设置为javafx.scene.control类的任何对象。

通常,当您在所附控件上单击鼠标右键时,会出现这些内容菜单。

示例

import java.io.FileNotFoundException;

import javafx.application.Application;

import javafx.geometry.Insets;

import javafx.scene.Group;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.control.ContextMenu;

import javafx.scene.control.MenuItem;

import javafx.scene.control.TextField;

import javafx.scene.layout.HBox;

import javafx.scene.paint.Color;

import javafx.stage.Stage;

public class ContextMenuExample extends Application {

   public void start(Stage stage) throws FileNotFoundException {

      //创建图像视图

      Button button = new Button("Hello");

      TextField textField = new TextField();

      //创建上下文菜单

      ContextMenu contextMenu = new ContextMenu();

      //为上下文菜单创建菜单项

      MenuItem item1 = new MenuItem("option1");

      MenuItem item2 = new MenuItem("option2");

      contextMenu.getItems().addAll(item1, item2);

      //将上下文菜单添加到按钮和文本字段

      textField.setContextMenu(contextMenu);

      button.setContextMenu(contextMenu);

      HBox layout = new HBox(20);

      layout.setPadding(new Insets(15, 15, 15, 100));

      layout.getChildren().addAll(textField, button);

      //设置舞台

      Scene scene = new Scene(new Group(layout), 595, 150, Color.BEIGE);

      stage.setTitle("CustomMenuItem");

      stage.setScene(scene);

      stage.show();

   }

   public static void main(String args[]){

      launch(args);

   }

}

输出结果


以上是 如何在JavaFX中创建上下文菜单? 的全部内容, 来源链接: utcz.com/z/335013.html

回到顶部