Ik werk met Java 1.4.1.
In de klasse DTMainFrame is een methode verantwoordelijk voor het setten van Acties. De methode setActions:
Voor het gemakt doen deze 2 acties (FileNew en FileExit) hetzelfde. FileNew is een inner-class, FileExit is een externe klasse. Deze klasse importeer ik natuurlijk. Beide acties worden aan de menubalk toegevoegt. FileNew werkt wel correct, FileExit niet. Bij FileExit 'klapt' de applicatie eruit. ZONDER een melding op mijn console etc..! Ik zou dus niet weten waarom FileNew wel en FileExit niet correct wordt uitgevoerd.
De source van FileExit:
Actions werken toch ook als ze geen inner-class zijn!?!?!
In de klasse DTMainFrame is een methode verantwoordelijk voor het setten van Acties. De methode setActions:
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
| /** * @use Stelt alle acties per menu in. * De volgorde waarin ze worden toegevoegt aan de vector is ook de * menuItem volgorde. * * @see createMenuBar */ protected void setActions() { // Vector initialiseren FileActions = new Vector(); // Acties t.b.v. FileMenu. Let op juiste volgorde. // FileNew actie instellen FileActions.add(new FileNew("Nieuw", createGeneralIcon("New16"), "Nieuw document", new Integer(KeyEvent.VK_N)) ); // FileExit actie instellen FileActions.add(new FileExit("Afsluiten", createGeneralIcon("Stop16"), "Afsluiten van de applicatie", new Integer(KeyEvent.VK_A)) ); } |
Voor het gemakt doen deze 2 acties (FileNew en FileExit) hetzelfde. FileNew is een inner-class, FileExit is een externe klasse. Deze klasse importeer ik natuurlijk. Beide acties worden aan de menubalk toegevoegt. FileNew werkt wel correct, FileExit niet. Bij FileExit 'klapt' de applicatie eruit. ZONDER een melding op mijn console etc..! Ik zou dus niet weten waarom FileNew wel en FileExit niet correct wordt uitgevoerd.
De source van FileExit:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| import javax.swing.AbstractAction; import javax.swing.ImageIcon; import java.awt.event.*; /** * @use Action voor het afsluiten van de applicatie. * Er wordt niet gecontroleerd of bestanden nog open en niet opgeslagen zijn. */ public class FileExit extends AbstractAction { public FileExit (String text, ImageIcon icon, String desc, Integer mnemonic) { super(text, icon); putValue(SHORT_DESCRIPTION, desc); putValue(MNEMONIC_KEY, mnemonic); } public void actionPerformed(ActionEvent parm1) { // Applicatie afsluiten System.out.println("Exit action"); } } |
Actions werken toch ook als ze geen inner-class zijn!?!?!
[ Voor 4% gewijzigd door Verwijderd op 26-03-2003 09:29 ]