was heisst speichern ?
in einer variable / in eine datei / in eine DB ?
Dann den Text "herausholen" via getText(), in einen BufferWriter schreiben
und bei erneutem Programmstart schauen ob du diese Datei bereits erstelltest.
Falls ja dann mit einem BufferedReader den Text auslesen und via setText(...)
in deinem JTextField wieder darstellen lassen.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
/**
*
* Beschreibung
*
* @version 1.0 vom 05.10.2009
* @author
*/
public class App1 extends JFrame {
// Anfang Attribute
private JTextField Notizen = new JTextField();
// Ende Attribute
public App1(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int frameWidth = 150;
int frameHeight = 150;
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);
// Anfang Komponenten
Notizen.setBounds(0, 0, 150, 150);
Notizen.setText("txt/notizen1.txt");
cp.add(Notizen);
// Ende Komponenten
setResizable(false);
setVisible(true);
Reader f = null;
try {
f = new FileReader( "txt/notizen1.txt" );
for (int c; ( c = f.read() ) != -1; )
System.out.print( (char) c );
}
catch ( IOException e ) {
System.err.println( "Error reading File!" );
}
finally {
try {
f.close(); } catch ( Exception e ) { }
}
}
// Anfang Methoden
// Ende Methoden
public static void main(String[] args) {
new App1("App1");
}
}
BufferedReader reader = new BufferedReader(new FileReader(new File("C:/test.txt")));
String line = reader.readLine();
if(line==null)
line ="";
JTextField field = new JTextField(line);
was wird das? ist das für die Schule oder für private Zwecke?
warum ließst du zeichenweise?
Java:BufferedReader reader = new BufferedReader(new FileReader(new File("C:/test.txt"))); String line = reader.readLine(); if(line==null) line =""; JTextField field = new JTextField(line);
....
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.Writer;
import java.io.FileWriter;
import java.io.IOException;
import java.io.FileReader;
import java.io.Reader;
/**
*
* Beschreibung
*
* @version 1.0 vom 05.10.2009
* @author
*/
public class App1 extends JFrame {
// Anfang Attribute
private JTextField Notizen = new JTextField();
// Ende Attribute
public App1(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int frameWidth = 150;
int frameHeight = 150;
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);
// Anfang Komponenten
Notizen.setBounds(0, 0, 150, 150);
Notizen.setText("txt/notizen1.txt");
cp.add(Notizen);
// Ende Komponenten
setResizable(false);
setVisible(true);
// FILE WRITER
Writer fw = null;
try
{
fw = new FileWriter( "txt/notizen1.txt" );
fw.write( "Hat geklappt" );
fw.append( System.getProperty("line.separator") ); // e.g. "\n"
}
catch ( IOException e ) {
System.err.println( "Konnte Datei nicht erstellen" );
}
finally {
if ( fw != null )
try { fw.close(); } catch ( IOException e ) { }
}
// FILE READER
Reader f = null;
try {
f = new FileReader( "txt/notizen1.txt" );
for (int c; ( c = f.read() ) != -1; )
System.out.print( (char) c );
}
catch ( IOException e ) {
System.err.println( "Error reading File!" );
}
finally {
try {
f.close(); } catch ( Exception e ) { }
}
}
// Anfang Methoden
// Ende Methoden
public static void main(String[] args) {
new App1("App1");
}
}
ARadauer hat dir mehr oder weniger den Code schon geschrieben
Java:BufferedWriter buf = new BufferedWriter(new FileWriter("text.txt")); buf.writeLine(textfield.getText())
Trenn deine Zuständigkeiten...Krieg das irgenwie nich sauber in meinen Code rein
Nur wie bekomme ich es jetzt dann noch hin das er die Eingaben in das JTextField in die txt schreibt und diese dann beim Neustart des Programms wieder ausliest ??? [/qoute]
das Kapitel in der JavaInsel schon gelesen? Ich würd mir das echt mal anschaun...
Trenn deine Zuständigkeiten...
Irgend ein Objekt ist fürs Lesen und Schreibn zuständig.
Irgend ein Objekt fürs Anzeigen der Daten
Irgend ein Objekt fürs Halten der Daten während die Anwendung läuft.
Irgend ein Objekt zum Reagieren auf den Benutzer...
Nur wie bekomme ich es jetzt dann noch hin das er die Eingaben in das JTextField in die txt schreibt und diese dann beim Neustart des Programms wieder ausliest ??? [/qoute]
das Kapitel in der JavaInsel schon gelesen? Ich würd mir das echt mal anschaun...
Also das mit dem BufferedWriter hab ich probiert...naja nich so erfolgreich ^^ hab das kapitel von der Java Insel gelesen aber irgenwie fehlt mir noch das Verständniss da alleine weiter zu kommen !!! Ich hab zwar verstanden wie ich eine txt datei erstelle und die se dann lesen lasse aber wie ichdas ganze mit dem JTextFiel veränder und das dann speicher....da happerts bei mir immer noch
Also immer noch so weit:
EDIT: So hab ich das imom im Editor !! @ ARadauerJava:import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.io.FileReader; import java.io.IOException; import java.io.Reader; /** * * Beschreibung * * @version 1.0 vom 05.10.2009 * @author */ public class App1 extends JFrame { // Anfang Attribute private JTextField Notizen = new JTextField(); // Ende Attribute public App1(String title) { // Frame-Initialisierung super(title); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); int frameWidth = 150; int frameHeight = 150; 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); // Anfang Komponenten Notizen.setBounds(0, 0, 150, 150); Notizen.setText("Hier Notizen einfügen!!!!"); cp.add(Notizen); // Ende Komponenten setResizable(false); setVisible(true); Reader f = null; try { f = new FileReader( "txt/notizen1.txt" ); for (int c; ( c = f.read() ) != -1; ) System.out.print( (char) c ); } catch ( IOException e ) { System.err.println( "Error reading File!" ); } finally { try { f.close(); } catch ( Exception e ) { } } } // Anfang Methoden // Ende Methoden public static void main(String[] args) { new App1("App1"); } }
Genau setze den Filenamen in das Textfeld ...Notizen.setText("txt/notizen1.txt");
und gib den Inhalt der Textdatei zeichenweise auf der Console aus ...System.out.print( (char) c );
?????????
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class App1 extends JFrame {
// Anfang Attribute
private JTextField notizen = new JTextField();
// Ende Attribute
public App1(String title) throws IOException {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int frameWidth = 150;
int frameHeight = 150;
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);
// Anfang Komponenten
notizen.setBounds(0, 0, 150, 150);
notizen.setText("txt/notizen1.txt"); //<-- ist das dein ernst??????
cp.add(notizen);
// Ende Komponenten
setResizable(false);
setVisible(true);
//hab ich doch vorhin schon gepostet!!!!
BufferedReader reader = new BufferedReader(new FileReader(new File("C:/test.txt")));
String line = reader.readLine();
if(line==null)
line ="";
notizen.setText(line);
}
// Anfang Methoden
// Ende Methoden
public static void main(String[] args) throws IOException {
new App1("App1");
}
}
Darf ich fragen wie alt du bist?
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class App1 extends JFrame {
// Anfang Attribute
private JTextField notizen = new JTextField();
// Ende Attribute
public App1(String title) throws IOException {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
try {
writeStringToFile(notizen.getText());
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
int frameWidth = 150;
int frameHeight = 150;
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);
// Anfang Komponenten
notizen.setBounds(0, 0, 150, 150);
cp.add(notizen);
setResizable(false);
setVisible(true);
notizen.setText(readStringFromFile());
}
public String readStringFromFile() throws IOException{
BufferedReader reader = new BufferedReader(new FileReader(new File("C:/test.txt")));
String line = reader.readLine();
if(line==null)
line ="";
return line;
}
public void writeStringToFile(String line) throws IOException{
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("C:/test.txt")));
writer.write(line);
writer.flush();
}
public static void main(String[] args) throws IOException {
new App1("App1");
}
}
public void writeStringToFile(String line) throws IOException{
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("C:/test.txt")));
writer.write(line);
writer.flush();
}
writer.flush();
ist nicht sehr aussage kräftig.... sorgt dafür das das was im buffer steht auf jeden fall geschrieben wird. bin mir aber nicht sicher ob es überhaupt an dieser stelle notwendig ist.Flushes the stream.