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:
Zeit-Thread (eher uninteressant):
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;
}
}