3

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

类 Menu 中的构造函数 Menu 不能应用于给定类型;
必需:未
找到参数:字符串
原因:实际参数列表和形式参数列表的长度不同

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

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);
    }
}
4

1 回答 1

5

您正在实例化的菜单是

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 :)。

于 2013-10-14T15:50:49.907 回答