Text in ein Textfeld eingeben und speichern

Hallo, habe einen Code gemacht der ein Fenster erstellt wo man sich einloggen muss. Wenn man sich eingeloggt hat mit den richtigen Passwort dann kommt ein neues Fenster mit Login Succeful .Aber ich weiß nicht wie ich dort ein Textfeld reinbekomme wo man was reinschreiben kann und speichern kann, was dann beim nächsten mal beim Starten , dass da der selbe Text immer noch ist den man reingeschrieben hat, also quasi eine Notiz die man auch wieder weiterschreiben und verändern kann .

package LoginMarvin;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MarvinEins extends JFrame implements ActionListener {
Icon x = new ImageIcon(getClass().getResource("HalloHallo.png"));

Container container = getContentPane();
JLabel userLabel = new JLabel("USERNAME");
JLabel passwordLabel = new JLabel("PASSWORD");
JTextField userTextField = new JTextField();
JPasswordField passwordField = new JPasswordField();
JButton loginButton = new JButton("LOGIN");
JButton resetButton = new JButton("RESET");
JButton hallo = new JButton("", x);
JCheckBox showPassword = new JCheckBox("Show Password");

MarvinEins() {
setLayoutManager();
setLocationAndSize();
addComponentsToContainer();
addActionEvent();
}
public void setLayoutManager() {
container.setLayout(null);
}
public void setLocationAndSize() {
userLabel.setBounds(50, 150, 100, 30);
passwordLabel.setBounds(50, 220, 100, 30);
userTextField.setBounds(150, 150, 150, 30);
passwordField.setBounds(150, 220, 150, 30);
showPassword.setBounds(150, 250, 150, 30);
loginButton.setBounds(50, 300, 100, 30);
resetButton.setBounds(200, 300, 100, 30);
hallo.setBounds(20, 350, 300, 200);

}
public void addComponentsToContainer() {
container.add(userLabel);
container.add(passwordLabel);
container.add(userTextField);
container.add(passwordField);
container.add(showPassword);
container.add(loginButton);
container.add(resetButton);
container.add(hallo);

}
public void addActionEvent() {
loginButton.addActionListener(this);
resetButton.addActionListener(this);
showPassword.addActionListener(this);
}

@Override
public void actionPerformed(ActionEvent e) {
//Coding Part of LOGIN button
if (e.getSource() == loginButton) {
String userText;
String pwdText;
userText = userTextField.getText();
pwdText = passwordField.getText();
if (userText.equalsIgnoreCase("Super") && pwdText.equalsIgnoreCase("Hallo")) {
JOptionPane.showMessageDialog(this, "Login Successful");


} else {
JOptionPane.showMessageDialog(this, "Invalid Username or Password");
}
}
//Coding Part of RESET button
if (e.getSource() == resetButton) {
userTextField.setText("");
passwordField.setText("");
}
//Coding Part of showPassword JCheckBox
if (e.getSource() == showPassword) {
if (showPassword.isSelected()) {
passwordField.setEchoChar((char) 0);
} else {
passwordField.setEchoChar('*');
}

}
}
}





nächste Klasse :




package LoginMarvin;
import javax.swing.JFrame;
public class MarvinZwei {
public static void main(String[] a) {
MarvinEins frame = new MarvinEins();
frame.setTitle("Login Form");
frame.setVisible(true);
frame.setBounds(10, 10, 370, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);


}

}
 
Ohne deinen Code angeschaut zu haben.. (BTW: Bitte Code immer in Code-Tags .. Einfügen-Button (4. Button von Rechts) im Editor oder übere Code-Tags (siehe meine Signatur)).

Prinzipiell musst du den Text aus dem Textfeld irgendwo speichern - am einfachsten sicherlich erstmal in einer Textdatei.
Beim start deines Programms musst du dann immer den Text aus der Textdatei laden und in das Textfeld packen.
 
Und wie stellst du dir das vor?
Wenn du die Daten nicht auf deinem PC haben willst dann musst du die Daten wohl auf nem Server speichern.
 
Wie hier zum Beispiel und wenn man auf den ok Knopf drückt wird der Text gespeichert
Java:
import java.awt.Color;
import javax.swing.*;
public class JTextFieldBeispiel {
    public static void main(String[] args) {
        JFrame meinJFrame = new JFrame();
        meinJFrame.setTitle("JTextFieldBeispiel");
        meinJFrame.setSize(300, 150);
        JPanel panel = new JPanel();
        JLabel label = new JLabel("Ihr Name");
        panel.add(label);
        // Textfeld wird erstellt
        // Text und Spaltenanzahl werden dabei direkt gesetzt
        JTextField tfName = new JTextField("Paul Programmierer", 15);
        // Schriftfarbe wird gesetzt
        tfName.setForeground(Color.BLUE);
        // Hintergrundfarbe wird gesetzt
        tfName.setBackground(Color.YELLOW);
        // Textfeld wird unserem Panel hinzugefügt
        panel.add(tfName);
        JButton buttonOK = new JButton("OK");
        panel.add(buttonOK);
        meinJFrame.add(panel);
        meinJFrame.setVisible(true);
 
Da gibt es doch genug Beispiel im Netz.
Die ersten Treffer unter "java include file to jar" sollten genug Beispiele liefern.
 
Hab ich weiter oben bereits beschrieben.
Beim Programmstart musst du dann die Datei auslesen und den Inhalt der Datei in das Textfeld schreiben.
 
Dann geh eine Stufe zurück und nimm dir ein Grundlagenbuch. Schau dir an wie man aus Dateien liest und wie man in Dateien schreibt.

Die Logik ist recht Simple (stark abstrahiert)
Code:
Programm starten
Login
Datei einlesen
Textfeld erstellen und Inhalt aus Datei reinschreiben.
Textfeld anzeigen
Vor Programmende Inhalt aus Textfeld in Datei schreiben
 
Java:
import java.awt.Color;
import javax.swing.*;
public class JTextFieldBeispiel {
    public static void main(String[] args) {
        JFrame meinJFrame = new JFrame();
        meinJFrame.setTitle("JTextFieldBeispiel");
        meinJFrame.setSize(300, 150);
        JPanel panel = new JPanel();
        JLabel label = new JLabel("Ihr Name");
        panel.add(label);
        // Textfeld wird erstellt
        // Text und Spaltenanzahl werden dabei direkt gesetzt
        JTextField tfName = new JTextField("Hallo", 15);
        // Schriftfarbe wird gesetzt
        tfName.setForeground(Color.BLUE);
        // Hintergrundfarbe wird gesetzt
        tfName.setBackground(Color.YELLOW);
        // Textfeld wird unserem Panel hinzugefügt
        panel.add(tfName);
        JButton buttonOK = new JButton("OK");
        panel.add(buttonOK);
        meinJFrame.add(panel);
        meinJFrame.setVisible(true);
 
OMG 😱 hat Dir @Robat doch schon oben in #16 erklärt ...

Hier noch allgemein beschrieben
Programm starten
Login
Daten aus Datei einlesen
Textfeld erstellen und Inhalt aus Datei reinschreiben
Textfeld anzeigen
Vor Programmende: Inhalt aus Textfeld in die Datei schreiben


Du hast mit der Eingabe im Textfeld nur 'flüchtige Daten', d. h. sie existieren nur zur Programmlaufzeit im Hauptspeicher !!
Das Auslesen und Schreiben der Datei muss Du schon selbst basteln (siehe hierzu meine Links in #21) ... das fällt nun mal nicht vom Himmel !!


VG Klaus
 
Gefühlt redet man hier gegen eine Wand.
Wenn man weder liest was geschrieben wird noch die Lust hat selber zu googeln bin ich raus .. 😵
 
Ich habe dasselbe Problem mit einer Text Datei in einem Programm.
Ich habe in dem Package ein neuen Ordner mit einer Textdatei abc.txt erstellt und möchte in diese Datei schreiben, aber in die Textdatei wird nicht geschrieben. So kommt keine Fehlermeldung, aber wenn ich
Code:
new FileWriter("/abc.txt")
schreibe kommt folgende Exception java.io.FileNotFoundException: \abc.txt (Zugriff verweigert). Kann man dann überhaupt in die Datei schreiben?

Java:
public static void main(String[] args) throws IOException {
      
       
        try { 
            PrintWriter  pWriter = new PrintWriter(new BufferedWriter(new FileWriter("abc.txt"))); // keine Fehlermeldung
            pWriter.println("Hallo Welt!"); 
   
        } catch (IOException ioe) { 
            ioe.printStackTrace(); 
        }    
    }
 

Zurück
Oben