我是使用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);
}
}
答案 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:)。