Hey,
Das ganze Projekt geht über Graphen (Knoten,Kanten, Tiefensuche) usw.. Ich habe auch schon Klassen erstellt, die einen Graphen repräsentieren usw.
Eine Frage zur GUI:
Die GUI passt von der Oberfläche her. Nur bei "Graph laden", lese ich einen Graphen im XML-Format ein, und speichere daraus Knoten, Kanten.
Und nun will ich in meiner Oberfläche die Knoten hinzufügen und die Kanten, sowie die Verbindungen dazwischen, hinzufügen, indem ich aus dem Graphen, die Knoten und Kanten auslese..
Also erstmal:
Wie kann ich auf meinem JEditorPane(), oder ähnlichem. X Knoten erzeugen ? :autsch:
Hier der Java - Code
Ich hoffe mein Anliegen ist klar ???:L
Vielen Dank für die Hilfe :toll:
Das ganze Projekt geht über Graphen (Knoten,Kanten, Tiefensuche) usw.. Ich habe auch schon Klassen erstellt, die einen Graphen repräsentieren usw.
Eine Frage zur GUI:
Die GUI passt von der Oberfläche her. Nur bei "Graph laden", lese ich einen Graphen im XML-Format ein, und speichere daraus Knoten, Kanten.
Und nun will ich in meiner Oberfläche die Knoten hinzufügen und die Kanten, sowie die Verbindungen dazwischen, hinzufügen, indem ich aus dem Graphen, die Knoten und Kanten auslese..
Also erstmal:
Wie kann ich auf meinem JEditorPane(), oder ähnlichem. X Knoten erzeugen ? :autsch:
Hier der Java - Code
Java:
public class DiGraphView extends JFrame {
private JTextField txtSuchalgorithmus;
private JTextField txtStart;
private JTextField txtZiel;
private JComboBox comboBox;
private JComboBox comboBox_1;
private JComboBox comboBox_2;
private JSlider slider;
private JEditorPane editorPane;
private JButton btnGraphLaden;
private JButton btnNewButton;
DiGraph graphen;
public DiGraphView() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("DiGraph-GUI-View");
getContentPane().setLayout(null);
setBounds(300, 300, 1050, 600);
btnGraphLaden = new JButton("Graph laden");
btnGraphLaden.setBounds(35, 269, 174, 25);
getContentPane().add(btnGraphLaden);
btnGraphLaden.addActionListener(new FileOpenListener());
btnNewButton = new JButton("suchen");
btnNewButton.setBounds(35, 320, 174, 25);
getContentPane().add(btnNewButton);
txtSuchalgorithmus = new JTextField();
txtSuchalgorithmus.setText("Suchalgorithmus");
txtSuchalgorithmus.setBounds(44, 71, 114, 19);
getContentPane().add(txtSuchalgorithmus);
txtSuchalgorithmus.setColumns(10);
txtStart = new JTextField();
txtStart.setText("Start");
txtStart.setBounds(44, 136, 114, 19);
getContentPane().add(txtStart);
txtStart.setColumns(10);
txtZiel = new JTextField();
txtZiel.setText("Ziel");
txtZiel.setBounds(44, 193, 114, 25);
getContentPane().add(txtZiel);
txtZiel.setColumns(10);
comboBox = new JComboBox();
comboBox.setModel(new DefaultComboBoxModel(new String[] { "A-Stern",
"Breitensuche", "Tiefensuche", "Dijsktra" }));
comboBox.setBounds(202, 68, 86, 24);
getContentPane().add(comboBox);
comboBox_1 = new JComboBox();
comboBox_1.setBounds(188, 133, 86, 24);
getContentPane().add(comboBox_1);
comboBox_2 = new JComboBox();
comboBox_2.setBounds(202, 193, 86, 24);
getContentPane().add(comboBox_2);
slider = new JSlider();
slider.setBounds(35, 241, 200, 16);
getContentPane().add(slider);
editorPane = new JEditorPane();
editorPane.setBounds(390, 133, 570, 414);
getContentPane().add(editorPane);
}
class FileOpenListener extends JPanel implements ActionListener {
@Override
public void actionPerformed(ActionEvent arg0) {
// JFileChooser-Objekt erstellen
JFileChooser chooser = new JFileChooser();
// Dialog zum Speichern von Dateien anzeigen
chooser.showDialog(null, "Datei öffnen");
File graph = chooser.getSelectedFile();
InputStream inStream = null;
try {
inStream = new java.io.FileInputStream(graph);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
XYGXLSupport support = new XYGXLSupport();
try {
graphen = support.read(inStream);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Ich hoffe mein Anliegen ist klar ???:L
Vielen Dank für die Hilfe :toll:
Zuletzt bearbeitet: