Hallo ich versuche ein paar Eingaben aus verschiedene Textfelder abzuspeichern.. An sich klappt das ja .. Die txt.Datei wird gespeichert und da werden ja anscheinend Daten hinterlegt. Es sollen ja verschiedene Zahlen gespeichert werden. Stattdessen sind aber nur komische Zeichen in dem txt.Datei zu sehen wie:
d Ǵ d Ǵ Ǵ Ǵ P Ǡ Ĭ 2 d Ǵ
Das sollten eigentlich die Zahlen:
500 100 500 100 500 500 480 80 50 300 500 100
sein
d Ǵ d Ǵ Ǵ Ǵ P Ǡ Ĭ 2 d Ǵ
Das sollten eigentlich die Zahlen:
500 100 500 100 500 500 480 80 50 300 500 100
sein
Java:
public class GUI extends JFrame implements ActionListener{
public GUI() {
initComponents();
}
...........
//Speichern
if (object.getSource() == save){
JFileChooser fc = new JFileChooser();
int returnVal = fc.showSaveDialog(CreateFile.editPanel);
if (returnVal == JFileChooser.APPROVE_OPTION)
{
File saveFile = new File(fc.getSelectedFile()+".txt");
BufferedWriter bw;
try
{
bw = new BufferedWriter(new FileWriter(saveFile));
bw.write(CreateFile.cf.headerH);
bw.write(CreateFile.cf.headerW);
bw.write(CreateFile.cf.contentH);
bw.write(CreateFile.cf.contentW);
bw.write(CreateFile.cf.footerH);
bw.write(CreateFile.cf.footerW);
bw.write(CreateFile.cf.tile1H);
bw.write(CreateFile.cf.tile1W);
bw.write(CreateFile.cf.tile2H);
bw.write(CreateFile.cf.tile2W);
bw.write(CreateFile.cf.tile3H);
bw.write(CreateFile.cf.tile3W);
bw.close();
} catch(IOException e){
System.out.println("writer failture");
}
}
}
Java:
public class CreateFile extends JPanel implements ActionListener
{
public CreateFile()
{
initComponents();
}
public void initComponents()
{
headerWidth = new JTextField();
headerWidth.setDocument(new IntegerField(4));
headerHeight = new JTextField();
headerHeight.setDocument(new IntegerField(4));
contentWidth = new JTextField();
contentWidth.setDocument(new IntegerField(4));
...........
if (object.getSource() == buttonCreateLayout)
{
cf.headerW = Integer.parseInt(headerWidth.getText()); //Daten auslesen
cf.headerH = Integer.parseInt(headerHeight.getText());
repaint(); //Zeichnen
cf.contentW = Integer.parseInt(contentWidth.getText());
cf.contentH = Integer.parseInt(contentHeight.getText());
repaint();
cf.footerW = Integer.parseInt(footerWidth.getText());
cf.footerH = Integer.parseInt(footerHeight.getText());
repaint();
}
............
}
Java:
public class IntegerField extends PlainDocument{
int maxSize;
public IntegerField(int limit){
maxSize = limit;
}
public void insertString(int offset, String str, AttributeSet a) throws BadLocationException
{
try{
Integer.parseInt(str);
}
catch(Exception ex)
{
Toolkit.getDefaultToolkit().beep();
return ;
}
if((getLength()+str.length()) <= maxSize){
super.insertString(offset,str, a);
}
}
}