Hey ho,
ich steh mom. dezent auf dem Schlauch.
Habe folgenden Code(-ausschnitt):
Im ersten Abschnitt habe ich eine Gui, darunter eine Klasse mit Methoden zum Speichern und Laden von Daten. Dazu muss ich auf die JTextFields aus der Info zugreifen. Wie mache ich das jetzt am besten? Mir fehlt iwie der Ansatz. oO
Bis jetzt bekomme ich noch die Meldung, dass test1-3 nicht resolved werden können.
Wenn ich bspw. eine Instanz von Info in DateiTXT laufen lasse (Info inf = new Info() oder sowas in der Art) und vor die Textfields noch "inf." schreibe, bekomme ich schonmal keinen syntaktischen Fehler, beim Zugriff auf die Info-Gui bekomme ich aber eine NullPointerException. Wo zeigt er da jetzt ins Leere?oO Das Prob wird mir dann bei der Methode dateiLaden(); angezeigt, also ist die Lösung auch falsch.
ich steh mom. dezent auf dem Schlauch.
Habe folgenden Code(-ausschnitt):
Code:
package gui;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Info extends JFrame{
JLabel eingabe1;
JLabel eingabe2;
JLabel eingabe3;
JTextField test1;
JTextField test2;
JTextField test3;
JButton okButton;
JButton schließenButton;
JPanel testPanel;
DateiTXT dl;
DateiTXT ds;
void fensterSchließen(){
this.dispose();
}
public Info(){
eingabe1 = new JLabel("Eingabe1");
eingabe2 = new JLabel("Eingabe2");
eingabe3 = new JLabel("Eingabe3");
test1 = new JTextField();
test2 = new JTextField();
test3 = new JTextField();
okButton = new JButton("Speichern");
schließenButton = new JButton("Schließen");
testPanel = new JPanel();
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
testPanel.add(eingabe1);
testPanel.add(test1);
testPanel.add(eingabe2);
testPanel.add(test2);
testPanel.add(eingabe3);
testPanel.add(test3);
testPanel.add(okButton);
testPanel.add(schließenButton);
dl.dateiLaden();
okButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
ds.dateiSpeichern();
}
});
schließenButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
fensterSchließen();
}
});
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle("Test");
this.setSize(200,125);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
testPanel.setLayout(new GridLayout(4,2));
this.getContentPane().add(testPanel);
this.setVisible(true);
}
}
Code:
package gui;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class DateiTXT {
BufferedReader in;
BufferedWriter out;
String zeile1;
String zeile2;
String zeile3;
String temp1;
String temp2;
String temp3;
DateiTXT(){}
public void dateiLaden(){
try{
in = new BufferedReader(new FileReader("test.txt"));
zeile1 = in.readLine();
test1.setText(zeile1);
zeile2 = in.readLine();
test2.setText(zeile2);
zeile3 = in.readLine();
test3.setText(zeile3);
in.close();
}
catch(FileNotFoundException e){}
catch(IOException e){}
}
public void dateiSpeichern(){
try{
out = new BufferedWriter(new FileWriter("test.txt"));
temp1 = test1.getText();
out.write(temp1);
out.newLine();
temp2 = test2.getText();
out.write(temp2);
out.newLine();
temp3 = test3.getText();
out.write(temp2);
out.newLine();
out.close();
}
catch(FileNotFoundException e1){}
catch(IOException e){}
}
}
Im ersten Abschnitt habe ich eine Gui, darunter eine Klasse mit Methoden zum Speichern und Laden von Daten. Dazu muss ich auf die JTextFields aus der Info zugreifen. Wie mache ich das jetzt am besten? Mir fehlt iwie der Ansatz. oO
Bis jetzt bekomme ich noch die Meldung, dass test1-3 nicht resolved werden können.
Wenn ich bspw. eine Instanz von Info in DateiTXT laufen lasse (Info inf = new Info() oder sowas in der Art) und vor die Textfields noch "inf." schreibe, bekomme ich schonmal keinen syntaktischen Fehler, beim Zugriff auf die Info-Gui bekomme ich aber eine NullPointerException. Wo zeigt er da jetzt ins Leere?oO Das Prob wird mir dann bei der Methode dateiLaden(); angezeigt, also ist die Lösung auch falsch.