Hey Leute, hab ein Problem mit einem Programm, dass wir für die Schule machen sollen und zwar folgendes:
Wir mussten ein Programm schreiben in dem wir Logs speichern d.h. Mit Datum, Nachricht und User bzw. System..
Diese Logs werden in einer Liste während der Laufzeit gespeichert. Jetz haben wir zusätzlich noch die aufgabe bekommen, dass wir einen Save Button erstellen der diese Liste in eine XML Datei speichert. Meine Frage dabei ist jetzt: Könnte mir irgentwer freundlicherweise eine Klasse erstellen die mir meine Liste in ein XML Dokument speichert?
Hier mein bestehendes Programm:
Datenklasse-ENTRY:
Datenklasse-SYSTEMENTRY
Datenklasse-USERENTRY
GUI
Programmiert habe ich das ganze in Netbeans 6.9.1, anbei noch ein Screenshot der GUI
Wir mussten ein Programm schreiben in dem wir Logs speichern d.h. Mit Datum, Nachricht und User bzw. System..
Diese Logs werden in einer Liste während der Laufzeit gespeichert. Jetz haben wir zusätzlich noch die aufgabe bekommen, dass wir einen Save Button erstellen der diese Liste in eine XML Datei speichert. Meine Frage dabei ist jetzt: Könnte mir irgentwer freundlicherweise eine Klasse erstellen die mir meine Liste in ein XML Dokument speichert?
Hier mein bestehendes Programm:
Datenklasse-ENTRY:
Java:
package system_logging_tool;
import java.util.GregorianCalendar;
public class Entry {
private GregorianCalendar gc;
private String text;
public Entry() {
}
public GregorianCalendar getGc() {
return gc;
}
public void setGc(GregorianCalendar gc) {
this.gc = gc;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
Datenklasse-SYSTEMENTRY
Java:
package system_logging_tool;
public class SystemEntry extends Entry{
private String system;
public SystemEntry() {
}
public String getSystem() {
return system;
}
public void setSystem(String system) {
this.system = system;
}
@Override
public String toString() {
return (system + " : " + getGc().getTime());
}
}
Datenklasse-USERENTRY
Java:
package system_logging_tool;
public class UserEntry extends Entry{
private String user;
public UserEntry() {
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
@Override
public String toString() {
return (user + " : " + getGc().getTime());
}
}
GUI
Java:
public class SystemLogFrame extends javax.swing.JFrame {
GregorianCalendar gc = new GregorianCalendar();
DefaultComboBoxModel sysCombo = new DefaultComboBoxModel (new String[] {"System1", "System2", "System3"});
DefaultComboBoxModel usrCombo = new DefaultComboBoxModel (new String[] {"User1", "User2", "User3"});
Boolean systemMode = true;
DefaultListModel dlm = new DefaultListModel();
ArrayList text = new ArrayList();
private void onNewSystemLog(java.awt.event.ActionEvent evt) {
jComboBox1.setModel(sysCombo);
gc = new GregorianCalendar();
tfDate.setText(gc.getTime().toString());
systemMode = false;
}
private void onUser(java.awt.event.ActionEvent evt) {
jComboBox1.setModel(usrCombo);
gc = new GregorianCalendar();
tfDate.setText(gc.getTime().toString());
systemMode = false;
}
private void onSave(java.awt.event.ActionEvent evt) {
if(systemMode == true )
{
SystemEntry se = new SystemEntry();
se.setGc(gc);
se.setSystem(jComboBox1.getSelectedItem().toString());
text.add(jTextArea1.getText());
dlm.addElement(se);
}else{
UserEntry ue = new UserEntry();
ue.setGc(gc);
ue.setUser(jComboBox1.getSelectedItem().toString());
text.add(jTextArea1.getText());
dlm.addElement(ue);
}
jTextArea1.setText("");
tfDate.setText("");
}
private void printToConsole(java.awt.event.ActionEvent evt) {
for (int i = 0; i < dlm.getSize(); i++) {
System.out.println(""+dlm.get(i)+" : "+text.get(i));
}
}
private void onClick(java.awt.event.MouseEvent evt) {
int index = jListSummary.getSelectedIndex();
int num=0;
String object = dlm.get(index).toString();
String type = object.substring(0, 6);
if(type.equals("System"))
{
num = Integer.parseInt(object.valueOf((object.charAt(6))));
switch(num)
{
case 1:jComboBox1.setModel(new DefaultComboBoxModel (new String[] {"System1"}));break;
case 2:jComboBox1.setModel(new DefaultComboBoxModel (new String[] {"System2"}));break;
case 3:jComboBox1.setModel(new DefaultComboBoxModel (new String[] {"System3"}));
}
tfDate.setText(object.substring(10, 38));
}
else
{
switch(num)
{
case 1:jComboBox1.setModel(new DefaultComboBoxModel (new String[] {"User1"}));break;
case 2:jComboBox1.setModel(new DefaultComboBoxModel (new String[] {"User2"}));break;
case 3:jComboBox1.setModel(new DefaultComboBoxModel (new String[] {"User3"}));
}
num = Integer.parseInt(object.valueOf((object.charAt(4))));
tfDate.setText(object.substring(8, 36));
}
jTextArea1.setText(text.get(index).toString());
}
Programmiert habe ich das ganze in Netbeans 6.9.1, anbei noch ein Screenshot der GUI