1- import java .awt .*;
2- import javax .swing .*;
3- import java .awt .event .*;
4- 5- public class Menu extends JFrame {
6- // Menubar
7- static JMenuBar menuBar ;
8- 9- // JMenu
10- static JMenu mainMenu , helpDesk ;
11- 12- // Menu items
13- static JMenuItem menuItem1 , menuItem2 , menuItem3 , menuItem4 ;
14- 15- // A label
16- static JLabel label ;
17- 18- Menu () {
19- 20- // Create a label
21- label = new JLabel ("Welcome to Algorithm Visualizer!" );
22- 23- // Create a menubar
24- menuBar = new JMenuBar ();
25- 26- // Create a menu
27- mainMenu = new JMenu ("Menu" );
28- helpDesk = new JMenu ("Help" );
29- 30- // Create a menu items
31- menuItem1 = new JMenuItem ("Path Finding" );
32- menuItem2 = new JMenuItem ("Sorting Techniques" );
33- menuItem3 = new JMenuItem ("Puzzle Sorting" );
34- menuItem4 = new JMenuItem ("How it Works" );
35- 36- ListenerClass listener = new ListenerClass ();
37- 38- // Register listeners
39- menuItem1 .addActionListener (listener );
40- menuItem2 .addActionListener (listener );
41- menuItem3 .addActionListener (listener );
42- 43- // Add menu items to menu
44- mainMenu .add (menuItem1 );
45- mainMenu .add (menuItem2 );
46- mainMenu .add (menuItem3 );
47- helpDesk .add (menuItem4 );
48- 49- // Add menu to menu bar
50- menuBar .add (mainMenu );
51- menuBar .add (helpDesk );
52- 53- // Add menubar to frame
54- setJMenuBar (menuBar );
55- 56- // Add label
57- add (label );
58- 59- setTitle ("EightSoft" );
60- setSize (400 ,400 );
61- // setLocation(200, 100);
62- setVisible (true );
63- setDefaultCloseOperation (JFrame .EXIT_ON_CLOSE );
64- }
65- 66- class ListenerClass implements ActionListener {
67- String value ;
68- 69- // Project Main Logic (Moving Panels)
70- public void actionPerformed (ActionEvent e ) {
71- if (e .getSource () == menuItem1 ) {
72- label .setText ("Wow Congratulations!" );
73- }
74- }
75- }
76- 77- } // Menu
1+ import javax .swing .*;
2+ import java .awt .*;
3+ import java .awt .event .*;
4+ import java .util .*;
5+ 6+ public class Menu extends JFrame {
7+ // Creating Object
8+ Sorting sort = new Sorting ();
9+ 10+ // Menubar
11+ static JMenuBar menuBar ;
12+ 13+ // JMenu
14+ static JMenu mainMenu , helpDesk ;
15+ 16+ // Menu items
17+ static JMenuItem menuItem1 , menuItem2 , menuItem3 , menuItem4 ;
18+ 19+ // A Panel
20+ static JPanel pPanel1 , pPanel2 ;
21+ 22+ Menu () {
23+ 24+ // Create Panel
25+ pPanel1 = new JPanel ();
26+ pPanel2 = new JPanel ();
27+ 28+ // Create a menubar
29+ menuBar = new JMenuBar ();
30+ 31+ // Create a menu
32+ mainMenu = new JMenu ("Menu" );
33+ helpDesk = new JMenu ("Help" );
34+ 35+ // Create a menu items
36+ menuItem1 = new JMenuItem ("Path Finding" );
37+ menuItem2 = new JMenuItem ("Sorting Techniques" );
38+ menuItem3 = new JMenuItem ("Puzzle Sorting" );
39+ menuItem4 = new JMenuItem ("How it Works" );
40+ 41+ ListenerClass listener = new ListenerClass ();
42+ 43+ // Register listeners
44+ menuItem1 .addActionListener (listener );
45+ menuItem2 .addActionListener (listener );
46+ menuItem3 .addActionListener (listener );
47+ 48+ // Add menu items to menu
49+ mainMenu .add (menuItem1 );
50+ mainMenu .add (menuItem2 );
51+ mainMenu .add (menuItem3 );
52+ helpDesk .add (menuItem4 );
53+ 54+ // Add menu to menu bar
55+ menuBar .add (mainMenu );
56+ menuBar .add (helpDesk );
57+ 58+ // Add menubar to frame
59+ setJMenuBar (menuBar );
60+ 61+ // Add Panels
62+ pPanel1 .setBackground (Color .CYAN );
63+ pPanel2 .setBackground (Color .YELLOW );
64+ 65+ // Add Panel
66+ pPanel1 .add (sort .p1Sorting );
67+ pPanel2 .add (sort .p2Sorting );
68+ sort .p1Sorting .setVisible (false );
69+ sort .p2Sorting .setVisible (false );
70+ 71+ // Add Panels to the panel
72+ add (pPanel1 , BorderLayout .WEST );
73+ add (pPanel2 , BorderLayout .CENTER );
74+ 75+ setTitle ("EightSoft" );
76+ setSize (700 ,500 );
77+ setLocation (200 , 100 );
78+ setVisible (true );
79+ setDefaultCloseOperation (JFrame .EXIT_ON_CLOSE );
80+ }
81+ 82+ class ListenerClass implements ActionListener {
83+ 84+ // Project Main Logic (Moving Panels)
85+ public void actionPerformed (ActionEvent e ) {
86+ if (e .getSource () == menuItem1 ) {
87+ sort .p1Sorting .setVisible (false );
88+ sort .p2Sorting .setVisible (false );
89+ }
90+ else if (e .getSource () == menuItem2 ) {
91+ sort .p1Sorting .setVisible (true );
92+ sort .p2Sorting .setVisible (true );
93+ }
94+ }
95+ }
96+ 97+ } // Menu
0 commit comments