cannot find symbol.

Status
Nicht offen für weitere Antworten.
S

Schwerti

Gast
Hey, bräuchte nochmals Hilfe von den Fachkundigen. Habe Eine Anwendungsklasse geschrieben, wo mir Java eine Fehlermeldung bringt. Bevor ich jetzt lange drum herum rede setze ich einfach mal Fehlermeldung und Programm rein. Denke mal es ist nur nen kleiner Fehler doch er bringt mich um den Verstand.

Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.event.TableModelEvent;
import java.io.*;
import java.util.List;
import java.lang.String;
import java.awt.print.*;

/**
  *


public class AutovermietungAnwendung extends JFrame
{
  // Attribute der Applikation/Anwendeung
  // die MenueZeile, an die die Menues gehaengt werden sollen
  JMenuBar dieMenuezeile = new JMenuBar();

  // Das "Datei"-Menue , an welches Menue-Punkte gehaengt werden sollen
  JMenu dateiMenue = new JMenu();

  // 2 Menuepunkte die fuer das Datei-Menue gedacht sind, wie man an dem
  // gewaehlten Namen der Variablen vom Typ JMenuItem sieht.
  JMenuItem dateiOeffnenMenuepunkt      = new JMenuItem();
  JMenuItem dateiSpeichernMenuepunkt    = new JMenuItem();
  JMenuItem dateiSaveAsMenuepunkt       = new JMenuItem();
  JMenuItem dateiBeendenMenuepunkt      = new JMenuItem();

  // Das "Bearbeiten"-Menue , an welches Menue-Punkte gehaengt werden sollen
  JMenu bearbeitenMenue = new JMenu();

  // ein Menuepunkt fuer das "Bearbeiten"-Menue
  JMenuItem bearbeitenKundenAnlegenMenuepunkt   = new JMenuItem();
  JMenuItem bearbeitenAutosAnlegenMenuepunkt    = new JMenuItem();

  JLabel derText = new JLabel();

  //Das Scroll-Feld fuer die Tabelle
  JScrollPane ScrollFeldKunden       = new JScrollPane();
  JScrollPane ScrollFeldAutos        = new JScrollPane();

  // Die Tabelle in der die Kunden und Autos angezeigt werden sollen:
  JTable KundenTabelle  = new JTable();
  JTable AutoTabelle    = new JTable();


  TableModelEvent mytme1;
  TableModelEvent mytme2;

  // Das Tabellenmodell, welches die Eigenschaften der Tabelle festlegt.
  // festgelegt werden.
  KundenTableModel unserTabellenModell1;
  AutoTableModel   unserTabellenModell2;

  String dateiname = "ohne Namen.ser";

  // Der Konstruktor, der die Methode/Prozedur jbInit
  // aufruft, die weiter unten ausprogrammiert ist.
  public AutovermietungAnwendung()
  {
      jbInit();
  }

  // Die Main-Methode
  public static void main(String[] args)
  {
    AutovermietungAnwendung meineAutoAppli= new AutovermietungAnwendung();
  }

  //
  private void jbInit()
  {
    // Fenstergroesse festlegen
    int frameWidth = 1000;
    int frameHeight = 775;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2 ;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);

    // Buttoms für Kunden anlegen und löschen werden gesetzt
    JButton jButtonKundenAnlegen     = new JButton();
    JButton jButtonKundenLoeschen    = new JButton();

    // Buttoms für Autos anlegen und löschen werden gesetzt
    JButton jButtonAutosAnlegen      = new JButton();
    JButton jButtonAutosLoeschen     = new JButton();

    // Buttoms für Vermieten und Rückgabe werden gesetzt
    JButton jButtonVermieten      = new JButton();
    JButton jButtonRueckgabe      = new JButton();

    /** Kennzeichnung der GUI in der ersten Zeile */
    setTitle("Autovermietung Version 1.1");

    // Die erscheinenden Texte der Menuepunkte festlegen
    dateiMenue.setText("Datei");
    dateiOeffnenMenuepunkt.setText("Öffnen");
    dateiOeffnenMenuepunkt.addActionListener(new java.awt.event.ActionListener()
      {
         public void actionPerformed(ActionEvent e)
         {
           dateiOeffnenMenuepunkt_actionPerformed(e);
         }
      });

    dateiSpeichernMenuepunkt.setText("Speichern");
    dateiSpeichernMenuepunkt.addActionListener(new java.awt.event.ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
       KundenContainer.getInstance().speichern("Kunden.ser");

       AutoContainer.getInstance().speichern("Autos.ser");
      }
    });

    dateiSaveAsMenuepunkt.setText("Speichern unter...");
    dateiSaveAsMenuepunkt.addActionListener(new java.awt.event.ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        dateiSaveAsMenuepunkt_actionPerformed(e);
      }
    });

    dateiBeendenMenuepunkt.setText("Beenden");
    bearbeitenMenue.setText("Bearbeiten");
    bearbeitenKundenAnlegenMenuepunkt.setText("Neuen Kunden anlegen...");
    bearbeitenAutosAnlegenMenuepunkt.setText("Neues Auto anlegen...");

    // Den Menuepunkt "Neuen Kunden anlegen..." mit einer Aktion belegen.
    // Bei einem Menueaufruf wird die unten selbst programmierte Methode
    // bearbeitenKundenAnlegenMenuepunkt_actionPerformed(e) aufgerufen !!
    bearbeitenKundenAnlegenMenuepunkt.addActionListener(new java.awt.event.ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        bearbeitenKundenAnlegenMenuepunkt_actionPerformed(e);
      }
    });

    // Den Menuepunkt "Neues Auto anlegen..." mit einer Aktion belegen.
    // Bei einem Menueaufruf wird die unten selbst programmierte Methode
    // bearbeitenKundenAnlegenMenuepunkt_actionPerformed(e) aufgerufen !!
    bearbeitenAutosAnlegenMenuepunkt.addActionListener(new java.awt.event.ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        bearbeitenAutosAnlegenMenuepunkt_actionPerformed(e);
      }
    });

    // Das Layout des Zeichenbereichs auf kein (null) Layout setzen.
    getContentPane().setLayout(null);

    // Menue-Zeile dem Fenster hinzufuegen
    setJMenuBar(dieMenuezeile);

    // Die Menuestruktur aufbauen ...
    dieMenuezeile.add(dateiMenue);
    dieMenuezeile.add(bearbeitenMenue);
    dateiMenue.add(dateiOeffnenMenuepunkt);
    dateiMenue.addSeparator();
    dateiMenue.add(dateiSpeichernMenuepunkt);
    dateiMenue.add(dateiSaveAsMenuepunkt);
    dateiMenue.addSeparator();
    dateiBeendenMenuepunkt.addActionListener(new java.awt.event.ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
       DateiEnde_actionPerformed(e);
      }
    });

    dateiMenue.add(dateiBeendenMenuepunkt);
    bearbeitenMenue.add(bearbeitenKundenAnlegenMenuepunkt);
    bearbeitenMenue.add(bearbeitenAutosAnlegenMenuepunkt);

    // Die Groesse des Feldes, auf welches die erste Tabelle gesetzt werden soll, festlegen:
    ScrollFeldKunden.setBounds(new Rectangle(50, 25, 900, 250));

    // das erste ScrollFeld dem Fenster hinzufuegen
    this.getContentPane().add(ScrollFeldKunden);

    // Zeichenbereich des  ersten ScrollFeldes bestimmen und die Tabelle darauf hinzufuegen
    ScrollFeldKunden.getViewport().add(KundenTabelle);

    // Das Tabellenmodel anlegen. Die Klasse KundenTableModel legt die Eigenschaften der
    // Tabelle fest. Siehe auch KundenTableModel.java
    unserTabellenModell1 = new KundenTableModel();
    KundenTabelle.setModel(unserTabellenModell1);

    mytme1 = new TableModelEvent(unserTabellenModell1);

    this.setVisible(true);

    // Die Groesse des Feldes, auf welches die zweite Tabelle gesetzt werden soll, festlegen:
    ScrollFeldAutos.setBounds(new Rectangle(50, 370, 900, 250));

    // das zweite ScrollFeld dem Fenster hinzufuegen
    this.getContentPane().add(ScrollFeldAutos);

    // Zeichenbereich des zweiten ScrollFeldes bestimmen und die Tabelle darauf hinzufuegen
    ScrollFeldAutos.getViewport().add(AutoTabelle);

    // Das Tabellenmodel anlegen. Die Klasse AutoTableModel legt die Eigenschaften der
    // Tabelle fest. Siehe auch AutoTableModel.java
    unserTabellenModell2 = new AutoTableModel();
    AutoTabelle.setModel(unserTabellenModell2);

    mytme2 = new TableModelEvent(unserTabellenModell2);

    jButtonKundenAnlegen.setBounds(50, 305, 200, 35);
    jButtonKundenAnlegen.setText("Kunden anlegen");
    cp.add(jButtonKundenAnlegen);
    jButtonKundenAnlegen.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent evt)
      {
        jButtonKundenAnlegenActionPerformed(evt);
      }
    });

    jButtonKundenLoeschen.setBounds(285, 305, 200, 35);
    jButtonKundenLoeschen.setText("Kunden löschen");
    cp.add(jButtonKundenLoeschen);
    jButtonKundenLoeschen.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent evt)
      {
        jButtonKundenLoeschenActionPerformed(evt);
      }
    });

    jButtonAutosAnlegen.setBounds(515, 305, 200, 35);
    jButtonAutosAnlegen.setText("Autos anlegen");
    cp.add(jButtonAutosAnlegen);
    jButtonAutosAnlegen.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent evt)
      {
        jButtonAutosAnlegenActionPerformed(evt);
      }
    });

    jButtonAutosLoeschen.setBounds(750, 305, 200, 35);
    jButtonAutosLoeschen.setText("Autos löschen");
    cp.add(jButtonAutosLoeschen);
    jButtonAutosLoeschen.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent evt)
      {
        jButtonAutosLoeschenActionPerformed(evt);
      }
    });

    jButtonVermieten.setBounds(285, 640, 200, 50);
    jButtonVermieten.setText("Vermieten");
    cp.add(jButtonVermieten);
    jButtonVermieten.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent evt)
      {
        jButtonVermietenActionPerformed(evt);
      }
    });

    jButtonRueckgabe.setBounds(515, 640, 200, 50);
    jButtonRueckgabe.setText("Rückgabe");
    cp.add(jButtonRueckgabe);
    jButtonRueckgabe.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent evt)
      {
        jButtonRueckgabeActionPerformed(evt);
      }
    });

    this.setVisible(true);
  }

  // Programm beenden mit Abfrage
  void DateiEnde_actionPerformed(ActionEvent e)
  {
    Object[] options = {"Ja", "Nein"};
    int n = JOptionPane.showOptionDialog(this,
    "Programm wirklich beenden? Nicht gespeicherte Daten gehen verloren!",
    "Achtung!!", JOptionPane.YES_NO_CANCEL_OPTION,
    JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
    if(n == 0)
    {
       System.exit(0);
    }
  }

  void jButtonKundenAnlegenActionPerformed(ActionEvent evt)
  {
    // einen neuen, leeren Kunden zur Bearbeitung anlegen
    Kunde testKunde = new Kunde();

    // den Bearbeitungsdialog für diesen Kunden aufrufen
    KundenInputDialog myDialog = new KundenInputDialog(testKunde);

    // den Dialog modal setzen
    myDialog.setModal(true);

    // und anzeigen
    myDialog.setVisible(true);

    // cschelle
    KundenContainer kdc;
    kdc=KundenContainer.getInstance();
    if(myDialog.getOKstatus()==true)KundenContainer.getInstance().addKunde(testKunde);
    KundenContainer.getInstance();
    KundenTabelle.tableChanged(mytme1);
  }

  // Button Kunden löschen wird ausprogrammiert
  // Siherheitsabfrage vor dem Löschen des Kunden
  void jButtonKundenLoeschenActionPerformed(ActionEvent evt)
  {
    int kundenNumbera = KundenTabelle.getSelectedRow();
    if (kundenNumbera > -1)
    {
     Object[] options = {"Ja", "Nein"};
     int n = JOptionPane.showOptionDialog(this,
     "Wollen Sie diesen Kunden wirklich aus der Liste entfernen?",
     "Achtung!!", JOptionPane.YES_NO_CANCEL_OPTION,
     JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
     if(n == 0)
      {
       int kundenNumber = KundenTabelle.getSelectedRow();
       if (kundenNumber > -1)
        {
          int KundenNumber = KundenTabelle.getSelectedRow();
          Kunde k = KundenContainer.getInstance().getKunde(KundenNumber);
          KundenContainer.getInstance().removeKunde(k);
          KundenTabelle.tableChanged(mytme2);
        }
      }
    }
  }

  void jButtonAutosAnlegenActionPerformed(ActionEvent evt)
  {
    // eine neues, leeres Auto zur Bearbeitung anlegen
    Auto testAuto = new Auto();

    // den Bearbeitungsdialog für dies Auto aufrufen
    AutoInputDialog myDialog = new AutoInputDialog(testAuto);

    // den Dialog modal setzen
    myDialog.setModal(true);

    // und anzeigen
    myDialog.setVisible(true);

    // cschelle
    AutoContainer adc;
    adc=AutoContainer.getInstance();
    if(myDialog.getOKstatus()==true)AutoContainer.getInstance().addAuto(testAuto);
    AutoContainer.getInstance();
    AutoTabelle.tableChanged(mytme2);
  }

  // Button Autos löschen wird ausprogrammiert
  // Siherheitsabfrage vor dem Löschen des Autos
  void jButtonAutosLoeschenActionPerformed(ActionEvent evt)
  {
    int autoNumbera = AutoTabelle.getSelectedRow();
    if (autoNumbera > -1)
    {
     Object[] options = {"Ja", "Nein"};
     int n = JOptionPane.showOptionDialog(this,
     "Wollen Sie dieses Auto wirklich aus der Liste entfernen?",
     "Achtung!!", JOptionPane.YES_NO_CANCEL_OPTION,
     JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
     if(n == 0)
      {
       int autoNumber = AutoTabelle.getSelectedRow();
       if (autoNumber > -1)
        {
          int AutoNumber = AutoTabelle.getSelectedRow();
          Auto a = AutoContainer.getInstance().getAuto(AutoNumber);
          AutoContainer.getInstance().removeAuto(a);
          AutoTabelle.tableChanged(mytme1);
        }
      }
    }
  }

   void dateiOeffnenMenupunkt_actionPerformed(ActionEvent e)
  {
     FileDialog meinFileDialog;
      // Dialog erzeugen
      meinFileDialog = new FileDialog(this , "Datei Öffnen", FileDialog.LOAD);
      // anzeigen
      meinFileDialog.show();
      // und auslesen
      String file = meinFileDialog.getFile();
      String directory = meinFileDialog.getDirectory();
      String completeFilename = directory + file;
      System.out.println("Lade Datei" + completeFilename);
      dateiname = file;
      if (completeFilename.endsWith(".ser"))
      {
         KundenContainer.getInstance().laden(completeFilename);
         KundenTabelle.tableChanged(mytme1);

         AutoContainer.getInstance().laden(completeFilename);
         AutoTabelle.tableChanged(mytme2);
      }
      else
      {
         Object[] options = {"OK"};
         int n = JOptionPane.showOptionDialog(this,
         "Bitte geben Sie eine Dateiendung .ser ein!!",
         "Dateiendung falsch!!", JOptionPane.YES_NO_CANCEL_OPTION,
         JOptionPane.WARNING_MESSAGE, null, options, options[0]);
      }
   }

  // Speichert unter einem beliebigen Namen ab
  // Muss eingegeben werden Name.ser
  void dateiSaveAsMenuepunkt_actionPerformed(ActionEvent e)
  {
      FileDialog meinFileDialog;
      // Dialog erzeugen
      meinFileDialog = new FileDialog(this , "Datei speichern unter...", FileDialog.SAVE);
      // anzeigen
      meinFileDialog.show();
      // und auslesen
      String file = meinFileDialog.getFile();
      String directory = meinFileDialog.getDirectory();
      String completeFilename = directory + file;
      System.out.println("Speichere unter " + completeFilename);
      dateiname = file;
      if (completeFilename.endsWith(".ser"))
      {
         KundenContainer.getInstance().speichern(completeFilename);
      }
      else
      {
         Object[] options = {"OK"};
         int n = JOptionPane.showOptionDialog(this,
         "Bitte geben Sie eine Dateiendung .ser ein!!",
         "Dateiendung falsch!!", JOptionPane.YES_NO_CANCEL_OPTION,
         JOptionPane.WARNING_MESSAGE, null, options, options[0]);
      }
  }

  void jButtonVermietenActionPerformed(ActionEvent evt)
  {
  }

  void jButtonRueckgabeActionPerformed(ActionEvent evt)
  {
  }

  void bearbeitenKundenAnlegenMenuepunkt_actionPerformed(ActionEvent e)
  {
    // einen neuen, leeren Kunden zur Bearbeitung anlegen
    Kunde testKunde = new Kunde();

    // den Bearbeitungsdialog für diesen Kunden aufrufen
    KundenInputDialog myDialog = new KundenInputDialog(testKunde);

    // den Dialog modal setzen
    myDialog.setModal(true);

    // und anzeigen
    myDialog.setVisible(true);

    // cschelle
    KundenContainer kdc;
    kdc=KundenContainer.getInstance();
    if(myDialog.getOKstatus()==true)KundenContainer.getInstance().addKunde(testKunde);
    KundenContainer.getInstance();
    KundenTabelle.tableChanged(mytme1);
  }

  void bearbeitenAutosAnlegenMenuepunkt_actionPerformed(ActionEvent e)
  {
    // eine neues, leeres Auto zur Bearbeitung anlegen
    Auto testAuto = new Auto();

    // den Bearbeitungsdialog für dies Auto aufrufen
    AutoInputDialog myDialog = new AutoInputDialog(testAuto);

    // den Dialog modal setzen
    myDialog.setModal(true);

    // und anzeigen
    myDialog.setVisible(true);

    // cschelle
    AutoContainer adc;
    adc=AutoContainer.getInstance();
    if(myDialog.getOKstatus()==true)AutoContainer.getInstance().addAuto(testAuto);
    AutoContainer.getInstance();
    AutoTabelle.tableChanged(mytme2);
  }
}

Und hier zeigt er mir folgende Fehlermeldung:
AutovermietungAnwendung.java:111:cannot find symbol
symbol: method.dateiOeffnenMenuepunkt_actionPerformed(java.awt.event.ActionEvent)
dateiOeffnenMenuepunkt_sctionPerformed(e);


Bin für jede Hilfe dankbar.
 

Ariol

Top Contributor
Du rufst in Zeile 111 die Methode "dateiOeffnenMenuepunkt_actionPerformed(e)" auf, aber die heisst bei dir eigentlich: "dateiOeffnenMenupunkt_actionPerformed(ActionEvent e) "


Also musst du dich entscheiden ob "Menu" oder "Menue"
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JTable Cannot find Symbol AWT, Swing, JavaFX & SWT 7
K Cannot find symbol: class JCanvas AWT, Swing, JavaFX & SWT 8
G JTextField - cannot find symbol 114 AWT, Swing, JavaFX & SWT 4
M JavaFX Non-static method 'widthProperty()' cannot be referenced from a static context AWT, Swing, JavaFX & SWT 4
S Swing jx cannot be resolved to a variable (2.) AWT, Swing, JavaFX & SWT 1
S Swing jx cannot be resolved to a variable AWT, Swing, JavaFX & SWT 6
H Swing Spiel: Maexchen: method cannot be applied to given types AWT, Swing, JavaFX & SWT 3
Q sun.awt.X11.XException: Cannot write XdndAware property - Was bedeutet das? AWT, Swing, JavaFX & SWT 2
H Swing JDialog cannot be resolved as a typ AWT, Swing, JavaFX & SWT 12
T The import javax.vecmath cannot be resolved AWT, Swing, JavaFX & SWT 2
A Swing LAF unter Windows: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D AWT, Swing, JavaFX & SWT 5
M setColor mit Fehler cannot fiend symbol (java.awt.Color) AWT, Swing, JavaFX & SWT 2
D cannot access Canvas AWT, Swing, JavaFX & SWT 13
B Cannot refer to a non-final variable (JButton) AWT, Swing, JavaFX & SWT 3
Z Cannot load AWT toolkit AWT, Swing, JavaFX & SWT 3
P Fehlermeldung: Error: Could not find or load main class set Caused by: java.lang.ClassNotFoundException: set AWT, Swing, JavaFX & SWT 5
H Could not find main class: ... AWT, Swing, JavaFX & SWT 10
B Find & Replace Dialog für JTextArea AWT, Swing, JavaFX & SWT 4
C Swing Aufruf der Funktion (die ein Dialog anzeigt) über Symbol anzeigen lassen AWT, Swing, JavaFX & SWT 4
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
I Swing Beim Fenster das kleine Symbol(ICS) ändern AWT, Swing, JavaFX & SWT 3
R Anwendung ohne Symbol in der Taskleiste AWT, Swing, JavaFX & SWT 3
H Swing Symbol in Taskleiste dynamisch aus- bzw. einblenden AWT, Swing, JavaFX & SWT 14
D JFrame in Taskleiste: Symbol nach automatischer Gruppierung AWT, Swing, JavaFX & SWT 5
H Node neben dem Expand/Collapse Symbol ermitteln AWT, Swing, JavaFX & SWT 4
K Symbol kann nicht aufgelöst werden - müsste aber eigentlich AWT, Swing, JavaFX & SWT 4
B Symbol-Fonts AWT, Swing, JavaFX & SWT 2
T AWT: MenuItem mit Symbol AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben