Hallo zusammen
Ich möchte eine JTextArea auslesen und das ganze in eine Datei speichern.
ich habe die Methode getText() ausprobiert.
Wie kann ich aber die Zeilenubrüche erkennen?
In der Datei schreibt es mir alles auf eine Zeile.
Sinn ist aber, dass ich die Datei mit der gleichen Formatierung wieder in meinem Programm öffnen kann.
Gibt es da noch andere Methoden oder was kann ich tun?
Sorry wegen dem Layout. Ich habs nicht so mit den LayoutManagern.
Gruss
HISTORY
Ich möchte eine JTextArea auslesen und das ganze in eine Datei speichern.
ich habe die Methode getText() ausprobiert.
Wie kann ich aber die Zeilenubrüche erkennen?
In der Datei schreibt es mir alles auf eine Zeile.
Sinn ist aber, dass ich die Datei mit der gleichen Formatierung wieder in meinem Programm öffnen kann.
Gibt es da noch andere Methoden oder was kann ich tun?
Code:
package nachricht;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;
public class CreateNotiz extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
JButton save = new JButton("Datei speichern");
JButton newF = new JButton("Neues Dokument");
JLabel label = new JLabel(
"Schreiben Sie eine Notiz und speichern sie diese."
+ " Die wird auf dem Homescreen der QuickLaunch sichtbar sein.");
JLabel title = new JLabel("Titel: ");
JLabel notiz = new JLabel("Notiz: ");
JLabel leer = new JLabel();
JTextArea textArea = new JTextArea(4, 60);
JTextField titleField = new JTextField(30);
JPanel panel = new JPanel();
JPanel labelPanel = new JPanel();
JPanel titlePanel = new JPanel();
JPanel writePanel = new JPanel();
JPanel buttonPanel = new JPanel();
public CreateNotiz() {
super("Neue Notiz");
setBounds(500, 500, 800, 400);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
// Layouts definieren
GridLayout gridCenter = new GridLayout(2, 1);
writePanel.setLayout(gridCenter);
titlePanel.setLayout(gridCenter);
labelPanel.setLayout(gridCenter);
// Kopf definiren
titlePanel.add(title);
titlePanel.add(titleField);
labelPanel.add(label);
labelPanel.add(titlePanel);
// Scrollpane erstellen mitte adden
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
writePanel.add(notiz);
writePanel.add(textArea);
JScrollPane scrollBar = new JScrollPane(textArea,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
writePanel.add(scrollBar);
// buttons adden
save.addActionListener(this);
newF.addActionListener(this);
buttonPanel.add(save);
buttonPanel.add(newF);
// alles auf die Hauptpane
panel.add(BorderLayout.NORTH, labelPanel);
panel.add(BorderLayout.CENTER, writePanel);
panel.add(BorderLayout.SOUTH, buttonPanel);
add(panel);
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
new CreateNotiz();
}
public String giveTitle() {
String docTitle;
docTitle = titleField.getText();
if (docTitle.length() == 0) {
titleField.setText("doc1");
}
return docTitle;
}
public String getText() {
String docText;
docText = textArea.getText();
if (docText.length() == 0) {
textArea.setText("Der Inhalt dieses Dokuments wurde noch nicht definiert.");
}
docText = textArea.getText();
return docText;
}
public void writeStream() {
try {
File file = new File(giveTitle() + ".quickLaunch");
FileWriter writer = new FileWriter(file, false);
writer.write(getText());
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == save) {
writeStream();
setTitle(giveTitle());
} else if (source == newF) {
titleField.setText("");
textArea.setText("");
setTitle("Neues Nachricht");
}
}
}
Sorry wegen dem Layout. Ich habs nicht so mit den LayoutManagern.
Gruss
HISTORY