Applet kommt offline nicht mit FileReader zurecht

Status
Nicht offen für weitere Antworten.

alphaChill

Aktives Mitglied
Hallo,

ich bastel gerade ein einfaches Gästebuch für meine Homepage (soll nichts großes werden...), welches erstmal nur lokal auf meinem Rechner funktionieren soll!
Möchte die Beiträge in einer Textdatei abspeichern und auch aus dieser lesen. In Eclipse (3.2) funktioniert das alles wunderbar, sowie ich mir das vorstelle... nur offline mit Firefox nicht - das Applet wird war gestartet, aber der Text wird nicht angezeigt :(
Muss ich das Applet auch für den lokalen Betrieb signieren?

Hier mal mein Programmcode:

Code:
package gaestebuch;



import javax.swing.JPanel;
import javax.swing.JApplet;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;


import java.awt.Dimension;
import java.awt.Point;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;


import java.io.*;

public class Buch_1 extends JApplet {

	private JPanel jContentPane = null;
	private JScrollPane jScrollPane = null;
	private JTextArea jTextArea = null;
	private JScrollPane jScrollPane1 = null;
	private JTextArea jTextArea1 = null;
	private JLabel jLabel = null;
	private JLabel jLabel1 = null;
	private JLabel jLabel2 = null;
	private JButton jButton = null;
	private JButton jButton1 = null;
	static JLabel zeitlabel = null;
	private JTextField jTextField = null;
	
	Zeit_Thread th1 = null;

	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setSize(new Dimension(230, 530));
			jScrollPane.setLocation(new Point(20, 20));
			jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
			jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
			jScrollPane.setViewportView(getJTextArea());
			jScrollPane.setAutoscrolls(true);
			
			

		}
		return jScrollPane;
	}
	
	/**
	 * This method initializes jTextArea	
	 * 	
	 * @return javax.swing.JTextArea	
	 */
	private JTextArea getJTextArea() {
		if (jTextArea == null) {
			jTextArea = new JTextArea();
			jTextArea.setEditable(false);
		}
		return jTextArea;
	}

	/**
	 * This method initializes jScrollPane1	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane1() {
		if (jScrollPane1 == null) {
			jScrollPane1 = new JScrollPane();
			jScrollPane1.setLocation(new Point(270, 160));
			jScrollPane1.setViewportView(getJTextArea1());
			jScrollPane1.setSize(new Dimension(190, 390));
			
		}
		return jScrollPane1;
	}

	/**
	 * This method initializes jTextArea1	
	 * 	
	 * @return javax.swing.JTextArea	
	 */
	private JTextArea getJTextArea1() {
		if (jTextArea1 == null) {
			jTextArea1 = new JTextArea();
		}
		return jTextArea1;
	}

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setText("Senden");
			jButton.setSize(new Dimension(160, 40));
			jButton.setLocation(new Point(55, 575));
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					schreibeTextinDatei();
					schreibeTextinFeld();
					
				}
			});
		}
		return jButton;
	}

	/**
	 * This method initializes jButton1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton1() {
		if (jButton1 == null) {
			jButton1 = new JButton();
			jButton1.setText("Abbrechen");
			jButton1.setSize(new Dimension(160, 40));
			jButton1.setLocation(new Point(285, 575));
			jButton1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					jTextArea1.setText("");
					jTextField.setText("");
					
					
				}
			});
		}
		return jButton1;
	}

	/**
	 * This method initializes jTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextField() {
		if (jTextField == null) {
			jTextField = new JTextField();
			jTextField.setSize(new Dimension(190, 20));
			jTextField.setLocation(new Point(270, 100));
		}
		return jTextField;
	}

	/**
	 * @param args
	 */
	public static void main(final String[] args) {
		Buch_1 b1 = new Buch_1();

	}

	/**
	 * This is the xxx default constructor
	 */
	public Buch_1() {
		super();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	public void init() {
		this.setSize(480, 640);
		this.setContentPane(getJContentPane());
		schreibeTextinFeld();
		
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			zeitlabel = new JLabel();
			zeitlabel.setText("<Zeit anzeige> Thread!");
			zeitlabel.setLocation(new Point(270, 40));
			zeitlabel.setSize(new Dimension(190, 20));
			jLabel2 = new JLabel();
			jLabel2.setText("Kommentar:");
			jLabel2.setLocation(new Point(270, 140));
			jLabel2.setSize(new Dimension(70, 20));
			jLabel1 = new JLabel();
			jLabel1.setText("Name:");
			jLabel1.setLocation(new Point(270, 80));
			jLabel1.setPreferredSize(new Dimension(70, 20));
			jLabel1.setSize(new Dimension(70, 20));
			jLabel = new JLabel();
			
			jLabel.setText("Zeit:");
			jLabel.setLocation(new Point(270, 20));
			jLabel.setSize(new Dimension(70, 20));
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJScrollPane(), null);
			jContentPane.add(getJScrollPane1(), null);
			jContentPane.add(jLabel, null);
			jContentPane.add(jLabel1, null);
			jContentPane.add(jLabel2, null);
			jContentPane.add(getJButton(), null);
			jContentPane.add(getJButton1(), null);
			jContentPane.add(zeitlabel, null);
			jContentPane.add(getJTextField(), null);
			th1 = new Zeit_Thread();
			th1.start();
			
				}
		return jContentPane;
	}
	
	public void schreibeTextinFeld(){

		FileReader eineEingabeDatei = null;
		String buffer = "";
		try {
			eineEingabeDatei = new FileReader("Text.txt");
		
		BufferedReader eingabeDatei = new BufferedReader (eineEingabeDatei);
		String zeile = eingabeDatei.readLine();
		
		
		while(zeile != null){
			buffer = buffer + zeile+"\n";
			zeile = eingabeDatei.readLine();
			
		}
		//System.out.println(buffer);
		
		} catch (Exception eineAusnahme) {
			System.out.println("Fehler: " + eineAusnahme);
		}
		
		jTextArea.setText(buffer);
	}
	
	
	public void schreibeTextinDatei(){


		FileReader eineEingabeDatei = null;
		String buffer = "";
		try {
			eineEingabeDatei = new FileReader("Text.txt");
		
		BufferedReader eingabeDatei = new BufferedReader (eineEingabeDatei);
		String zeile = eingabeDatei.readLine();
		
		
		while(zeile != null){
			buffer = buffer + zeile+"\n";
			zeile = eingabeDatei.readLine();
			
		}
		//System.out.println(buffer);
		
		} catch (Exception eineAusnahme) {
			System.out.println("Fehler: " + eineAusnahme);
		}
		
		
		//.....................................................
		//:::::::::::::::::::::::::::::::::::::::::::::::::::::
		// Eigentlicher Schreibprozess:
		//.....................................................
		
		
		

		FileWriter eineAusgabeDatei = null;
		String text = null;
		text = 	 "_____________________________________\n"
				+"--------------------------------\n"
				+"Zeit: "+th1.getZeit()+"\n"
				+"--------------------------------\n"
				+"Name: "+jTextField.getText()+"\n"
				+"--------------------------------\n"
				+"Kommentar: "+jTextArea1.getText()+"\n\n";
		
		
		try{
			
			eineAusgabeDatei = new FileWriter("Text.txt");
			eineAusgabeDatei.write(buffer);
			eineAusgabeDatei.write(text);
			
		}
		catch (Exception eineAusnahme){
			System.out.println("Fehler: " + eineAusnahme);
		}
		finally
		{
			try {
				eineAusgabeDatei.close();
			} catch (Exception eineAusnahme) {
				System.out.println("Fehler: " + eineAusnahme);
			}
		}

	
	
	}

}

Zeit-Thread (eher uninteressant):
Code:
package gaestebuch;

import java.util.Date;

public class Zeit_Thread extends Thread{
	
	
	 public Zeit_Thread(){
	      super();
	   } 
	 
	 public void run(){
		 while(true){
			 java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd.MM.yyyy HH:mm");
				String ausgabe = sdf.format(new Date());
				
				String zeit = ausgabe+" Uhr";
				
				
				
				Buch_1.zeitlabel.setText(zeit);
				try {
					Thread.sleep(1000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			 
		 }
	 }
	 
	 public String getZeit(){
		 java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd.MM.yyyy HH:mm");
			String ausgabe = sdf.format(new Date());
			
			String zeit = ausgabe+" Uhr";
		 
		 return zeit;
	 }

}
 

0x7F800000

Top Contributor
applet ist beim client.
gästebucheinträge müssen auf den server.

applet & gästebuch = denkfehler

ob das ein signierter denkfehler oder nicht: macht auch nicht viel aus...

Vergiss es einfach, das ist mit applets prinzipiell nicht umsetzbar.
 

alphaChill

Aktives Mitglied
Die Textdatei mit den Beiträgen liegt ja dann auf 'm Server, jetzt erstmal nur auf meinem Rechner.

Z.Z. habe ich auch ein Gästebuch, welches über PHP einen Text in eine txt-Datei schreibt und auch rausliest. Allerdings habe ich den Quellcode nicht mehr und muss alles neu erstellen.
Zudem kommt, dass ich das Gästebuch auf so einem "funpic.de"-Server liegen habe und jetzt Zugriff auf einen Server habe, der für Applets keine Signierung benötigt.

Oder würde es evtl. etwas bringen, wenn ich anstatt einer Textdatei eine SQL-Tabelle hätte und diese dann über Java abfragen bzw. füllen würde?
 

0x7F800000

Top Contributor
alphaChill hat gesagt.:
Die Textdatei mit den Beiträgen liegt ja dann auf 'm Server, jetzt erstmal nur auf meinem Rechner.
Die Textdatei liegt also auf dem Server und soll von Applets veränderbar sein? D.h. Jeder Bösewicht kann jederzeit dein Gästebuch demolieren, mit Müll füllen oder löschen. Selbst wenn sich kein bösewicht die mühe geben wird, dein Gästebuch zu ruinieren, tuen es die "guten" Benutzer auch: dazu reicht dass zwei leute gleichzeitig irgendetwas reinschreiben, dann ist die datei schonmal geschrottet.
Z.Z. habe ich auch ein Gästebuch, welches über PHP einen Text in eine txt-Datei schreibt und auch rausliest.
Ist doch fein, PHP ist zwar hier und da bisschen inkonsistent, aber für so einfache serverseitige skripts müsste es doch reichen. Dann verstehe ich allerdings den nutzen von Applets nicht so recht, eine hübsche html-form macht's doch auch. Die Applets würden dagegen alle leute nerven, die ohne JRE auf deiner Seite vorbeikommen. Wenn deine seite also nicht unbedingt andere java-applets zum thema hat, wäre das evtl. nicht so benutzerfreundlich.

Oder würde es evtl. etwas bringen, wenn ich anstatt einer Textdatei eine SQL-Tabelle hätte und diese dann über Java abfragen bzw. füllen würde?
ich denk mal nicht, dass dein funpic-server einen java servlet container zur verfügung stellt. (gegoogelt: jetzt bin ich 100% sicher, dass es dort keinen servlet container gibt) Die Serverseitigen Sachen musst du also wohl oder übel mit PHP erledigen.

Ansonsten könntest du zB auf EatJ oder Trap17 o.ä. dasselbe mit servlets kostenlos versuchen, wenn dich sowas interessiert. Bei EatJ gibt's anscheinend nicht mal allzu viele krasse einschränkungen, da könnte man eine kleine Test-Homepage durchaus unterbringen.

Diese komische geschichte mit applet-gästebuch geht nicht, eine ähnlich bescheuerte idee hatte ich anfangs auch, bis mir die leute das netterweise ausgeredet haben ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Grafikformat für AWT-Applet? AWT, Swing, JavaFX & SWT 0
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
T Applet Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 8
C Applet Applet funktioniert in Eclipse aber nicht in Browser AWT, Swing, JavaFX & SWT 1
S Sandboxed Applet weiterhin moeglich..? AWT, Swing, JavaFX & SWT 5
S Oracle's neue Sicherheitseinstellungen zerstoeren mein Applet. Was tun? AWT, Swing, JavaFX & SWT 3
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
U CardLayout im Applet AWT, Swing, JavaFX & SWT 4
J Applet Applet Vererbung/Überladen AWT, Swing, JavaFX & SWT 5
G JavaFX mit ANT deployen als Applet AWT, Swing, JavaFX & SWT 3
S Applet Application 2 applet AWT, Swing, JavaFX & SWT 3
T Applet JTattoo Look and Feel AWT, Swing, JavaFX & SWT 5
T Signiertes Applet Urheber angeben AWT, Swing, JavaFX & SWT 5
S Applet Repaint AWT, Swing, JavaFX & SWT 3
B Java-Applet Parameter übergabe? AWT, Swing, JavaFX & SWT 2
M Applet mit Bildern AWT, Swing, JavaFX & SWT 2
T Applet in JSP einbinden AWT, Swing, JavaFX & SWT 4
R MouseEvent.getX() liefert in Applet Screen-Koordinate AWT, Swing, JavaFX & SWT 2
K Applet Wieso kann ich keine Array im Applet initialisieren AWT, Swing, JavaFX & SWT 13
A Applet Applet vom Web-Server aus aufrufen AWT, Swing, JavaFX & SWT 11
A Applet Applet startet nicht AWT, Swing, JavaFX & SWT 2
P Tatsächliche Größe für Applet AWT, Swing, JavaFX & SWT 3
B Applet Aus Applet signiertes jar mit externen libs erstellen AWT, Swing, JavaFX & SWT 9
S JDialog über Applet AWT, Swing, JavaFX & SWT 3
M Warum funktioniert mein Applet nicht? AWT, Swing, JavaFX & SWT 6
D Applet hintergrund wird nicht weiß AWT, Swing, JavaFX & SWT 2
R Applet JavaScript Methodenaufruf AWT, Swing, JavaFX & SWT 2
A Applet Animiertes gif in awt applet anzeigen AWT, Swing, JavaFX & SWT 11
X Applet Java Applet Datei Ausführung AWT, Swing, JavaFX & SWT 9
A Applet .gif in applet Image nicht animiert angezeigt AWT, Swing, JavaFX & SWT 4
A Applet Applet aus Code neu starten AWT, Swing, JavaFX & SWT 2
K Applet erkennt keine Frameverkleinerung AWT, Swing, JavaFX & SWT 5
S Applet funktioniert nach Browserreload nicht richtig AWT, Swing, JavaFX & SWT 2
T Applet Applet vs. WebStart AWT, Swing, JavaFX & SWT 4
S Applet starten AWT, Swing, JavaFX & SWT 4
K JTable im Browser nicht zu sehen - Applet AWT, Swing, JavaFX & SWT 6
B Applet Button oder Toolbar in einem Applet AWT, Swing, JavaFX & SWT 5
V Applet mit Bildbearbeitung AWT, Swing, JavaFX & SWT 3
V Applet Applet starten schlägt fehl AWT, Swing, JavaFX & SWT 2
W Button in Applet AWT, Swing, JavaFX & SWT 9
kniffel GUI-Applet JTable füllt Hintergrund völlig aus AWT, Swing, JavaFX & SWT 4
J Applet Java-Applet friert mit Firefox ein AWT, Swing, JavaFX & SWT 8
J Applet Tetris flackert AWT, Swing, JavaFX & SWT 9
F Applet Applet starten...(+Timer?) AWT, Swing, JavaFX & SWT 12
S [JAVA] JFrame in Applet/JApplet AWT, Swing, JavaFX & SWT 14
D Applet Applet das auf fremden Libraries basiert einbinden? AWT, Swing, JavaFX & SWT 20
M Applet wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
M JMenuBar im Applet und paint AWT, Swing, JavaFX & SWT 9
E Applet Neuen Tab aus Applet öffnen AWT, Swing, JavaFX & SWT 3
G Applet, Link ermitteln, dem der Benutzer gefolgt ist AWT, Swing, JavaFX & SWT 2
K Email versenden ueber Applet AWT, Swing, JavaFX & SWT 11
S Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 6
S Button aktivieren (Applet) AWT, Swing, JavaFX & SWT 2
3 Applet Applet zeigt nur weiße Fläche AWT, Swing, JavaFX & SWT 15
B 2 Probleme (JFrame & Applet) AWT, Swing, JavaFX & SWT 7
A Programmieren einer Agenda mit einer Liste (als Applet und .txt zum Speichern) AWT, Swing, JavaFX & SWT 7
H applet Methode aus abstrakter Klasse aufrufen AWT, Swing, JavaFX & SWT 12
H Applet - Hilfedateien im Browser öffnen / eine Webseite laden AWT, Swing, JavaFX & SWT 6
O JPanel aus Applet starten AWT, Swing, JavaFX & SWT 3
O Applet-Steuerung mit Tastaturbefehlen AWT, Swing, JavaFX & SWT 3
F 4-Gewinnt als Applet AWT, Swing, JavaFX & SWT 24
F Applet vs Stand-Alone-Client AWT, Swing, JavaFX & SWT 3
B AWT Bild als Hintergrund im Applet AWT, Swing, JavaFX & SWT 2
D Probleme mit MouseWheelListener und JLayeredPane in Applet AWT, Swing, JavaFX & SWT 2
G Applet und Swing Anwendung AWT, Swing, JavaFX & SWT 2
S Applet - Aerger mit dem Hintergrundbild - JLabel und JTextfield AWT, Swing, JavaFX & SWT 7
F Applet zeigt Bilder nicht an AWT, Swing, JavaFX & SWT 5
R for-Schleife in Applet ausgeben AWT, Swing, JavaFX & SWT 3
S Bild wird auf Canvas in Applet nicht gezeichnet AWT, Swing, JavaFX & SWT 4
W Swing heapsort + Applet AWT, Swing, JavaFX & SWT 4
P Diagramm in einem Applet zeichnen AWT, Swing, JavaFX & SWT 4
M Java Applet JTable/JList AWT, Swing, JavaFX & SWT 6
L Einfache Layout Frage für Applet -> Was mache ich bloss falsch? AWT, Swing, JavaFX & SWT 2
K Alternative zu Applet mit HTML-Einbindung AWT, Swing, JavaFX & SWT 11
J Java-Applet beenden AWT, Swing, JavaFX & SWT 3
R Applet aus JFrame starten AWT, Swing, JavaFX & SWT 2
T Konfiguration speichern in Applet AWT, Swing, JavaFX & SWT 2
P Swing Roter Faden beim Applet GUI Programmieren AWT, Swing, JavaFX & SWT 2
T HTML Seite neu laden mittels Applet AWT, Swing, JavaFX & SWT 2
T Icon von Frame ändern - Applet AWT, Swing, JavaFX & SWT 2
T Java Applet beenden AWT, Swing, JavaFX & SWT 2
M Swing Butten & TextFields aus Applet im JFrame nicht sichtbar AWT, Swing, JavaFX & SWT 2
I Swing .Jar Datei - funktioniert - nun als Applet AWT, Swing, JavaFX & SWT 13
S Applet mit Graphics dynamisch vergrößern AWT, Swing, JavaFX & SWT 3
M AWT text im applet formatieren AWT, Swing, JavaFX & SWT 5
L Applet Frage AWT, Swing, JavaFX & SWT 25
1 Verständnisprobleme bei Java Applet AWT, Swing, JavaFX & SWT 13
B Unterschied JFrame/Applet AWT, Swing, JavaFX & SWT 12
T [Applet] startet in Eclipse aber nicht im Browser AWT, Swing, JavaFX & SWT 2
G JSlider in Applet AWT, Swing, JavaFX & SWT 4
P Swing Applet AWT, Swing, JavaFX & SWT 2
R problem mit bildanzeige in applet und main AWT, Swing, JavaFX & SWT 2
F Applet und Popup AWT, Swing, JavaFX & SWT 4
G Wie startet man ein Applet ? AWT, Swing, JavaFX & SWT 4
R Ein Applet von einem Applet öffnen lassen AWT, Swing, JavaFX & SWT 2
Z Applet ausblenden AWT, Swing, JavaFX & SWT 5
G JList wird in einem Applet nur teilweise aktualisiert AWT, Swing, JavaFX & SWT 12
P Applet darstellung von Textfeldern Problem AWT, Swing, JavaFX & SWT 3
I Applet --> neues Fenster öffnen AWT, Swing, JavaFX & SWT 11
I Applet mit Panels (so richtig, gehts besser?) AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben