Java FX中的菜单出错

时间:2013-10-14 15:24:17

标签: javafx-2

我是使用Netbeans 7.3.1的JavaFX新手,目前正在使用Menus。我正在阅读“java Fx 2.0简介示例”一书,当我遇到以下错误时,我正在尝试书中的菜单示例。

构造函数类Menu中的菜单不能应用于给定类型;
  要求:没有参数
  发现:字符串
  原因:实际和正式的参数列表长度不同

这是我的代码,就我的JavaFx知识而言,它是正确的并包含了所有主要的java FX Menu导入!!我不知道为什么“Menu”构造函数不会将字符串作为参数!!请帮忙!!

package menu;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.control.SeparatorMenuItem;
import javafx.stage.Stage;
public class Menu extends Application {

    @Override
    public void start(Stage primaryStage) {
        Group root = new Group();
        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("Hello World!");
        MenuBar menuBar = new MenuBar();
        Menu menu = new Menu("File");//This line is giving errors..
        menu.getItems().add(new MenuItem("New"));
        menu.getItems().add(new MenuItem("Save"));
        menu.getItems().add(new SeparatorMenuItem());
        menu.getItems().add(new MenuItem("Exit"));
        menuBar.getMenus().add(menu);
        root.getChildren().add(menuBar);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

1 个答案:

答案 0 :(得分:4)

您要实例化的菜单是

menu.Menu  // which extends javafx.​application.Application and defined by you, i.e. it is
menu.Menu menu = new menu.Menu("File");

而是指定JavaFX菜单的完整路径:

javafx.scene.control.Menu menu = new javafx.scene.control.Menu("File");

或者为您的菜单指定不同的名称。例如:MyAwesomeMenu:)。