Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hi,
ich will mir einen SaveDialog erstellen mit dem ich werte aus einem JTable auslesen kann und diese dann als datei abspeichern kann.
wie ich die werte aus dem jtable auslese hab ich mir schon überlegt...nur weiß ich nicht wie ich diese werte dann in eine datei bekomme und diese an den SaveDialog übergebe.
Ich würde mir mal die Klasse JFileChooser.java an schauen, und um deine Date zu speichern würde ich mir erst den Pfad zu datei suchen ,den die Daten und den pfad an eine Klasse übergeben die das Schreiben übernimmt.
Dan würde ich mir überlegen in welchen format ich die Daten abspeichere, csv , pdf usw....
die klasse hab ich mir schon angeschaut hab auch schon nen savdialog erstellt aber damit gehts noch nicht...will auch nicht in eine vorhandene datei speichern,sondern eine neue anlegen und über den savedialog den pfad bestimmen.
hab das tut durchgelesen aber leider wird da nicht das erklärt was ich brauche...im beispiel wird es über FileSaveService gemacht, ich würde es gern über den file chooser mit save dialog machen. ich weiß nur nicht wie ich meine daten in eine datei bekomme und diese dann an den save dialog übergebe unm die daten in einer datei zu speichern. hat vll wer ein quellcodebeispiel für mich? wie gesagt, eine methode um meinen j-table auszulesen habe ich bereits.
anders: mit dem JFileChooser lässt du dir einen Dateinamen geben .. dieser gibt an wie die Datei heissen soll wo der Nutzer das gern ablegen möchte. Diesen Namen verwendest du dann um ein File-Objekt zu erzeugen (wenn nicht vorhanden wirds erstellt etc. siehe File-API).
So nun öffnest noch einen Stream zu der Datei, und in den schiebst du dann deine Daten in jeweiliger zu speichernder Art.
also ich wollte es so machen das ich im savedialog den namen eingebe und mir einen speicherort wähle..
meinst du das auch so oder hab ich das falsch verstanden?
wie lasse ich mir dann vom filechooser savedialog einen pfad und einen namen zurückgeben?
also ich wollte es so machen das ich im savedialog den namen eingebe und mir einen speicherort wähle..
meinst du das auch so oder hab ich das falsch verstanden?
//Methode des Listeners am Öffnen-Button
public void actionPerformed(ActionEvent e) {
//Wenn öffnen-button dieses Event ausgelöst hat
if (e.getSource() == openButton) {
//zeige öffnen-dialog an und merke Rückgabewert
int returnVal = fc.showOpenDialog(FileChooserDemo.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
//wenn der Rückgabewert der "Bestätigung" des Dialoges entspricht (Öffnen wurde gewählt)
File file = fc.getSelectedFile(); //erstelle File-Objekt mit gewählten Dateinamen
//mache was mit der Datei
<Anweisungen>
} else {
//Dialog wurde abgebrochen
<Anweisungen>
}
}
}
import javax.swing.*;
import java.io.*;
public class SaveDialog {
static JFileChooser save = new JFileChooser();
static File file;
String test = ("Hallo");
public static void speichern() throws IOException{
file.createNewFile();
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Test");
bw.close();
save.showSaveDialog(null);
}
}
ich hab noch nicht die richtig fkt zum schreiben reingenommen da ich erstmal testen will...theoretisch müsste ich doch jetzt einfach das file an den savedialog übergeben und kann dann damit den speicherpfad + name bestimmen,oder?
ja das ist ein öffnen-dialog aber soviel musst du da nicht aendern um daraus nen save-dialog zu machen.
und was den 2. satz angeht denkst du wieder falsch rum, lies dir nochmal genau durch was ich oben bereits geschrieben hatte, wer hier wo welche werte bekommt !!!!!
import javax.swing.*;
import java.io.*;
public class SaveDialog {
static JFileChooser save = new JFileChooser();
static File file;
static String test = ("Hallo");
public static void speichern() throws IOException{
file=new File("playlist");
save.setSelectedFile(file);
save.showSaveDialog(null);
}
}
nun bekomme ich schonmal den pfad und den name unter dem ich die datei dann speichern kann...nun weiß ich aber nicht wie ich die datei dann auf der festplatte erstelle
du bekommst das file vom Save dialog! warum erstellst du ein neues file objekt und öffnest dann den dialog?
nicht speichern und dann fragen wohin, sondern fragen wohin und dann speichern. der save dialog speichert nix, der fragt den benutzer nur wohin...
diggaa hatt da schon was gepostet...
Code:
File file = fc.getSelectedFile(); //erstelle File-Objekt mit gewählten Dateinamen
public class Test extends JFrame
{
public static void main (String argv [])throws IOException {
Test t = new Test();
t.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
t.setVisible(true);
//hier wirds interessant
JFileChooser fc = new JFileChooser();
fc.showSaveDialog(t);
File f = fc.getSelectedFile();
System.out.println(f.getName()+" hier hin speichern");
//hier jetzt speicher....
FileWriter fw = new FileWriter(f);
BufferedWriter bw = new BufferedWriter(fw);
//usw...
}
}
mal noch eine kleine frage...kann man irgendwie bestimmen das man nur eine art von datei speichern kann(z.b. .txt)...also das dann beim dialog auch nur txt drinne steht
hast eigentlich auch verstanden wie es geht? weil genau das selbe schema ist oben in meinem Bsp (Kopie des Sun-tutorials mit deutschen kommentaren) verwendet worden. Scheint mir alles ein wenig unselbstständig :?
jo habs verstanden...sorry wenn das nselbstständig wirkt aber ich mache erst seit ein paar wochen java und da is mir noch vieles neu
danke für die hilfe