JavaFX 2.0 Aktywacja menu jak menuItem
RobięMenuBar
i nie chcę, aby funkcja naciskała aMenu
jak: „Plik”, a następnie wykonaj akcję. Takie jak otwieranie innego pliku fxml lub przykład, w którym zapisywane są dane wyjściowe.
Chcę funkcjonalność aMenuItem
(kłam „O”) w aMenu
jak „Plik”.
<code>package model; import static java.lang.System.out; import javafx.application.Application; import javafx.beans.property.ReadOnlyDoubleProperty; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Pos; import javafx.geometry.Side; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCodeCombination; import javafx.scene.input.KeyCombination; import javafx.scene.layout.BorderPane; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.stage.Stage; /** * Example of creating menus in JavaFX. * * @author Dustin */ public class JavaFxMenus extends Application { /** * Build menu bar with included menus for this demonstration. * * @param menuWidthProperty Width to be bound to menu bar width. * @return Menu Bar with menus included. */ private MenuBar buildMenuBarWithMenus(final ReadOnlyDoubleProperty menuWidthProperty) { final MenuBar menuBar = new MenuBar(); // Prepare left-most 'File' drop-down menu final Menu fileMenu = new Menu("File"); menuBar.getMenus().add(fileMenu); //menuBar.getOnMouseClicked().handle(this); // Prepare 'Examples' drop-down menu final Menu examplesMenu = new Menu("JavaFX 2.0 Examples"); examplesMenu.getItems().add(new MenuItem("Text Example")); examplesMenu.getItems().add(new MenuItem("Objects Example")); examplesMenu.getItems().add(new MenuItem("Animation Example")); menuBar.getMenus().add(examplesMenu); // Prepare 'Help' drop-down menu final Menu helpMenu = new Menu("Help"); helpMenu.setOnAction(null); final MenuItem searchMenuItem = new MenuItem("Search"); searchMenuItem.setDisable(true); helpMenu.getItems().add(searchMenuItem); final MenuItem onlineManualMenuItem = new MenuItem("Online Manual"); onlineManualMenuItem.setVisible(false); helpMenu.getItems().add(onlineManualMenuItem); helpMenu.getItems().add(new SeparatorMenuItem()); final MenuItem aboutMenuItem = MenuItemBuilder.create() .text("About") .onAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { out.println("You clicked on About!"); } }) .accelerator( new KeyCodeCombination( KeyCode.A, KeyCombination.CONTROL_DOWN)) .build(); helpMenu.getItems().add(aboutMenuItem); menuBar.getMenus().add(helpMenu); // bind width of menu bar to width of associated stage menuBar.prefWidthProperty().bind(menuWidthProperty); return menuBar; } /** * Start of JavaFX application demonstrating menu support. * * @param stage Primary stage. */ @Override public void start(final Stage stage) { stage.setTitle("Creating Menus with JavaFX 2.0"); final Group rootGroup = new Group(); final Scene scene = new Scene(rootGroup, 800, 400, Color.WHEAT); final MenuBar menuBar = buildMenuBarWithMenus(stage.widthProperty()); rootGroup.getChildren().add(menuBar); stage.setScene(scene); stage.show(); } /** * Main executable function for running examples. * * @param arguments Command-line arguments: none expected. */ public static void main(final String[] arguments) { Application.launch(arguments); } } </code>