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