hallo, ich habe keine Ahnung wie kann ich meinen Code in XML implemeiteren um die Änderung nach schliessen vom Editor aufzurufen.
- <System>
blabla
<SubNode>hahaha</SubNode>
</System>
Code:
package Fehleranalyse;
// import.........................
public class Editor extends JFrame{
private Ecu ecu;
JButton save;
public Editor() {
methode();
}
public void methode() {
ecu = new Ecu();
JTabbedPane tp = new JTabbedPane();
tp.add("ECU", ecu.getHauptPanel());
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(tp);
}
public static void main(String[] args) {
Editor editor = new Editor();
editor.setTitle("FehlermodellierungsEditor");
editor.setSize(1000, 500);
editor.setVisible(true);
}
}
//--------------------------
package Fehleranalyse;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.BoxLayout;
import javax.swing.DefaultCellEditor;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import java.awt.Color;
class Ecu extends JPanel implements ActionListener {
private int nextEmptyRow;
JTextField ecuFehlertf = new JTextField();
JButton ecuAddFehler;
JButton ecuDeleteRow;
JButton ecuDeleteFehler;
JButton ecuAddEcu;
JButton ecuDeleteEcu;
JButton save;
JComboBox fehlercb = new JComboBox();
JPanel ecuFehlerPanel = new JPanel();
JTextField ecutf = new JTextField();
JComboBox ecucb = new JComboBox();
JPanel ecuEcuPanel = new JPanel();
JPanel panel = new JPanel();
JPanel hauptPanel = new JPanel();
JTable ecutable;
TitledBorder titledBorder1;
TitledBorder titledBorder2;
private MyTableModel tablemodel;
public Ecu() {
init();
}
public void init() {
tablemodel = new MyTableModel();
ecutable = new JTable(tablemodel);
JToolBar tb1 = new JToolBar();
tb1.setRollover(true);
tb1.setBorderPainted(false);
JToolBar tb2 = new JToolBar();
tb2.setRollover(true);
tb2.setBorderPainted(false);
ecutable.setDefaultEditor(Float.class, new MyCellEditor(0, 1));
ecutable.setDefaultRenderer(Float.class, new DefaultTableCellRenderer());
titledBorder1 = new TitledBorder("Ecu_Item");
titledBorder2 = new TitledBorder("Ecu_Fehler");
ecuAddFehler = new JButton("Add");
ecuDeleteFehler = new JButton("Delete");
ecuDeleteRow = new JButton();
Image imgDelete = getToolkit().getImage("./img/Delete.gif");
ImageIcon deleteIcon = new ImageIcon(imgDelete);
ecuDeleteRow.setIcon(deleteIcon);
tb2.add(ecuDeleteRow);
ecuDeleteRow.setPreferredSize(new Dimension(30, 30));
ecuAddFehler.setActionCommand("Add Fehler");
ecuDeleteFehler.setActionCommand("Delete Fehler");
ecuDeleteRow.addActionListener(this);
ecuDeleteRow.setActionCommand("delete");
ecuAddFehler.addActionListener(this);
ecuDeleteFehler.addActionListener(this);
save = new JButton();
save.setActionCommand("save");
save.addActionListener(this);
Image imgSave = getToolkit().getImage("./img/Save.gif");
ImageIcon saveIcon = new ImageIcon(imgSave);
save.setIcon(saveIcon);
tb1.add(save);
save.setPreferredSize(new Dimension(30, 30));
ecuAddEcu = new JButton("Add");
ecuDeleteEcu = new JButton("Delete");
ecuAddEcu.setActionCommand("Add Ecu");
ecuDeleteEcu.setActionCommand("Delete Ecu");
ecuAddEcu.addActionListener(this);
ecuDeleteEcu.addActionListener(this);
hauptPanel.setLayout(new BoxLayout(hauptPanel, BoxLayout.Y_AXIS));
ecuFehlertf.setPreferredSize(new Dimension(300, 20));
fehlercb.setPreferredSize(new Dimension(300, 20));
fehlercb.addItem("--Alle Fehler--");
fehlercb.addItem("Kurzschluss");
fehlercb.addItem("Stromausfall");
fehlercb.addItem("Taktfehler");
fehlercb.addItem("Reset");
fehlercb.addActionListener(this);
fehlercb.setActionCommand("fehlercb");
ecucb.setActionCommand("ecucb");
ecucb.addActionListener(this);
ecucb.setPreferredSize(new Dimension(300, 20));
ecutf.setPreferredSize(new Dimension(300, 20));
ecucb.addItem("--Alle ECUs--");
ecuEcuPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
ecuEcuPanel.add(ecuAddEcu);
ecuEcuPanel.add(ecuDeleteEcu);
ecuEcuPanel.add(ecutf);
ecuEcuPanel.setBorder(titledBorder1);
ecuEcuPanel.add(ecucb);
ecuFehlerPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
ecuFehlerPanel.add(ecuAddFehler);
ecuFehlerPanel.add(ecuDeleteFehler);
ecuFehlerPanel.add(ecuFehlertf);
ecuFehlerPanel.setBorder(titledBorder2);
ecuFehlerPanel.add(fehlercb);
panel.setLayout(new BorderLayout());
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.add(tb2);
this.add(new JScrollPane(ecutable));
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
hauptPanel.add(tb1);
hauptPanel.add(ecuEcuPanel);
hauptPanel.add(ecuFehlerPanel);
hauptPanel.add(panel);
hauptPanel.add(this);
}
public void actionPerformed(ActionEvent e) {
String fehlerName = ecuFehlertf.getText();
String ecuName = ecutf.getText();
if (e.getActionCommand().equalsIgnoreCase("Add Fehler")) {
if (!fehlerName.equals("") && !fehlerName.equals(null)) {
boolean exist = false;
for (int i = 0; i < fehlercb.getItemCount(); i++) {
String item = fehlercb.getItemAt(i).toString();
if (item.equalsIgnoreCase(fehlerName))
exist = true;
}
if (!exist) {
fehlercb.addItem(fehlerName);
ecuFehlertf.removeAll();
}
ecuFehlertf.setText("");
}
}
else if (e.getActionCommand().equalsIgnoreCase("Add Ecu")) {
if (!ecuName.equals("") && !ecuName.equals(null)) {
boolean exist = false;
for (int i = 0; i < ecucb.getItemCount(); i++) {
String item = ecucb.getItemAt(i).toString();
if (item.equalsIgnoreCase(ecuName))
exist = true;
}
if (!exist) {
ecucb.addItem(ecuName);
ecutf.removeAll();
}
ecutf.setText("");
}
} else if (e.getActionCommand().equalsIgnoreCase("save")) {
String selectedItem = ecucb.getSelectedItem().toString();
if (selectedItem == null
|| selectedItem.equalsIgnoreCase("--Alle Ecus--")) {
JOptionPane.showMessageDialog(new JFrame(),
"Bitte wählen Sie eine ECU");
} else {
JOptionPane.showMessageDialog(new JFrame(),
"Die Schnittstelle wir noch implementiert...");
}
} else if (e.getActionCommand().equalsIgnoreCase("delete")) {
int selectedRowIndex = ecutable.getSelectedRow();
if (selectedRowIndex >= 0) {
String value = tablemodel.getValueAt(selectedRowIndex, 0)
.toString();
int YES_NO = JOptionPane.showConfirmDialog(new JFrame(),
"Möchten Sie " + "\"" + value + "\""
+ " wircklich löschen?", "Delete Dialog",
JOptionPane.YES_NO_OPTION);
if (YES_NO == 0) {
tablemodel.clearELement(selectedRowIndex);
}
} else {
JOptionPane.showMessageDialog(new JFrame(),
"Bitte selektieren Sie ein Element");
}
}
else if (e.getActionCommand().equalsIgnoreCase("Delete Fehler")) {
String selectedItem = fehlercb.getSelectedItem().toString();
if (selectedItem != null
&& !selectedItem.equalsIgnoreCase("--Alle Fehler--")) {
int YES_NO = JOptionPane.showConfirmDialog(new JFrame(),
"Möchten Sie " + "\"" + selectedItem + "\""
+ " wircklich löschen?", "Delete Dialog",
JOptionPane.YES_NO_OPTION);
if (YES_NO == 0) {
fehlercb.removeItem(selectedItem);
}
fehlercb.setSelectedItem("--Alle Fehler--");
ecuFehlertf.removeAll();
}
} else if (e.getActionCommand().equalsIgnoreCase("Delete Ecu")) {
String selectedItem = ecucb.getSelectedItem().toString();
if (selectedItem != null
&& !selectedItem.equalsIgnoreCase("--Alle Ecus--")) {
int YES_NO = JOptionPane.showConfirmDialog(new JFrame(),
"Möchten Sie " + "\"" + selectedItem + "\""
+ " wircklich löschen?", "Delete Dialog",
JOptionPane.YES_NO_OPTION);
if (YES_NO == 0) {
ecucb.removeItem(selectedItem);
}
ecucb.setSelectedItem("--Alle ECUs--");
ecutf.removeAll();
}
} else if (e.getActionCommand().equalsIgnoreCase("ecucb")) {
String selected = ecucb.getSelectedItem().toString();
if (!selected.equalsIgnoreCase("--Alle Ecus--")) {
tablemodel.clearAll();
tablemodel.fireTableDataChanged();
}
} else if (e.getActionCommand().equalsIgnoreCase("fehlercb")) {
String selectedInfehlercb = fehlercb.getSelectedItem().toString();
String selectedInecucb = ecucb.getSelectedItem().toString();
if (selectedInfehlercb != null && selectedInecucb != null
&& !selectedInfehlercb.equalsIgnoreCase("--Alle Fehler--")
&& !selectedInecucb.equalsIgnoreCase("--Alle Ecus--")) {
nextEmptyRow = tablemodel.getRowCount();
tablemodel.addValue(selectedInfehlercb, 0f);
}
}
}
public JPanel getHauptPanel() {
return hauptPanel;
}
}
//---------------------------------