这对我不起作用,上下文菜单不显示:
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.MenuItem;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;
/**
*
* @author Alvaro
*/
public class TextAreaContextMenu extends Application {
Group root = new Group();
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setScene(new Scene(root));
TextArea t = new TextArea();
ContextMenu m = new ContextMenu();
m.setOnShowing(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent arg0) {
System.out.println("Showing...");
}
});
MenuItem item = new MenuItem("Item");
m.getItems().add(item);
t.setContextMenu(m);
root.getChildren().add(t);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
这是一个错误吗?或者我做错了什么? 我正在运行jdk1.7.0_02,我认为JavaFX 2.0.2 SDK。 顺便说一句,我如何找到我已安装的JavaFX SDK版本?
提前感谢您的帮助。
答案 0 :(得分:1)
您的代码适用于Windows上的JavaFX 2.1 dev版本。右键单击文本区域显示菜单,其中包含一个名为“item”的元素。
你能试试2.1开发版吗?
您可以通过运行下一个代码找到当前版本:
System.out.println(com.sun.javafx.runtime.VersionInfo.getVersion());