2012-03-04 63 views
1

這不是爲我工作,在上下文菜單中沒有得到顯示:ContextMenu無法使用JavaFX2 TextArea?

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版本?

在此先感謝您的幫助。

回答

1

您的代碼適用於Windows上的JavaFX 2.1 dev版本。右鍵單擊文本區域顯示菜單,其中一個元素名爲「item」。

你可以試試2.1開發版嗎?

您可以通過運行下面的代碼找出您的當前版本:

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

嘿謝爾蓋,感謝您的幫助像往常一樣。我正在運行2.0.3。我在2.1測試版上嘗試過,它工作正常。謝謝。 – alscu 2012-03-05 15:37:13