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