Beste PRGers,
ik ben momenteel bezig met de ontwikkeling van een GUI-applicatie in Java. Ik zit nu in de fase dat ik de stramien van de GUI aan het opzetten ben, zonder de elementen te voorzien van bruikbare gegevens.
De nesting van mijn GUIziet er zo uit:
Ik heb de indeling even in een XML-formaat gegoten, dat leest misschien makkelijker.
In het eerste tabje wordt de actionPerformed() nooit aangeroepen. Ook veranderd er niets aan de style van de JButtons wanneer er met de muis overheen gehoverd wordt, of op de JButton geklikt wordt.
In het tweede tabje werkt de event-handler prima. Ook worden de JButtons dan anders gekleurd wanneer er overheen gehoverd wordt. Wanneer je op één van de drie buttons drukt, zal ook netjes de Error-regel op het scherm geprint worden.
Wat is hier voor geks aan de hand
ik ben momenteel bezig met de ontwikkeling van een GUI-applicatie in Java. Ik zit nu in de fase dat ik de stramien van de GUI aan het opzetten ben, zonder de elementen te voorzien van bruikbare gegevens.
De nesting van mijn GUIziet er zo uit:
Ik heb de indeling even in een XML-formaat gegoten, dat leest misschien makkelijker.
XML:
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
| <JFrame class="AapMainWindow"> <JMenuBar class="AapMainMenu"> /* Meerdere JMenu-items met werkende addActionListener(this) */ </JMenuBar> <JTabbedPane> <JPanel class="AapBookingWindow"> <BorderLayout> <North> /* AapBookingTable.getTableHeader() */ </North> <Center> <JScrollPane> <JTable class="AapBookingTable"> /* Bogus Data */ </JTable> </JScrollPane> </Center> <South> <JPanel class="AapBookingMenu"> <JButton> /* Geen addActionListener(this) event gegenereerd */ </JButton> <JButton> /* Geen addActionListener(this) event gegenereerd */ </JButton> <JButton> /* Geen addActionListener(this) event gegenereerd */ </JButton> </JPanel> </South> </BorderLayout> </JPanel> <JPanel class="AapSettingWindow"> <JPanel class="AapBookingMenu"> <JButton> /* Wel addActionListener(this) event gegenereerd */ </JButton> <JButton> /* Wel addActionListener(this) event gegenereerd */ </JButton> <JButton> /* Wel addActionListener(this) event gegenereerd */ </JButton> </JPanel> </JPanel> </JTabbedPane> </JFrame> |
Java:
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
| public class AapBookingMenu extends JPanel implements ActionListener { private static final long serialVersionUID = -9014825286121191673L; private JButton _removeButton = null; private JButton _addButton = null; private JButton _editButton = null; public AapBookingMenu() { super(); _removeButton = new JButton("Remove"); _addButton = new JButton("Add"); _editButton = new JButton("Edit"); _removeButton.setEnabled(true); _removeButton.addActionListener(this); _addButton.addActionListener(this); _editButton.addActionListener(this); this.add(_addButton); this.add(_editButton); this.add(_removeButton); } @Override public void actionPerformed(ActionEvent actionEvent) { System.err.printf("Error at: %s \n", new Exception().getStackTrace()[0]); final Object source = actionEvent.getSource(); if (source.equals(_addButton)) { } else if (source.equals(_editButton)) { } else if (source.equals(_removeButton)) { } else { System.err.printf("Error at: %s \n", new Exception().getStackTrace()[0]); } } } |
In het eerste tabje wordt de actionPerformed() nooit aangeroepen. Ook veranderd er niets aan de style van de JButtons wanneer er met de muis overheen gehoverd wordt, of op de JButton geklikt wordt.
In het tweede tabje werkt de event-handler prima. Ook worden de JButtons dan anders gekleurd wanneer er overheen gehoverd wordt. Wanneer je op één van de drie buttons drukt, zal ook netjes de Error-regel op het scherm geprint worden.
Wat is hier voor geks aan de hand

If money talks then I'm a mime
If time is money then I'm out of time