Javafx 2 ContextMenu不适用于JavaFX2文本区域?

Javafx 2 ContextMenu不适用于JavaFX2文本区域?,javafx-2,Javafx 2,这对我不起作用,上下文菜单不显示: 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.contro

这对我不起作用,上下文菜单不显示:

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);
    }
}
导入javafx.application.application;
导入javafx.event.EventHandler;
导入javafx.scene.Group;
导入javafx.scene.scene;
导入javafx.scene.control.ContextMenu;
导入javafx.scene.control.MenuItem;
导入javafx.scene.control.TextArea;
导入javafx.stage.stage;
导入javafx.stage.WindowEvent;
/**
*
*@作者阿尔瓦罗
*/
公共类TextAreaContextMenu扩展应用程序{
组根=新组();
@凌驾
public void start(Stage primaryStage)引发异常{
primaryStage.setScene(新场景(根));
TextArea t=新TextArea();
ContextMenu m=新建ContextMenu();
m、 setOnShowing(新的EventHandler(){
@凌驾
公共无效句柄(WindowEvent arg0){
System.out.println(“显示…”);
}
});
菜单项=新菜单项(“项目”);
m、 getItems()。添加(项);
t、 设置上下文菜单(m);
root.getChildren().add(t);
primaryStage.show();
}
公共静态void main(字符串[]args){
发射(args);
}
}
这是虫子吗?还是我做错了什么? 我正在运行jdk1.7.0_02,我认为JavaFX2.0.2SDK。 顺便说一句,我怎样才能知道我到底安装了哪个JavaFXSDK版本


提前感谢您的帮助。

您的代码适用于Windows上的JavaFX2.1开发版本。右键单击文本区域显示菜单,其中一个元素名为“item”

你能试试2.1开发版本吗

您可以通过运行下一个代码来查找当前版本:

        System.out.println(com.sun.javafx.runtime.VersionInfo.getVersion());

您的代码适用于Windows上的JavaFX2.1开发版本。右键单击文本区域显示菜单,其中一个元素名为“item”

你能试试2.1开发版本吗

您可以通过运行下一个代码来查找当前版本:

        System.out.println(com.sun.javafx.runtime.VersionInfo.getVersion());

嘿,谢尔盖,谢谢你一如既往的帮助。我在运行2.0.3。我在2.1测试版上试用过,效果很好。谢谢。嘿,谢尔盖,谢谢你一如既往的帮助。我在运行2.0.3。我在2.1测试版上试用过,效果很好。谢谢