Skip to content

Commit 61f72df

Browse files
committed
JavaFX menus.
1 parent 7212d1e commit 61f72df

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

JavaFX/024_menus/Main.java

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
import javafx.application.Application;
2+
import javafx.scene.Scene;
3+
import javafx.scene.control.*;
4+
import javafx.scene.layout.BorderPane;
5+
import javafx.stage.Stage;
6+
7+
public class Main extends Application {
8+
9+
Stage window;
10+
BorderPane layout;
11+
12+
public static void main(String[] args) {
13+
launch(args);
14+
}
15+
16+
@Override
17+
public void start(Stage primaryStage) throws Exception {
18+
window = primaryStage;
19+
window.setTitle("thenewboston");
20+
21+
//File menu
22+
Menu fileMenu = new Menu("File");
23+
MenuItem newFile = new MenuItem("New...");
24+
newFile.setOnAction(e -> System.out.println("Create a new file..."));
25+
fileMenu.getItems().add(newFile);
26+
fileMenu.getItems().add(new MenuItem("Open..."));
27+
fileMenu.getItems().add(new MenuItem("Save..."));
28+
fileMenu.getItems().add(new SeparatorMenuItem());
29+
fileMenu.getItems().add(new MenuItem("Settings..."));
30+
fileMenu.getItems().add(new SeparatorMenuItem());
31+
fileMenu.getItems().add(new MenuItem("Exit..."));
32+
33+
//Edit menu
34+
Menu editMenu = new Menu("_Edit");
35+
editMenu.getItems().add(new MenuItem("Cut"));
36+
editMenu.getItems().add(new MenuItem("Copy"));
37+
MenuItem paste = new MenuItem("Paste");
38+
paste.setOnAction(e -> System.out.println("Pasting some crap"));
39+
paste.setDisable(true);
40+
editMenu.getItems().add(paste);
41+
42+
//Help menu
43+
Menu helpMenu = new Menu("Help");
44+
CheckMenuItem showLines = new CheckMenuItem("Show Line Numbers");
45+
showLines.setOnAction(e -> {
46+
if(showLines.isSelected())
47+
System.out.println("Program will now display line numbers");
48+
else
49+
System.out.println("Hiding line number");
50+
});
51+
CheckMenuItem autoSave = new CheckMenuItem("Enable Autosave");
52+
autoSave.setSelected(true);
53+
helpMenu.getItems().addAll(showLines, autoSave);
54+
55+
//Difficulty RadioMenuItems
56+
Menu difficultyMenu = new Menu("Difficulty");
57+
ToggleGroup difficultyToggle = new ToggleGroup();
58+
59+
RadioMenuItem easy = new RadioMenuItem("Easy");
60+
RadioMenuItem medium = new RadioMenuItem("Medium");
61+
RadioMenuItem hard = new RadioMenuItem("Hard");
62+
63+
easy.setToggleGroup(difficultyToggle);
64+
medium.setToggleGroup(difficultyToggle);
65+
hard.setToggleGroup(difficultyToggle);
66+
67+
difficultyMenu.getItems().addAll(easy, medium, hard);
68+
69+
//Main menu bar
70+
MenuBar menuBar = new MenuBar();
71+
menuBar.getMenus().addAll(fileMenu, editMenu, helpMenu, difficultyMenu);
72+
73+
layout = new BorderPane();
74+
layout.setTop(menuBar);
75+
Scene scene = new Scene(layout, 400, 300);
76+
window.setScene(scene);
77+
window.show();
78+
}
79+
80+
81+
}

0 commit comments

Comments
 (0)