JavaFX可以通过ContextMenu的getSelectedItem()方法来获取选定项目。ContextMenu是JavaFX中的一个弹出式菜单,它可以附加到任何JavaFX控件上,并在用户右键单击控件时显示。通过调用ContextMenu的getSelectedItem()方法,可以获取用户在菜单中选择的项目。
使用ContextMenu的步骤如下:
以下是一个示例代码,演示如何获取ContextMenu的选定项目:
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
// 创建一个上下文菜单
ContextMenu contextMenu = new ContextMenu();
// 创建菜单项
MenuItem item1 = new MenuItem("选项1");
MenuItem item2 = new MenuItem("选项2");
MenuItem item3 = new MenuItem("选项3");
// 将菜单项添加到上下文菜单
contextMenu.getItems().addAll(item1, item2, item3);
// 创建一个文本框
TextField textField = new TextField();
// 将上下文菜单附加到文本框上
textField.setContextMenu(contextMenu);
// 处理右键单击事件
textField.setOnContextMenuRequested(event -> {
// 获取选定项目
MenuItem selectedItem = contextMenu.getSelectedItem();
if (selectedItem != null) {
System.out.println("选定项目:" + selectedItem.getText());
}
});
VBox root = new VBox(textField);
Scene scene = new Scene(root, 300, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在上面的示例中,我们创建了一个上下文菜单,并将其附加到一个文本框上。当用户右键单击文本框时,会触发onContextMenuRequested事件处理程序。在事件处理程序中,我们使用getSelectedItem()方法获取选定项目,并将其打印到控制台上。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云