如何在 JavaFX 中建立 MenuBar?
選單欄是一個使用者介面元素,存放所有選單,它通常位於頁面頂部。在 JavaFX 中,javafx.scene.control.MenuBar 類表示選單欄。你可以透過例項化此類來建立一個選單欄。
選單是一份選項或命令列表,供使用者使用。在 JavaFX 中,javafx.scene.control.Menu 類表示選單。
將選單新增到 MenuBar
MenuBar 類包含一個可觀察列表,用於存放所有選單,你可以透過呼叫 getMenus() 方法來獲取此列表。
你可以建立所需數量的選單,並使用 addAll() 方法將它們新增到可觀察列表中,如下所示 −
menuBar.getMenus().addAll(file, fileList, skin);
你也可以在例項化 MenuBar 類時將它們作為引數傳遞,如下所示 −
MenuBar menuBar = new menuBar(menu1, menu2, menu3);
示例
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Menu; import javafx.scene.control.MenuBar; import javafx.scene.control.MenuItem; import javafx.scene.paint.Color; import javafx.stage.Stage; public class MenuBarExample extends Application { public void start(Stage stage) { //Creating file menu Menu file = new Menu("File"); //Creating file menu items MenuItem item1 = new MenuItem("Add Files"); MenuItem item2 = new MenuItem("Start Converting"); MenuItem item3 = new MenuItem("Stop Converting"); MenuItem item4 = new MenuItem("Remove File"); MenuItem item5 = new MenuItem("Exit"); //Adding all the menu items to the file menu file.getItems().addAll(item1, item2, item3, item4, item5); //Creating FileList menu Menu fileList = new Menu("File List"); //Creating fileList menu items MenuItem item6 = new MenuItem("Select All"); MenuItem item7 = new MenuItem("Invert Selection"); MenuItem item8 = new MenuItem("Remove"); //Adding all the items to File List menu fileList.getItems().addAll(item6, item7, item8); //Creating Skin menu Menu skin = new Menu("_Skin"); //Creating skin menu items MenuItem item9 = new MenuItem("Blue"); MenuItem item10 = new MenuItem("Red"); //Adding all elements to Skin menu skin.getItems().addAll(item9, item10); //Creating a menu bar MenuBar menuBar = new MenuBar(); menuBar.setTranslateX(200); menuBar.setTranslateY(20); //Adding all the menus to the menu bar menuBar.getMenus().addAll(file, fileList, skin); //Setting the stage Group root = new Group(menuBar); Scene scene = new Scene(root, 595, 200, Color.BEIGE); stage.setTitle("Menu Bar Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
輸出
廣告