Merkwürdige Fehlermeldung

solvX

Grünschnabel
Hallo ich bin neu in diesem Forum und noch ein Anfänger in der Java Programmierung... Ich hab mit einem Freund ein Programm geschrieben, dass Textdateien einlesen und schreiben kann. Nach einiger Zeit bekamen wir plötzlich einige Fehlermeldungen. Unser Problem ist nun, dass wir nicht wissen warum diese Fehlermeldungen auftauchen.

Hier die Fehlermeldungen:
Code:
NoteWriter.java:96:7: illegal start of expression
      public void actionPerformed(ActionEvent evt) { 
      ^
NoteWriter.java:96:14: illegal start of expression
      public void actionPerformed(ActionEvent evt) { 
             ^
NoteWriter.java:96:34: ';' expected
      public void actionPerformed(ActionEvent evt) { 
                                 ^
NoteWriter.java:96:50: ';' expected
      public void actionPerformed(ActionEvent evt) { 
                                                 ^
NoteWriter.java:98:6: illegal start of type
    });
     ^
NoteWriter.java:101:5: invalid method declaration; return type required
    setVisible(true);
    ^
NoteWriter.java:101:16: illegal start of type
    setVisible(true);
               ^
NoteWriter.java:105:10: class, interface, or enum expected
  public String FilePathFinderOpenFilename() {
         ^
NoteWriter.java:107:5: class, interface, or enum expected
    if (FilePathFinder.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
    ^
NoteWriter.java:109:5: class, interface, or enum expected
    } else {
    ^
NoteWriter.java:111:5: class, interface, or enum expected
    }
    ^
NoteWriter.java:114:10: class, interface, or enum expected
  public void Open_ActionPerformed(ActionEvent evt) {
         ^
NoteWriter.java:117:7: class, interface, or enum expected
      TextArea.setText("");
      ^
NoteWriter.java:118:7: class, interface, or enum expected
      while (scan.hasNextLine()) {
      ^
NoteWriter.java:120:9: class, interface, or enum expected
        TextArea.append("\n");
        ^
NoteWriter.java:121:7: class, interface, or enum expected
      }
      ^
NoteWriter.java:126:3: class, interface, or enum expected
  }
  ^
NoteWriter.java:128:10: class, interface, or enum expected
  public void Save_ActionPerformed(ActionEvent evt) {
         ^
NoteWriter.java:130:5: class, interface, or enum expected
    file = new File(DateReq() + ".txt");
    ^
NoteWriter.java:131:5: class, interface, or enum expected
    file = new File(DateReq() + ".txt");
    ^
NoteWriter.java:132:5: class, interface, or enum expected
    try {
    ^
NoteWriter.java:134:7: class, interface, or enum expected
      String s = TextArea.getText();
      ^
NoteWriter.java:135:7: class, interface, or enum expected
      StringTokenizer tokenizer = new StringTokenizer( s , "\n" );
      ^
NoteWriter.java:136:7: class, interface, or enum expected
      while ( tokenizer.hasMoreTokens() ) {
      ^
NoteWriter.java:138:9: class, interface, or enum expected
        writer.write(System.getProperty("line.separator"));
        ^
NoteWriter.java:139:7: class, interface, or enum expected
      }
      ^
NoteWriter.java:141:7: class, interface, or enum expected
      writer.close();
      ^
NoteWriter.java:142:5: class, interface, or enum expected
    } catch (IOException e) {
    ^
NoteWriter.java:144:5: class, interface, or enum expected
    }
    ^
NoteWriter.java:147:5: class, interface, or enum expected
    TextArea.setText("");
    ^
NoteWriter.java:148:3: class, interface, or enum expected
  }
  ^
NoteWriter.java:150:10: class, interface, or enum expected
  public void Delete_ActionPerformed(ActionEvent evt) {
         ^
NoteWriter.java:152:5: class, interface, or enum expected
    Log.setText(Log.getText() + "Deleted File at: " + file.getPath() + "\n");
    ^
NoteWriter.java:153:5: class, interface, or enum expected
    file.delete();
    ^
NoteWriter.java:154:3: class, interface, or enum expected
  }
  ^
NoteWriter.java:156:10: class, interface, or enum expected
  public String FileSavePathSaveFilename() {
         ^
NoteWriter.java:158:5: class, interface, or enum expected
    if (FileSavePath.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
    ^
NoteWriter.java:160:5: class, interface, or enum expected
    } else {
    ^
NoteWriter.java:162:5: class, interface, or enum expected
    }
    ^
NoteWriter.java:167:10: class, interface, or enum expected
  public String DateReq() {
         ^
NoteWriter.java:169:5: class, interface, or enum expected
    Date dateNow = new Date ();
    ^
NoteWriter.java:170:5: class, interface, or enum expected
    SimpleDateFormat dateformatDDMMYYYY = new SimpleDateFormat("dd.MM.yyyy");
    ^
NoteWriter.java:171:5: class, interface, or enum expected
    String nowDDMMYYYY = new String( dateformatDDMMYYYY.format( dateNow ) );
    ^
NoteWriter.java:172:5: class, interface, or enum expected
    req = nowDDMMYYYY;
    ^
NoteWriter.java:173:5: class, interface, or enum expected
    return req;
    ^
NoteWriter.java:174:3: class, interface, or enum expected
  }
  ^
NoteWriter.java:176:17: class, interface, or enum expected
  public static void main(String[] args) {
                ^
NoteWriter.java:179:3: class, interface, or enum expected
  }
  ^
48 errors

Hier der Quellcode:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

import java.io.*;
import java.util.Scanner;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
import java.text.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 2/6/2012
  * @author
  */

public class NoteWriter extends JFrame {
  // Anfang Attribute
  private JTextArea TextArea = new JTextArea("");
    private JScrollPane TextAreaScrollPane = new JScrollPane(TextArea);
  private JFileChooser FilePathFinder = new JFileChooser();
  private JButton Open = new JButton();
  private JButton Save = new JButton();
  private JButton Cancel = new JButton();
  private JTextArea Log = new JTextArea("");
    private JScrollPane LogScrollPane = new JScrollPane(Log);
  private JButton Delete = new JButton();
  private JFileChooser FileSavePath = new JFileChooser();
  // Ende Attribute

  public NoteWriter(String title) {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 591; 
    int frameHeight = 333;
    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);
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    TextAreaScrollPane.setBounds(0, 0, 585, 145);
    cp.add(TextAreaScrollPane);
    Open.setBounds(0, 192, 105, 33);
    Open.setText("Open");
    Open.setMargin(new Insets(2, 2, 2, 2));
    Open.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        Open_ActionPerformed(evt);
      }
    });
    Open.setCursor(new Cursor(Cursor.HAND_CURSOR));
    cp.add(Open);
    Save.setBounds(0, 152, 105, 33);
    Save.setText("Save");
    Save.setMargin(new Insets(2, 2, 2, 2));
    Save.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        Save_ActionPerformed(evt);
      }
    });
    Save.setCursor(new Cursor(Cursor.HAND_CURSOR));
    cp.add(Save);
    Cancel.setBounds(0, 232, 105, 33);
    Cancel.setText("Cancle");
    Cancel.setMargin(new Insets(2, 2, 2, 2));
    Cancel.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        Cancel_ActionPerformed(evt);
      }
    });
    Cancel.setCursor(new Cursor(Cursor.HAND_CURSOR));
    cp.add(Cancel);
    LogScrollPane.setBounds(168, 152, 417, 153);
    cp.add(LogScrollPane);
    Delete.setBounds(0, 272, 105, 33);
    Delete.setText("Delete File");
    Delete.setMargin(new Insets(2, 2, 2, 2));
    Delete.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        Delete_ActionPerformed(evt);
      }
    });
    Delete.setCursor(new Cursor(Cursor.HAND_CURSOR));
    cp.add(Delete);
      public void actionPerformed(ActionEvent evt) { 
      }
    });
    // Ende Komponenten

    setVisible(true);
  }

  // Anfang Methoden
  public String FilePathFinderOpenFilename() {
    FilePathFinder.setDialogTitle("Öffne Datei");
    if (FilePathFinder.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
      return FilePathFinder.getSelectedFile().getPath();
    } else {
      return null;
    }
  }

  public void Open_ActionPerformed(ActionEvent evt) {
    try {
      Scanner scan = new Scanner(new File(FilePathFinderOpenFilename()));
      TextArea.setText("");
      while (scan.hasNextLine()) {
        TextArea.append(scan.nextLine());
        TextArea.append("\n");
      }
    } catch (FileNotFoundException e) {

    }
    Log.setText(Log.getText() + "Opened File at: " + FilePathFinder.getSelectedFile().getPath() + "\n");
  }

  public void Save_ActionPerformed(ActionEvent evt) {
    FileWriter writer;
    file = new File(DateReq() + ".txt");
    file = new File(DateReq() + ".txt");
    try {
      writer = new FileWriter(file ,true);
      String s = TextArea.getText();
      StringTokenizer tokenizer = new StringTokenizer( s , "\n" );
      while ( tokenizer.hasMoreTokens() ) {
        writer.write(tokenizer.nextToken());
        writer.write(System.getProperty("line.separator"));
      }
      writer.flush();
      writer.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
    Log.setText(Log.getText() + "Saved File at: " + file.getPath() + "\n");

    TextArea.setText("");
  }

  public void Delete_ActionPerformed(ActionEvent evt) {
    File file = new File(FilePathFinderOpenFilename());
    Log.setText(Log.getText() + "Deleted File at: " + file.getPath() + "\n");
    file.delete();
  }

  public String FileSavePathSaveFilename() {
    FileSavePath.setDialogTitle("Speichere Datei");
    if (FileSavePath.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
      return FileSavePath.getSelectedFile().getPath();
    } else {
      return null;
    }
  }

  // Ende Methoden

  public String DateReq() {
    String req = "";
    Date dateNow = new Date ();
    SimpleDateFormat dateformatDDMMYYYY = new SimpleDateFormat("dd.MM.yyyy");
    String nowDDMMYYYY = new String( dateformatDDMMYYYY.format( dateNow ) );
    req = nowDDMMYYYY;
    return req;
  }

  public static void main(String[] args) {
    new NoteWriter("NoteWriter");
    
  }
}
Hoffe, dass dies euch nicht zu umständlich oder zu kompliziert ist.
Danke schon mal im vorraus :)
mfg solvX
 
Zuletzt bearbeitet von einem Moderator:
Na dann herzlich willkommen hier bei uns ^^

Das nächste Mal bitte auch die BB-Codes verwenden, sowohl für die Exception als auch für den Code. Für den Code dann bitte nicht die [code][/code]-Tags, sondern die [code=java][/code]-Tags verwenden.

So, hab den Fehler gefunden und korrigiert. Ihr habt wohl entweder was halbes eingefügt oder etwas aus Versehen gelöscht. Jedenfalls ist diese Stelle hier fehlerhaft:
Java:
public void actionPerformed(ActionEvent evt) {
}
});
// Ende Komponenten

Hier der nun korrigierte Code:
Java:
package de.tutorials.forum.help.solvx.files;

import java.awt.Container;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.StringTokenizer;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;

public class NoteWriter extends JFrame {
	private static final long	serialVersionUID	= 8321237178793422643L;

	private JButton				Cancel				= new JButton();
	private JButton				Delete				= new JButton();
	private JFileChooser		FilePathFinder		= new JFileChooser();
	private JFileChooser		FileSavePath		= new JFileChooser();
	private JTextArea			Log					= new JTextArea("");
	private JScrollPane			LogScrollPane		= new JScrollPane(Log);
	private JButton				Open				= new JButton();
	private JButton				Save				= new JButton();
	private JTextArea			TextArea			= new JTextArea("");
	private JScrollPane			TextAreaScrollPane	= new JScrollPane(TextArea);

	public NoteWriter(String title) {
		// Frame-Initialisierung
		super(title);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		int frameWidth = 591;
		int frameHeight = 333;
		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);
		setResizable(false);
		Container cp = getContentPane();
		cp.setLayout(null);

		TextAreaScrollPane.setBounds(0, 0, 585, 145);
		cp.add(TextAreaScrollPane);
		Open.setBounds(0, 192, 105, 33);
		Open.setText("Open");
		Open.setMargin(new Insets(2, 2, 2, 2));
		Open.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent evt) {
				Open_ActionPerformed(evt);
			}
		});
		Open.setCursor(new Cursor(Cursor.HAND_CURSOR));
		cp.add(Open);
		Save.setBounds(0, 152, 105, 33);
		Save.setText("Save");
		Save.setMargin(new Insets(2, 2, 2, 2));
		Save.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent evt) {
				Save_ActionPerformed(evt);
			}
		});
		Save.setCursor(new Cursor(Cursor.HAND_CURSOR));
		cp.add(Save);
		Cancel.setBounds(0, 232, 105, 33);
		Cancel.setText("Cancle");
		Cancel.setMargin(new Insets(2, 2, 2, 2));
		Cancel.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent evt) {
				Cancel_ActionPerformed(evt);
			}
		});
		Cancel.setCursor(new Cursor(Cursor.HAND_CURSOR));
		cp.add(Cancel);
		LogScrollPane.setBounds(168, 152, 417, 153);
		cp.add(LogScrollPane);
		Delete.setBounds(0, 272, 105, 33);
		Delete.setText("Delete File");
		Delete.setMargin(new Insets(2, 2, 2, 2));
		Delete.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent evt) {
				Delete_ActionPerformed(evt);
			}
		});
		Delete.setCursor(new Cursor(Cursor.HAND_CURSOR));
		cp.add(Delete);

		setVisible(true);
	}

	public static void main(String[] args) {
		new NoteWriter("NoteWriter");

	}

	public String DateReq() {
		String req = "";
		Date dateNow = new Date();
		SimpleDateFormat dateformatDDMMYYYY = new SimpleDateFormat("dd.MM.yyyy");
		String nowDDMMYYYY = new String(dateformatDDMMYYYY.format(dateNow));
		req = nowDDMMYYYY;
		return req;
	}

	public void Delete_ActionPerformed(ActionEvent evt) {
		File file = new File(FilePathFinderOpenFilename());
		Log.setText(Log.getText() + "Deleted File at: " + file.getPath() + "\n");
		file.delete();
	}

	public String FilePathFinderOpenFilename() {
		FilePathFinder.setDialogTitle("Öffne Datei");
		if(FilePathFinder.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
			return FilePathFinder.getSelectedFile().getPath();
		} else {
			return null;
		}
	}

	public String FileSavePathSaveFilename() {
		FileSavePath.setDialogTitle("Speichere Datei");
		if(FileSavePath.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
			return FileSavePath.getSelectedFile().getPath();
		} else {
			return null;
		}
	}

	public void Open_ActionPerformed(ActionEvent evt) {
		try {
			Scanner scan = new Scanner(new File(FilePathFinderOpenFilename()));
			TextArea.setText("");
			while(scan.hasNextLine()) {
				TextArea.append(scan.nextLine());
				TextArea.append("\n");
			}
		} catch(FileNotFoundException e) {

		}
		Log.setText(Log.getText() + "Opened File at: " + FilePathFinder.getSelectedFile().getPath() + "\n");
	}

	public void Save_ActionPerformed(ActionEvent evt) {
		FileWriter writer;
		File file = new File(DateReq() + ".txt");
		try {
			writer = new FileWriter(file, true);
			String s = TextArea.getText();
			StringTokenizer tokenizer = new StringTokenizer(s, "\n");
			while(tokenizer.hasMoreTokens()) {
				writer.write(tokenizer.nextToken());
				writer.write(System.getProperty("line.separator"));
			}
			writer.flush();
			writer.close();
		} catch(IOException e) {
			e.printStackTrace();
		}
		Log.setText(Log.getText() + "Saved File at: " + file.getPath() + "\n");

		TextArea.setText("");
	}
}
Wobei das bei mir noch nicht korrekt war, weil die lokale Variable file nirgendwo deklariert ist und die Methode Cancel_ActionPerformed(ActionEvent) ebenfalls nicht.

Und dann wären da noch ganz viele viele andere Punkte. Sorry, wenn ich so direkt bin, aber der Code ist Schrott. Wie, wo und von wem habt ihr das bitte gelernt? Versteh mich bitte nicht falsch, ich will niemand anmachen oder sowas. Das soll dich nur darauf aufmerksam machen, dass da einiges schief gelaufen ist.
 
Vielen Dank!!
Wir gehen beide noch zur Schule und dort programmieren wir eher nur langweiliges Zeug, deswegen schreiben wir ab und zu Programme nebenher. Für das meiste Zeug was wir programmieren müssen wir im Internet nachschauen und es uns selbst beibringen. Deswegen wundert es mich nicht wenn du diesen Code als "Schrott" bezeichnest. ;)
Nochmal vielen Dank für die schnelle Hilfe! :)
 
Ja, ist vielleicht ein wenig hart ausgedrückt, aber es sollte dich nur drauf aufmerksam machen, dass da wirklich was falsch gelaufen ist.

Wenn ihr Java wirklich freiwillig lernen wollt und nicht nur das Geschnörkel aus der Schule, dann schaut euch mal das OpenBook Java ist auch eine Insel an. Ihr müsst das nicht auswendig können, aber auch nicht einfach diagonal überfliegen. Das Rumspielen ist schon ein sehr guter Schritt in die richtige Richtung, also bastelt weiter ^^ Aber es muss dennoch eine gewisse fachliche Basis vorhanden sein und dabei kann das OpenBook sehr gut helfen. Du wirst sehen, dein Code wird dann dann schon nach kurzer Zeit ganz anders aussehen und du wirst dich selbst fragen, was das sollte ^^
 
Zurück