Knoten, Kanten erzeugen

bd3m

Mitglied
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
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:

njans

Top Contributor
JEditorPane() ist ein Test-Feld mit ein paar netten Eigenschaften.
Deine Frage wundert mich, denn deine anfängliche Beschreibung klingt eher danach, dass du den Graphen zeichnen willst.

Es wäre sinnvoll wenn du klarstellen würdest, wie die Darstellung erfolgen soll.
 

bd3m

Mitglied
Ja ich will den Graphen u.a. zeichnen.

Also die GUI sollte zum Schluss, einen Graphen einlesen können, diesen dann zeichnen können und auf diesen Graphen verschiedene Suchalgorithmen durchlaufen lassen können.

Graphen zeichen, war ja erstmal der 1. Schritt. Die Knoten als Kreise/Rechtecke mir egal, und die Kanten halt als Pfeile, da in den Kanten auch die Vorgänger und Nachgängerknoten gespiechert sind.

Wenn das dann mal klappt, muss ich irgendwie die Suchalorithmen (die ich fertig habe) damit verbinden, dass man einen Startknoten und Endknoten auswählen kann und anschließend den Suchalgo.

Aber bevor ich mich da ran wage, muss ich erstmal den Graphen zeichnen können oder.. Es muss auch kein JEditorPane() sein. Ich will einfach auf meiner besthenden GUI den Graphen hinzufügen. :)
 
Zuletzt bearbeitet:

njans

Top Contributor
Als ersten Schritt musst du den nicht zeichnen, sondern ein Model erstellen, dass den Graphen repräsentiert. Sprich eine Klasse bauen, die einen Graph mit all seinen Kanten darstellen kann, so dass du deine Suchalgorithmen darauf laufen lassen kannst.

Wenn du das hast kannst du einfach eine Klasse von JPanel erben lassen, dann dem Konstruktor ein solches Graphen Model übergeben und dann in der paintComponent Methode des JPanels den Graphen zeichnen.
 

bd3m

Mitglied
Hallo,

ich habe bereits eine Klasse, die meine Graphen repräsentieren kann.
Diese Klasse gibt mir die Knoten aus, auch die x und y Koordinaten von dem jeweiligen Knoten.
Sowie die Kanten, die mit dem Knoten verbunden sind..


Frage anders:
1)Wie erstelle ich ein Koordinatensystem
2) Wie lasse ich Swing automatisch meine Punkte (Knoten)malen, ich habe die x und y Koordinate.
3) wie kann ich die Kanten zwischen den Knoten einfügen. Die INformation, welcher Knoten mir welchem verbunden ist habe ich auch .

Bitte helft mir, ich steh seit Tagen auf dem Schlauch :(
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Anzeige ID und Markierung für Knoten in Eclipse & Swing AWT, Swing, JavaFX & SWT 4
richis-fragen JTree +/- verschwidet wenn Knoten keine Kinder hat... AWT, Swing, JavaFX & SWT 6
X JavaFX Tooltips für XYChart-Knoten werden nicht angezeigt! AWT, Swing, JavaFX & SWT 3
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
T JTree, Knoten mehrmals verwenden AWT, Swing, JavaFX & SWT 5
D AWT Knoten für Graphen kreisförmig anordnen AWT, Swing, JavaFX & SWT 5
D Erste Knoten des JTrees bei Start offen AWT, Swing, JavaFX & SWT 8
T TreeViewer knoten manuell umsortieren AWT, Swing, JavaFX & SWT 4
J Knotenselect von bestimmten Knoten im Tree AWT, Swing, JavaFX & SWT 2
M JTree mit eigenen Knoten - Zugriff auf Daten AWT, Swing, JavaFX & SWT 6
C Knoten anzeigenb eim DnD in einem JTree AWT, Swing, JavaFX & SWT 4
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
Z Jtree Knoten ändern AWT, Swing, JavaFX & SWT 5
S JTree - Knoten mit animiertem GIF/Icon AWT, Swing, JavaFX & SWT 5
algorismi Knoten im JTree deaktivieren AWT, Swing, JavaFX & SWT 4
B JTree - pro Knoten kann nur ein Blatt eingefügt werden AWT, Swing, JavaFX & SWT 5
G JTree Knoten ein / ausblenden AWT, Swing, JavaFX & SWT 3
P JTree Knoten schliessen AWT, Swing, JavaFX & SWT 16
P Eindeutiger Knoten im Treeview AWT, Swing, JavaFX & SWT 3
S JTree rendern der Knoten [+] und [-], nicht der Node Icons AWT, Swing, JavaFX & SWT 2
G JTree: mehrere Knoten selektieren! AWT, Swing, JavaFX & SWT 2
S JTree, Knoten anhand eines Pfades öffnen? AWT, Swing, JavaFX & SWT 2
masta // thomas JTree - Knoten ausblenden. AWT, Swing, JavaFX & SWT 3
S Blätter oder Knoten im JTree ordnen AWT, Swing, JavaFX & SWT 3
D JTree - Knoten einfügen und automatisch in den Editiermodus AWT, Swing, JavaFX & SWT 2
G JTree -- Node nach ändern in anderen Knoten AWT, Swing, JavaFX & SWT 15
L nur den JTree Knoten auf der Console ausgeben? AWT, Swing, JavaFX & SWT 6
W JTree, bei Drag Over über den Knoten "markieren" AWT, Swing, JavaFX & SWT 3
S JTree hinzugefügte Knoten anzeigen AWT, Swing, JavaFX & SWT 9
K Frage zu einem älteren Beitrag: JTree letzter Knoten auswähl AWT, Swing, JavaFX & SWT 2
G Knoten im Jtree mit unterscheidlichen Farben darstellen AWT, Swing, JavaFX & SWT 5
S Knoten im JTree hinzufügen/löschen mit eigenem Jtree AWT, Swing, JavaFX & SWT 8
R JTree: TreeCellRenderer und Selektion eines Knoten AWT, Swing, JavaFX & SWT 10
G JTree - einzelnen Knoten löschen AWT, Swing, JavaFX & SWT 11
M Freiraum zwischen Knoten im JTree AWT, Swing, JavaFX & SWT 14
B Sichtbare Knoten im aktuellen Viewport eines JTree AWT, Swing, JavaFX & SWT 4
P JTree Knoten Öffnen - PER Programm AWT, Swing, JavaFX & SWT 5
D Knoten in JTree ausblenden. AWT, Swing, JavaFX & SWT 12
M JTree - Wie kann man einen einzelnen Knoten deselektieren? AWT, Swing, JavaFX & SWT 3
F Tree-Knoten programmgesteuert auswählen AWT, Swing, JavaFX & SWT 3
T Knoten in Jtree anders darstellen AWT, Swing, JavaFX & SWT 2
P JTree: Alle Knoten geöffnet anzeigen AWT, Swing, JavaFX & SWT 2
M Einen Knoten im JTree zusammenklappen? AWT, Swing, JavaFX & SWT 6
M JTree: Wie einen Knoten editieren? AWT, Swing, JavaFX & SWT 5
X JTree: Selektion nach dem Entfernen von Knoten AWT, Swing, JavaFX & SWT 2
W JTree Knoten oder Blatt AWT, Swing, JavaFX & SWT 3
W JTree löschen & überprüfen von Knoten oder Blatt AWT, Swing, JavaFX & SWT 3
W JTree Knoten irgendwo hinzufügen AWT, Swing, JavaFX & SWT 2
C java3D - sichtbare Kanten eines Shape3D AWT, Swing, JavaFX & SWT 2
P Prefuse: Beispiel mit beschrifteten Kanten gesucht? AWT, Swing, JavaFX & SWT 9
L Menüs mit Rundungen und Kanten in einem Strategiespiel AWT, Swing, JavaFX & SWT 3
I TIFF im CMYK-Farbmodell + mit dpi-Auflösung im Header erzeugen - wie? AWT, Swing, JavaFX & SWT 0
Monokuma Blöcke erzeugen (JavaFX) AWT, Swing, JavaFX & SWT 1
B Java FX In control.TreeCell-Implementierung Binding erzeugen AWT, Swing, JavaFX & SWT 0
Q-bert Dynamische Komponente erzeugen AWT, Swing, JavaFX & SWT 6
I Schöne Heatmap erzeugen AWT, Swing, JavaFX & SWT 10
K Color-Objekt erzeugen in CMYK AWT, Swing, JavaFX & SWT 2
MaxG. Swing Dynamisch grafische Objekte erzeugen AWT, Swing, JavaFX & SWT 12
kilopack15 JLabels im Array erzeugen AWT, Swing, JavaFX & SWT 2
J JavaFX Buttons mit Array erzeugen AWT, Swing, JavaFX & SWT 1
B JavaFX Wie Treeview aus xml erzeugen AWT, Swing, JavaFX & SWT 11
S AWT JTextFields durch Array im JMenu erzeugen? AWT, Swing, JavaFX & SWT 19
M In JFreeChart Geraden erzeugen AWT, Swing, JavaFX & SWT 11
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
GreyFox JLabel in laufender Anwendung erzeugen AWT, Swing, JavaFX & SWT 6
K JavaFX Erzeugen dynamischer Layouts in fxml AWT, Swing, JavaFX & SWT 3
A Swing Zwei Klassen mit Textfeld Eingaben vergleichen und Ausgabe erzeugen AWT, Swing, JavaFX & SWT 10
H Quadrate dnamisch erzeugen und beliebig füllen AWT, Swing, JavaFX & SWT 7
P TableViewerColumn dynamisch erzeugen AWT, Swing, JavaFX & SWT 3
H Swing Button Klick soll "Untermenü-Buttons" erzeugen AWT, Swing, JavaFX & SWT 2
B Kontrast in einem Bild erzeugen AWT, Swing, JavaFX & SWT 37
J Halb-modales Fenster erzeugen AWT, Swing, JavaFX & SWT 5
A Panels in JavaFX zur Laufzeit erzeugen AWT, Swing, JavaFX & SWT 5
C SWT - widget dynamisch erzeugen und anzeigen AWT, Swing, JavaFX & SWT 10
M jTable - Größe beim Erzeugen AWT, Swing, JavaFX & SWT 4
B eine .jar erzeugen AWT, Swing, JavaFX & SWT 4
K Swing: Panel in Panel erzeugen AWT, Swing, JavaFX & SWT 11
S Bild fläche erzeugen AWT, Swing, JavaFX & SWT 10
G Große dynamische ContextMenus erzeugen (Eclipse RCP) AWT, Swing, JavaFX & SWT 4
A JTree aus Pfaden erzeugen AWT, Swing, JavaFX & SWT 3
T Leerraum im Jframe erzeugen AWT, Swing, JavaFX & SWT 3
E Profilsichten speichern und dynamsich erzeugen?! AWT, Swing, JavaFX & SWT 2
G Mit Java einen Button wie z.B. im Opera 10.63 erzeugen AWT, Swing, JavaFX & SWT 3
R Möglichkeiten ein abgeleitetes Objekt zu erzeugen AWT, Swing, JavaFX & SWT 4
A Swing Dynamisch Objekte erzeugen AWT, Swing, JavaFX & SWT 3
M Jframe wie bekommt man bei den zeile einen header erzeugen AWT, Swing, JavaFX & SWT 2
X Swing Neues Fenster erzeugen AWT, Swing, JavaFX & SWT 3
E AWT RenderedImage aus BufferedImage erzeugen, um Bild abzuspeichern? AWT, Swing, JavaFX & SWT 4
D Erzeugen eines leeren Graphics-Objektes AWT, Swing, JavaFX & SWT 7
M Swing Zweidimensionales Array mit Farben erzeugen AWT, Swing, JavaFX & SWT 16
H Swing Trennlinie wie bei Menüleiste erzeugen AWT, Swing, JavaFX & SWT 2
Semox Swing JFrame extern erzeugen und in anderes JFrame einbetten AWT, Swing, JavaFX & SWT 7
D Dynamischen JTree aus Hyperlinks bzw. Anker erzeugen AWT, Swing, JavaFX & SWT 8
G ActionEvents selbst erzeugen AWT, Swing, JavaFX & SWT 7
R JLabel und JSlider dynamisch erzeugen? AWT, Swing, JavaFX & SWT 3
O Button (ActionPerformed) soll neues JFrame erzeugen AWT, Swing, JavaFX & SWT 8
I Swing JTree aus ArrayList<File> erzeugen AWT, Swing, JavaFX & SWT 15
data89 Code-completion-window erzeugen - wie? AWT, Swing, JavaFX & SWT 2
J Swing Selbstschliessende Nachrichtenfenster erzeugen AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen


Oben