Dann machst Du was falsch ...
Lässt sich aber ohne Code nicht analysieren ;-]
Hier nochmal mein (leicht überarbeitetes) Eingangsbeispiel:
java Code:
public class AppMenue implements
ActionListener
{
JTextArea Textbereich = null;
AppFenster AppWindow = null;
/** Festlegen der MenüPunkte */
public AppMenue( AppFenster
Window,
JTextArea text )
{
Textbereich = text;
AppWindow =
Window;
JMenuBar Menueleiste = new
JMenuBar();
// ### erstes Menü "Datei" erzeugen ###
JMenu Menue1 = new
JMenu( "Datei" );
// --- Menüpunkt "Öffnen" erzeugen
JMenuItem Open = new
JMenuItem( "Öffnen" );
Menue1.add( Open );
Open.addActionListener(this);
// --- Menüpunkt "Beenden" erzeugen
JMenuItem Close = new
JMenuItem( "Beenden" );
Menue1.add( Close );
Close.addActionListener(this);
// ### zweites Menü "Test-Daten einlesen" erzeugen ###
JMenu Menue2 = new
JMenu( "Test-Daten einlesen" );
JMenuItem DatenLesen = new
JMenuItem( "Get It!" );
Menue2.add( DatenLesen );
DatenLesen.addActionListener( this );
// ...
Menueleiste.add( Menue1 );
Menueleiste.add( Menue2 );
} /* AppMenue() */
/** Abhandeln der MenüEvents */
public void actionPerformed(
ActionEvent evt )
{
// das auslösende Objekt ermitteln
if( evt.getSource() instanceof
JMenuItem )
{
// den auslösenden Menüpunkt ermitteln und anschließend entspr. reagieren
String MenueEintrag = evt.getActionCommand();
// ##### Menü-1 "Datei" #####
/* ******************** */
/* Programm beenden */
/* ******************** */
if( MenueEintrag.equals("Beenden") ) // vgl. oben "JMenuItem Close = new JMenuItem( "Beenden" );"
{
String msg = new
String( "Möchten Sie das Programm beenden ?" );
int retVal =
JOptionPane.showConfirmDialog( AppWindow, msg, "Beenden",
JOptionPane.YES_NO_OPTION);
if( retVal ==
JOptionPane.YES_OPTION )
{
System.exit(0);
}
} /* if */
// ...
} /* if */
} /* actionPerformed() */
} /* class AppMenue */
Du hast immer zu
einem JMenu
n JMenuItems
Diese musst Du dann im "actionPerformed" auch einzeln abhandeln !
Gruß
Klaus
[EDIT:] Sorry, hier haben sich wohl die Code-Tags bei9m Einfügen verflüchtigt .... :-(