ContextMenu是一個在圖形用戶界面中經常使用的功能,用于在用戶右擊鼠標時顯示的一個菜單。下面是一個ContextMenu的使用示例:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.MenuItem;
import javafx.scene.control.TextField;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.input.ContextMenuEvent;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class ContextMenuExample extends Application {
@Override
public void start(Stage primaryStage) {
// 創建一個文本框
TextField textField = new TextField();
// 創建一個上下文菜單
ContextMenu contextMenu = new ContextMenu();
// 創建菜單項
MenuItem cutMenuItem = new MenuItem("剪切");
cutMenuItem.setOnAction(e -> {
// 剪切文本
textField.cut();
});
MenuItem copyMenuItem = new MenuItem("復制");
copyMenuItem.setOnAction(e -> {
// 復制文本
textField.copy();
});
MenuItem pasteMenuItem = new MenuItem("粘貼");
pasteMenuItem.setOnAction(e -> {
// 粘貼文本
textField.paste();
});
// 將菜單項添加到上下文菜單中
contextMenu.getItems().addAll(cutMenuItem, copyMenuItem, pasteMenuItem);
// 設置上下文菜單到文本框中
textField.setContextMenu(contextMenu);
// 設置上下文菜單事件,當用戶右擊鼠標時顯示上下文菜單
textField.setOnContextMenuRequested(e -> {
contextMenu.show(textField, e.getScreenX(), e.getScreenY());
});
// 創建一個布局,并將文本框添加到布局中
VBox root = new VBox(textField);
// 創建一個場景,并將布局設置到場景中
Scene scene = new Scene(root, 200, 200);
// 設置主舞臺的場景
primaryStage.setScene(scene);
// 顯示主舞臺
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
public static void main(String[] args) {
launch(args);
}
這是一個使用ContextMenu的簡單示例,當用戶右擊文本框時,會彈出一個包含剪切、復制和粘貼功能的上下文菜單。用戶可以選擇相應的菜單項來執行相應的操作。