normaler_spinner
Erfahrenes Mitglied
Hallo zusammen,
ich steh mal wieder aufn Schlauch und bekomms einfach nicht hin. Habe ein JInternalFrame mit einer Menüleiste. Das Menü ist in einer eigenen Klasse. Um jetzt aber auf meine Elemente im JInternalFrame zuzugreifen erstelle ich eine innere Klasse für die ActionListener im Frame und füge die dem JMenu mittels addActionListener zu. Zur Kontrolle ob er den ActionListener aufruft soll ein Konsolentext ausgegeben werden - leider scheitert das Unterfangen schon an dieser Stelle. Irgenwie mögen mich die ActionListener wohl nicht und langsam beruht das auf Gegenseitigkeit. Ich stell mal den Code mit rein da und wäre dankbar wenn mir einer erklären kann warum das so nicht geht.
ich steh mal wieder aufn Schlauch und bekomms einfach nicht hin. Habe ein JInternalFrame mit einer Menüleiste. Das Menü ist in einer eigenen Klasse. Um jetzt aber auf meine Elemente im JInternalFrame zuzugreifen erstelle ich eine innere Klasse für die ActionListener im Frame und füge die dem JMenu mittels addActionListener zu. Zur Kontrolle ob er den ActionListener aufruft soll ein Konsolentext ausgegeben werden - leider scheitert das Unterfangen schon an dieser Stelle. Irgenwie mögen mich die ActionListener wohl nicht und langsam beruht das auf Gegenseitigkeit. Ich stell mal den Code mit rein da und wäre dankbar wenn mir einer erklären kann warum das so nicht geht.
Code:
public class WorkFrame extends JInternalFrame{
final static String NEWEXF = "neue Kostenstelle";
final static String DELEXF = "Kostenstelle löschen";
static int openFrameCount = 0;
private JPanel exfPanel = null;
private WorkFrameMenu menu = null;
// ======== Innere Klasse Anfang =============
class myActionListener implements ActionListener {
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() instanceof JMenuItem) {
if (evt.getActionCommand() == NEWEXF) {
System.out.println("Neue Kostenstelle");
} else if (evt.getActionCommand() == DELEXF) {
}
}
}
}
// ======== Innere Klasse Ende =============
/**
* Constructor of the class
*/
public WorkFrame(String name, double height, double width, Point location){
super(null, true, true, true, true);
this.addVetoableChangeListener(new CloseListener());
if(name == null) name = "Kalkulation " + Integer.toString(++openFrameCount);
setTitle(name);
setSize((int) width,(int) height);
setLocation(location);
menu = new WorkFrameMenu();
setJMenuBar(menu.getMenuBar());
menu.addActionListener(new myActionListener());
}
}