getActionCommand() vs. getSource()

javastudent25

Bekanntes Mitglied
Hallo zusammen

beenden ist doch ein Objekt vom Typ JMenuItem.
warum funktioniert dann eigentlich der Befehl:

e.getSource() == beenden

nicht?
Das was ich da bekomme, ist doch eigentlich auch ein Objekt..
Es kommt der Fehler: beenden cannot be resolved to a variable

mit e.getActionCommand() == "Beenden" gehts natürlich

Java:
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Aufgabe2 extends JFrame{
   
    Aufgabe2(){

    JFrame window = new JFrame("Erste Übung");
   
    Container container = window.getContentPane();
    container.setLayout(new FlowLayout());
   
    JLabel label = new JLabel("Warum nimmt eine Blondine eine Scheibe Toast mit aufs WC?? Damit Sie die WC-Ente füttern kann..");
    container.add(label);
   
    JMenuBar menubar = new JMenuBar();
    JMenu datei = new JMenu("Datei");
    JMenuItem beenden = new JMenuItem("Beenden");
    MeinActionListener mal = new MeinActionListener();
    beenden.addActionListener(mal);
    datei.add(beenden);
    menubar.add(datei);
    window.setJMenuBar(menubar);
   
    window.setSize(1000, 200);
    window.setVisible(true);
    //window.pack();                      //passt die Fenstergrösse auf Textlänge und Texthöhe an
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   
    }
   
    public static void main(String[] args) {

        Aufgabe2 aufgabe = new Aufgabe2();

    }
   
    private class MeinActionListener implements ActionListener{

       
        public void actionPerformed(ActionEvent e) {
           
            if(e.getSource() == beenden){
                System.exit(0);;
            }
           
        }
       
    }
}
 

javastudent25

Bekanntes Mitglied
danke :p

Java:
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Aufgabe2ohneActionListenerClass extends JFrame implements ActionListener{
 
    JMenuBar menubar;
    JMenu datei;
    JMenuItem beenden;
 
    Aufgabe2ohneActionListenerClass(){

    JFrame window = new JFrame("Erste Übung");
 
    Container container = window.getContentPane();
    container.setLayout(new FlowLayout());
 
    JLabel label = new JLabel("Warum nimmt eine Blondine eine Scheibe Toast mit aufs WC?? Damit Sie die WC-Ente füttern kann..");
    container.add(label);
 
    menubar = new JMenuBar();
    datei = new JMenu("Datei");
    beenden = new JMenuItem("Beenden");
    beenden.addActionListener(this);
    datei.add(beenden);
    menubar.add(datei);
    window.setJMenuBar(menubar);
 
    window.setSize(1000, 200);
    window.setVisible(true);
    //window.pack();                      //passt die Fenstergrösse auf Textlänge und Texthöhe an
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    }
 
    public static void main(String[] args) {
        Aufgabe2ohneActionListenerClass aufgabe = new Aufgabe2ohneActionListenerClass();
    } 

    public void actionPerformed(ActionEvent e) {     
        if(e.getSource() == beenden){
            System.exit(0);;
        }     
    }
}
 
Zuletzt bearbeitet von einem Moderator:


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben