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.
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.
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.