Einen schönen guten Abend.
Ich programmiere derzeit einen Vokabeltrainer und komme leider gerade überhaupt nicht weiter. Ich habe eine getrennte gui und logik und möchte jetzt beide miteinander verknüpfen. Ich möchte gerne einen eingegebenen Text vom JTextField in einer xml-datei speichern. Funktioniert leider nur nicht. Ich hoffe ihr könnt mir weiterhelfen! Den Code gibt es auch noch:
Der code für die xmldatei
Hier die getter und setter
Hier die gui mit den JTextFields
Bin für jede Hilfe dankbar!!
Ich programmiere derzeit einen Vokabeltrainer und komme leider gerade überhaupt nicht weiter. Ich habe eine getrennte gui und logik und möchte jetzt beide miteinander verknüpfen. Ich möchte gerne einen eingegebenen Text vom JTextField in einer xml-datei speichern. Funktioniert leider nur nicht. Ich hoffe ihr könnt mir weiterhelfen! Den Code gibt es auch noch:
Der code für die xmldatei
Java:
package logik;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class Katalog {
Element root = new Element("vokabeltrainer");
Document doc = new Document(root);
Eingabe input = new Eingabe();
ArrayList<String> kataloge = new ArrayList<String>();
public void vokabelsatz() throws FileNotFoundException, IOException {
root.addContent(new Element("vokabelsatz")
.addContent(new Element("Katalog").addContent(input.katalogName))
.addContent(new Element("muttersprache")
.addContent(input.mutterSprache))
.addContent(new Element("muttervokabel")
.addContent(input.mutterVokabel))
.addContent(new Element("fremdsprache")
.addContent(input.fremdSprache))
.addContent(new Element("fremdvokabel")
.addContent(input.fremdVokabel)));
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
FileOutputStream output = new FileOutputStream(input.katalogName + ".xml");
outputter.output(doc, output);
}
}
Hier die getter und setter
Java:
package logik;
public class Eingabe {
String katalogName;
String mutterSprache;
String fremdSprache;
String mutterVokabel;
String fremdVokabel;
public void setKatalogName(String katalog) {
this.katalogName = katalog;
}
public String getKatalogName() {
return katalogName;
}
public void setMutterSprache(String mutterSprache) {
this.mutterSprache = mutterSprache;
}
public String getMutterSprache() {
return mutterSprache;
}
public void setFremdSprache(String fremdSprache) {
this.fremdSprache = fremdSprache;
}
public String getFremdSprache() {
return mutterSprache;
}
public void setMutterVokabel(String mutterVokabel) {
this.mutterVokabel = mutterVokabel;
}
public String getMutterVokabel() {
return mutterVokabel;
}
public void setFremdVokabel(String fremdVokabel) {
this.fremdVokabel = fremdVokabel;
}
public String getFremdVokabel() {
return fremdVokabel;
}
}
Hier die gui mit den JTextFields
Java:
package gui;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.*;
import logik.Eingabe;
import logik.Katalog;
public class KatalogErstellen extends GrundFenster implements ActionListener {
private static final long serialVersionUID = 1L;
JPanel northPanel;
JPanel northPanel2;
JPanel centerPanel;
JPanel southPanel;
JPanel layoutPanel;
JPanel gridLayoutPanel;
JPanel test1;
JPanel test2;
JPanel test3;
JPanel test4;
JPanel test5;
JLabel ueberschrift;
JLabel katalogNameLabel;
JLabel mutterSpracheLabel;
JLabel fremdSpracheLabel;
JLabel vokabelMutterSpracheLabel;
JLabel vokabelFremdSpracheLabel;
JTextField katalogNameFeld;
JTextField mutterSpracheFeld;
JTextField fremdSpracheFeld;
JTextField vokabelMutterSpracheFeld;
JTextField vokabelFremdSpracheFeld;
JButton eintragUebernehmen;
JButton fertig;
JButton abbrechen;
Font schrift;
String katalogEingabe;
String mutterSprache1;
String fremdSprache1;
String vokabelMutter;
String vokabelFremd;
public KatalogErstellen() {
northPanel = new JPanel();
centerPanel = new JPanel();
northPanel2 = new JPanel();
southPanel = new JPanel();
layoutPanel = new JPanel();
ueberschrift = new JLabel("Katalog Erstellen", JLabel.CENTER);
schrift = new Font("Flubber", Font.BOLD, 50);
ueberschrift.setFont(schrift);
northPanel.add(ueberschrift);
northPanel.setBackground(Color.GRAY);
katalogNameLabel = new JLabel("Name des Kataloges:");
katalogNameFeld = new JTextField("", 15);
mutterSpracheLabel = new JLabel("Muttersprache:");
mutterSpracheFeld = new JTextField("", 15);
fremdSpracheLabel = new JLabel("Fremdsprache:");
fremdSpracheFeld = new JTextField("", 15);
vokabelMutterSpracheLabel = new JLabel("Vokabel:");
vokabelMutterSpracheFeld = new JTextField("", 15);
vokabelFremdSpracheLabel = new JLabel("Vokabel:");
vokabelFremdSpracheFeld = new JTextField("", 15);
eintragUebernehmen = new JButton("Eintrag Uebernehmen");
eintragUebernehmen.addActionListener(this);
fertig = new JButton("Fertig");
fertig.addActionListener(this);
abbrechen = new JButton("Abbrechen");
abbrechen.addActionListener(this);
northPanel2.add(katalogNameLabel);
northPanel2.add(katalogNameFeld);
northPanel2.setBackground(Color.GRAY);
centerPanel.setLayout(new FlowLayout());
centerPanel.add(mutterSpracheLabel);
centerPanel.add(mutterSpracheFeld);
centerPanel.add(fremdSpracheLabel);
centerPanel.add(fremdSpracheFeld);
centerPanel.add(vokabelMutterSpracheLabel);
centerPanel.add(vokabelMutterSpracheFeld);
centerPanel.add(vokabelFremdSpracheLabel);
centerPanel.add(vokabelFremdSpracheFeld);
centerPanel.add(eintragUebernehmen);
centerPanel.setBackground(Color.GRAY);
southPanel.setLayout(new FlowLayout());
southPanel.add(fertig);
southPanel.add(abbrechen);
southPanel.setBackground(Color.GRAY);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(layoutPanel, BorderLayout.CENTER);
getContentPane().add(northPanel, BorderLayout.NORTH);
getContentPane().add(southPanel, BorderLayout.SOUTH);
layoutPanel.setLayout(new BorderLayout());
layoutPanel.add(northPanel2, BorderLayout.NORTH);
layoutPanel.add(centerPanel, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == this.abbrechen) {
dispose();
new MenuFenster();
} else if (e.getSource() == this.fertig) {
dispose();
new MenuFenster();
} else if (e.getSource() == this.eintragUebernehmen) {
katalogEingabe = katalogNameFeld.getText();
mutterSprache1 = mutterSpracheFeld.getText();
fremdSprache1 = fremdSpracheFeld.getText();
vokabelMutter = vokabelMutterSpracheFeld.getText();
vokabelFremd = vokabelFremdSpracheFeld.getText();
Katalog x = new Katalog();
Eingabe input = new Eingabe();
input.setKatalogName(katalogEingabe);
input.setMutterSprache(mutterSprache1);
input.setFremdSprache(fremdSprache1);
input.setMutterVokabel(vokabelMutter);
input.setFremdVokabel(vokabelFremd);
try {
x.vokabelsatz();
} catch (IOException exc1) {
exc1.printStackTrace();
}
vokabelMutterSpracheFeld.setText("");
vokabelFremdSpracheFeld.setText("");
}
}
}
Bin für jede Hilfe dankbar!!