Hallo,
Voor school hebben we de opdracht gekregen om een klantenbeheertool te maken met een JMenuBar die wordt aangevuld door enum.
Ik gebruik onderstaande code om het enum uit te lezen en elk element in het menu toe te voegen. Dit werkt zoals het hoort.
Probleem is dat ik niet weet hoe ik de acties kan laten uitvoeren bij de juiste keuze.
Bijvoorbeeld voor 'EXIT', hoe kan ik de actionlistener aanspreken?
Ik dacht dus nadien om een switch te gebruiken, echter werkt het langs geen kanten:
Weet er iemand wat ik zou kunnen proberen? En welke oplossing er mits aanpassing zou werken?
Voor school hebben we de opdracht gekregen om een klantenbeheertool te maken met een JMenuBar die wordt aangevuld door enum.
Ik gebruik onderstaande code om het enum uit te lezen en elk element in het menu toe te voegen. Dit werkt zoals het hoort.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| public enum Menu { INVOEREN, LEZEN, WIJZIGEN, BACKUP, EXIT} public Databank() { // GUI aanmaken. final JFrame f = new JFrame("Examentaak"); f.setLayout(new GridLayout(2, 1)); f.setMinimumSize(new Dimension(600,400)); final JMenuBar menuBar; final JMenu gegevensmenu; // Menu aanmaken. menuBar = new JMenuBar(); gegevensmenu = new JMenu("Gegevens"); for (Menu m : Menu.values()) gegevensmenu.add(new JMenuItem(m.toString())); menuBar.add(gegevensmenu); f.setJMenuBar(menuBar); |
Probleem is dat ik niet weet hoe ik de acties kan laten uitvoeren bij de juiste keuze.
Bijvoorbeeld voor 'EXIT', hoe kan ik de actionlistener aanspreken?
code:
1
2
3
4
5
| ????.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } }); |
Ik dacht dus nadien om een switch te gebruiken, echter werkt het langs geen kanten:
code:
1
2
3
4
5
6
7
8
| switch(Menu.valueOf(menuBar.getComponent().toString())){ case INVOEREN: System.out.println("u heeft gekozen voor de gegevens in te voeren."); break; case LEZEN: System.out.println("u heeft gekozen voor de gegevens lezen."); break; } |
Weet er iemand wat ik zou kunnen proberen? En welke oplossing er mits aanpassing zou werken?
[ Voor 6% gewijzigd door DenDries op 09-01-2011 15:42 ]