Hallo,
ich bin grade dabei ein Programm zu erstellen, welches bei Knopfdruck ( Button ) eine Textdatei speichern soll.
Das habe ich auch soweit geschafft.
Nun soll bei Knopfdruck dieses Programm gestartet werden. Dazu habe ich ein komplett unabhängiges neues Programm geschrieben :
Dieses Programm heißt "MainAuswahl". Hier der Source Code dazu :
In der ActionPerformed habe ich schon mehrere Dinge ausprobiert ( sind mit // gekennzeichnet ) allerdings hat nichts funktioniert obwohl keine Fehler angezeigt werden.
Das eigentliche Programm, welches die Text Datei speichern soll, heißt finalv1.
Der Code dazu hier :
Wieso funktioniert das so nicht ? Kann mir jemand helfen ?
Grüße.
ich bin grade dabei ein Programm zu erstellen, welches bei Knopfdruck ( Button ) eine Textdatei speichern soll.
Das habe ich auch soweit geschafft.
Nun soll bei Knopfdruck dieses Programm gestartet werden. Dazu habe ich ein komplett unabhängiges neues Programm geschrieben :
Dieses Programm heißt "MainAuswahl". Hier der Source Code dazu :
Java:
package Ausgabe;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import Ausgabe.finalv1;
public class MainAuswahl extends JFrame implements ActionListener {
private JButton buttonspeichern;
private JButton buttonlesen;
public MainAuswahl(String titel) {
super( titel );
setLayout( new FlowLayout());
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
buttonlesen = new JButton("Lesen");
buttonspeichern = new JButton("Speichern");
buttonlesen.addActionListener(this);
buttonspeichern.addActionListener(this);
this.getContentPane().add(buttonlesen);
this.getContentPane().add(buttonspeichern);
this.getContentPane().setLayout(null);
buttonlesen.setSize(190, 55);
buttonspeichern.setSize(190, 55);
buttonlesen.setLocation(260,90);
buttonspeichern.setLocation(30, 90);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == buttonspeichern){
//new finalv1().setVisible(true);
/*try {
Runtime.getRuntime().exec("E:\\workspace\\DateiReader by SupaHotCrew\\kk.jar");
} catch (IOException e1) {
e1.printStackTrace();
} */
//finalv1 f = new finalv1();
}
}
public static void main(String[] args) {
MainAuswahl auswahl = new MainAuswahl (" DateiReader ");
auswahl.setSize(500, 280);
auswahl.setVisible(true);
}
}
In der ActionPerformed habe ich schon mehrere Dinge ausprobiert ( sind mit // gekennzeichnet ) allerdings hat nichts funktioniert obwohl keine Fehler angezeigt werden.
Das eigentliche Programm, welches die Text Datei speichern soll, heißt finalv1.
Der Code dazu hier :
Java:
package Ausgabe;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class finalv1 extends JFrame implements ActionListener {
public JButton button;
FileWriter writer;
File file;
JLabel labela = new JLabel (" Text eingeben : ");
JTextField fielda = new JTextField(20);
public finalv1() {
super();
setLayout( new FlowLayout());
add(labela);
add(fielda);
fielda.addActionListener(this);
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
button = new JButton("Speichern");
button.addActionListener(this);
this.getContentPane().add(button);
}
public void speichern(){
String xy = fielda.getText();
if (xy.equals("")){
JLabel label2 = new JLabel ();
add (label2);
label2.setOpaque(true);
label2.setSize(800, 60);
label2.setLocation(35, 70);
label2.setText("- FAILED - PLEASE RESTART PROGRAM -");
label2.setForeground(Color.RED);
this.getContentPane().setLayout(null);
}
else
{
String Text= fielda.getText();
file = new File("C:/Users/Phillip/Documents/data.txt"); // Datei anlegen
JLabel label = new JLabel ();
add (label);
label.setOpaque(true);
label.setSize(60, 60);
label.setLocation(120, 70);
label.setText("-SAVED-");
label.setForeground(Color.GREEN);
this.getContentPane().setLayout(null);
try {
writer = new FileWriter(file ,false); // True = Text wird angehängt, False = neue Datei
writer.write(Text); // Text in den Stream
//writer.write(System.getProperty("line.separator")); // Zeilenumbruch
//writer.write(eingabe2); // Nächster Text in den Stream
writer.flush(); // Stream wird in die Datei geschrieben ( immer am Ende)
writer.close(); // Stream wird geschlossen
}
catch (IOException e)
{
e.printStackTrace();
}
}}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == button){
speichern();
}
}
public static void main(String[] args) {
finalv1 schreiben = new finalv1 ();
schreiben.setSize(300, 180);
schreiben.setVisible(true);
}
}
Wieso funktioniert das so nicht ? Kann mir jemand helfen ?
Grüße.