Hallo,
Ik speel normaal in Java altijd met AWT maar laatst ben ik eens het een en ander in Swing gaan proberen. Ik ben dus een complete leek wat Swing betreft.
Nu wou ik graag een JMenuBar in een applicatie weergeven.
Dit menu laat ik in de contructor van het programma maken.
Vervolgens wordt in de main methode een frame van de constructor gemaakt. Ik gebruik verder geen JPanels of Containers omdat ik simpelweg niet weet wat ik ermee zou moeten. Lees al een paar dagen tutjes door maar heb het nog niet door.
Nu kan ik het programma gewoon compilen en runnen alleen wordt de menubar niet weergegeven. Ik heb al van alles geprobeerd maar geen enkele oplossing heeft een goed resultaat.
Wat doe ik verkeerd en hoe zou het wel moeten?
Is er een bepaalde hierarchie die ik moet aanhouden?
Ik zal iig mijn code geven zodat jullie ook weten waar ik over praat:
Ik speel normaal in Java altijd met AWT maar laatst ben ik eens het een en ander in Swing gaan proberen. Ik ben dus een complete leek wat Swing betreft.
Nu wou ik graag een JMenuBar in een applicatie weergeven.
Dit menu laat ik in de contructor van het programma maken.
Vervolgens wordt in de main methode een frame van de constructor gemaakt. Ik gebruik verder geen JPanels of Containers omdat ik simpelweg niet weet wat ik ermee zou moeten. Lees al een paar dagen tutjes door maar heb het nog niet door.
Nu kan ik het programma gewoon compilen en runnen alleen wordt de menubar niet weergegeven. Ik heb al van alles geprobeerd maar geen enkele oplossing heeft een goed resultaat.
Wat doe ik verkeerd en hoe zou het wel moeten?
Is er een bepaalde hierarchie die ik moet aanhouden?
Ik zal iig mijn code geven zodat jullie ook weten waar ik over praat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
| ///////////////////
// 100% JCreator //
///////////////////
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Interface extends JFrame {
private Image image = Toolkit.getDefaultToolkit().getImage("interface.gif");
private BorderLayout layout = new BorderLayout();
public Interface() {
super("Interface");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
JMenuBar menu = new JMenuBar();
setJMenuBar(menu);
// Maak De hoofdmenus aan
JMenu spel = new JMenu("Spel");
JMenu opties = new JMenu("Opties");
JMenu help = new JMenu("Help");
menu.add(spel);
menu.add(opties);
menu.add(help);
// Maak een submenu aan
JMenu opties4 = new JMenu("Uiterlijk");
// Spel-menu
JMenuItem spel1 = new JMenuItem("1 Speler");
JMenuItem spel2 = new JMenuItem("2 Spelers");
JMenuItem spel3 = new JMenuItem("Stop");
JMenuItem spel4 = new JMenuItem("Afsluiten");
spel.add(spel1);
spel.add(spel2);
spel.add(spel3);
spel3.setEnabled(false);
spel.addSeparator();
spel.add(spel4);
// Optie-menu
JMenuItem opties1 = new JMenuItem("Console");
JMenuItem opties2 = new JMenuItem("Spel opties");
JCheckBoxMenuItem opties3 = new JCheckBoxMenuItem("Geluid",true);
JMenuItem opties5 = new JMenuItem("HighScores");
opties.add(opties1);
opties.add(opties2);
opties.add(opties3);
opties.add(opties4);
opties.add(opties5);
// Help-menu
JMenuItem help1 = new JMenuItem("Help");
JMenuItem help2 = new JMenuItem("About");
help.add(help1);
help.add(help2);
// Uiterlijk-menu
ButtonGroup groep = new ButtonGroup();
JRadioButtonMenuItem uiterlijk;
uiterlijk = new JRadioButtonMenuItem("Standaard");
uiterlijk.setSelected(true);
groep.add(uiterlijk);
opties4.add(uiterlijk);
uiterlijk = new JRadioButtonMenuItem("Metal");
groep.add(uiterlijk);
opties4.add(uiterlijk);
uiterlijk = new JRadioButtonMenuItem("G-Nome");
groep.add(uiterlijk);
opties4.add(uiterlijk);
uiterlijk = new JRadioButtonMenuItem("Windows");
groep.add(uiterlijk);
opties4.add(uiterlijk);
// Maak sneltoetsen voor de menu's
// Kijk op http://java.sun.com/products/jdk/1.1/docs/api/java.awt.event.KeyEvent.html voor de diverse toetsen
spel.setMnemonic(KeyEvent.VK_S);
opties.setMnemonic(KeyEvent.VK_O);
help.setMnemonic(KeyEvent.VK_H);
help1.setMnemonic(KeyEvent.VK_F1);
// Geef Tooltips weer bij de menu's
spel.getAccessibleContext().setAccessibleDescription(
"Start een nieuw spel of sluit het spel af");
opties.getAccessibleContext().setAccessibleDescription(
"Verander het uiterlijk of de spelopties");
help.getAccessibleContext().setAccessibleDescription(
"Bekijk de spelregels of de spelcredits");
}
public static void main(String args[]) {
Interface frame = new Interface();
// Standaard uiterlijk: 0 = Standaard
changeInterface(0);
// De resolutie van het programma
frame.setSize(800, 623);
// Geef het programma een naam
frame.setTitle("Get the Picture");
// Geef het programma een icoontje
frame.setIconImage(Toolkit.getDefaultToolkit().getImage("camera.gif"));
frame.setVisible(true);
}
... |
