Reset main
Revert "Für Christian" This reverts commit213638ad16
. Revert "Visualisation progress" This reverts commit12dbadf5e1
. Revert "OurApplication test"This reverts commit6b0caa1a5e
. Revert "Visualisation tests" This reverts commitcf63dddf51
.
This commit is contained in:
parent
213638ad16
commit
0904358705
4
.idea/ProjektGraph.iml
generated
4
.idea/ProjektGraph.iml
generated
@ -2,9 +2,7 @@
|
|||||||
<module type="JAVA_MODULE" version="4">
|
<module type="JAVA_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
|
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="21" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager">
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
87
.idea/workspace.xml
generated
87
.idea/workspace.xml
generated
@ -1,75 +1,31 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="AutoImportSettings">
|
|
||||||
<option name="autoReloadType" value="SELECTIVE" />
|
|
||||||
</component>
|
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="70f8ea87-9ffc-471a-8059-ebbfc323adcc" name="Changes" comment="OurApplication test">
|
<list default="true" id="70f8ea87-9ffc-471a-8059-ebbfc323adcc" name="Changes" comment="" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/OurApplication/OurAlgorithm.java" beforeDir="false" afterPath="$PROJECT_DIR$/OurApplication/OurAlgorithm.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/OurApplication/OurDrawArea.java" beforeDir="false" afterPath="$PROJECT_DIR$/OurApplication/OurDrawArea.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/graph/DirectedGraph.java" beforeDir="false" afterPath="$PROJECT_DIR$/graph/DirectedGraph.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/graph/Graph.java" beforeDir="false" afterPath="$PROJECT_DIR$/graph/Graph.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/graph/MarkedVertex.java" beforeDir="false" afterPath="$PROJECT_DIR$/graph/MarkedVertex.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/graph/Vertex.java" beforeDir="false" afterPath="$PROJECT_DIR$/graph/Vertex.java" afterDir="false" />
|
|
||||||
</list>
|
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="FileTemplateManagerImpl">
|
|
||||||
<option name="RECENT_TEMPLATES">
|
|
||||||
<list>
|
|
||||||
<option value="HTML File" />
|
|
||||||
<option value="Class" />
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="Git.Merge.Settings">
|
|
||||||
<option name="BRANCH" value="VisualisationTests" />
|
|
||||||
</component>
|
|
||||||
<component name="Git.Settings">
|
<component name="Git.Settings">
|
||||||
<option name="RECENT_BRANCH_BY_REPOSITORY">
|
|
||||||
<map>
|
|
||||||
<entry key="$PROJECT_DIR$" value="main" />
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectColorInfo">{
|
<component name="ProjectColorInfo"><![CDATA[{
|
||||||
"associatedIndex": 2
|
"associatedIndex": 2
|
||||||
}</component>
|
}]]></component>
|
||||||
<component name="ProjectId" id="2hxt4apXjGaBR1xypJAsjIrgc8R" />
|
<component name="ProjectId" id="2hxt4apXjGaBR1xypJAsjIrgc8R" />
|
||||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
|
||||||
<component name="ProjectViewState">
|
<component name="ProjectViewState">
|
||||||
<option name="hideEmptyMiddlePackages" value="true" />
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
<option name="showLibraryContents" value="true" />
|
<option name="showLibraryContents" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent"><![CDATA[{
|
<component name="PropertiesComponent"><![CDATA[{
|
||||||
"keyToString": {
|
"keyToString": {
|
||||||
"Application.OurApplication.executor": "Run",
|
|
||||||
"DefaultHtmlFileTemplate": "HTML File",
|
|
||||||
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
|
||||||
"git-widget-placeholder": "main",
|
"git-widget-placeholder": "main",
|
||||||
"kotlin-language-version-configured": "true",
|
"kotlin-language-version-configured": "true",
|
||||||
"last_opened_file_path": "C:/Users/jonas/DHBW Dateien/Semester 2/Programmieren 2/Projekt/ProjektGraph/OurApplication",
|
"last_opened_file_path": "C:/Git/ProjektGraph"
|
||||||
"settings.editor.selected.configurable": "vcs.Git"
|
|
||||||
}
|
}
|
||||||
}]]></component>
|
}]]></component>
|
||||||
<component name="RecentsManager">
|
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
|
||||||
<recent name="C:\Users\jonas\DHBW Dateien\Semester 2\Programmieren 2\Projekt\ProjektGraph\OurApplication" />
|
|
||||||
</key>
|
|
||||||
<key name="MoveFile.RECENT_KEYS">
|
|
||||||
<recent name="C:\Users\jonas\DHBW Dateien\Semester 2\Programmieren 2\Projekt\ProjektGraph\visualizationElements" />
|
|
||||||
<recent name="C:\Users\jonas\DHBW Dateien\Semester 2\Programmieren 2\Projekt\ProjektGraph\testApplication" />
|
|
||||||
<recent name="C:\Users\jonas\DHBW Dateien\Semester 2\Programmieren 2\Projekt\ProjektGraph\logging" />
|
|
||||||
<recent name="C:\Users\jonas\DHBW Dateien\Semester 2\Programmieren 2\Projekt\ProjektGraph\visualisation" />
|
|
||||||
</key>
|
|
||||||
</component>
|
|
||||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||||
<component name="TaskManager">
|
<component name="TaskManager">
|
||||||
<task active="true" id="Default" summary="Default task">
|
<task active="true" id="Default" summary="Default task">
|
||||||
@ -79,39 +35,6 @@
|
|||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1718547365327</updated>
|
<updated>1718547365327</updated>
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00001" summary="Visualisation tests">
|
|
||||||
<option name="closed" value="true" />
|
|
||||||
<created>1719479266810</created>
|
|
||||||
<option name="number" value="00001" />
|
|
||||||
<option name="presentableId" value="LOCAL-00001" />
|
|
||||||
<option name="project" value="LOCAL" />
|
|
||||||
<updated>1719479266810</updated>
|
|
||||||
</task>
|
|
||||||
<task id="LOCAL-00002" summary="OurApplication test">
|
|
||||||
<option name="closed" value="true" />
|
|
||||||
<created>1719493522512</created>
|
|
||||||
<option name="number" value="00002" />
|
|
||||||
<option name="presentableId" value="LOCAL-00002" />
|
|
||||||
<option name="project" value="LOCAL" />
|
|
||||||
<updated>1719493522512</updated>
|
|
||||||
</task>
|
|
||||||
<option name="localTasksCounter" value="3" />
|
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="Vcs.Log.Tabs.Properties">
|
|
||||||
<option name="TAB_STATES">
|
|
||||||
<map>
|
|
||||||
<entry key="MAIN">
|
|
||||||
<value>
|
|
||||||
<State />
|
|
||||||
</value>
|
|
||||||
</entry>
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="VcsManagerConfiguration">
|
|
||||||
<MESSAGE value="Visualisation tests" />
|
|
||||||
<MESSAGE value="OurApplication test" />
|
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="OurApplication test" />
|
|
||||||
</component>
|
|
||||||
</project>
|
</project>
|
31
Main.java
31
Main.java
@ -1,31 +0,0 @@
|
|||||||
import OurApplication.*;
|
|
||||||
import graph.EdgeMarking;
|
|
||||||
import graph.MarkedEdge;
|
|
||||||
import graph.MarkedVertex;
|
|
||||||
import graph.VertexMarking;
|
|
||||||
import visualisation.*;
|
|
||||||
import logging.*;
|
|
||||||
import visualisation.TextArea;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
public class Main {
|
|
||||||
public static void main(String[] args){
|
|
||||||
JFrame t = new JFrame("Hallo");
|
|
||||||
JPanel contentPane = new JPanel(new GridLayout());
|
|
||||||
t.setSize(900, 900);
|
|
||||||
t.setContentPane(contentPane);
|
|
||||||
LogElementList<OurLogElement>logList=new LogElementList<OurLogElement>();
|
|
||||||
OurParameterArea parameterArea=new OurParameterArea();
|
|
||||||
OurDrawArea drawArea=new OurDrawArea(logList,"visualizationTest");
|
|
||||||
OurTextArea textArea=new OurTextArea(logList);
|
|
||||||
OurAlgorithm algorithm=new OurAlgorithm(parameterArea);
|
|
||||||
OurLegendArea legendArea=new OurLegendArea();
|
|
||||||
HybridWindow<OurDrawArea, OurTextArea, OurParameterArea, OurAlgorithm, OurLogElement, OurLegendArea> test = new HybridWindow<OurDrawArea, OurTextArea, OurParameterArea, OurAlgorithm, OurLogElement, OurLegendArea>(drawArea,textArea,parameterArea,algorithm,logList,legendArea);
|
|
||||||
test.init();
|
|
||||||
|
|
||||||
contentPane.add(test);
|
|
||||||
t.setVisible(true);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +1,6 @@
|
|||||||
package logging;
|
package logging;
|
||||||
|
|
||||||
import visualisation.HybridWindow;
|
import visualization.ParameterArea;
|
||||||
import visualisation.ParameterArea;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class provides the basic algorithm.
|
* This class provides the basic algorithm.
|
||||||
@ -11,9 +10,9 @@ import visualisation.ParameterArea;
|
|||||||
* Parameters for algorithm processing are read from member parameterArea that ist part of the user interface.
|
* Parameters for algorithm processing are read from member parameterArea that ist part of the user interface.
|
||||||
* @see logging.LogElement
|
* @see logging.LogElement
|
||||||
* @see logging.LogElementList
|
* @see logging.LogElementList
|
||||||
* @see HybridWindow
|
* @see visualization.HybridWindow
|
||||||
* @see ParameterArea
|
* @see visualization.ParameterArea
|
||||||
* @author Bj<EFBFBD>rn Strobel<br><small>
|
* @author Björn Strobel<br><small>
|
||||||
* University of Cooperative Education Stuttgart,
|
* University of Cooperative Education Stuttgart,
|
||||||
* Campus Horb<br>
|
* Campus Horb<br>
|
||||||
* Department of Information Technology<br>
|
* Department of Information Technology<br>
|
@ -1,10 +1,5 @@
|
|||||||
package logging;
|
package logging;
|
||||||
|
|
||||||
import graph.DirectedGraph;
|
|
||||||
import graph.EdgeMarking;
|
|
||||||
import graph.VertexMarking;
|
|
||||||
import visualisation.HybridWindow;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class provides the basic log list element.
|
* This class provides the basic log list element.
|
||||||
* Use it in assoziation with packages logging and visualization.
|
* Use it in assoziation with packages logging and visualization.
|
||||||
@ -12,8 +7,8 @@ import visualisation.HybridWindow;
|
|||||||
* Extend it by the members you need.
|
* Extend it by the members you need.
|
||||||
* @see logging.Algorithm
|
* @see logging.Algorithm
|
||||||
* @see logging.LogElementList
|
* @see logging.LogElementList
|
||||||
* @see HybridWindow
|
* @see visualization.HybridWindow
|
||||||
* @author Bj<EFBFBD>rn Strobel<br><small>
|
* @author Björn Strobel<br><small>
|
||||||
* University of Cooperative Education Stuttgart,
|
* University of Cooperative Education Stuttgart,
|
||||||
* Campus Horb<br>
|
* Campus Horb<br>
|
||||||
* Department of Information Technology<br>
|
* Department of Information Technology<br>
|
@ -1,7 +1,5 @@
|
|||||||
package logging;
|
package logging;
|
||||||
|
|
||||||
import visualisation.HybridWindow;
|
|
||||||
|
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -10,9 +8,9 @@ import java.util.Vector;
|
|||||||
* In general you will not have to extend this class so it is final.
|
* In general you will not have to extend this class so it is final.
|
||||||
* @see logging.Algorithm
|
* @see logging.Algorithm
|
||||||
* @see logging.LogElement
|
* @see logging.LogElement
|
||||||
* @see HybridWindow
|
* @see visualization.HybridWindow
|
||||||
* @see java.util.Vector
|
* @see java.util.Vector
|
||||||
* @author Bj<EFBFBD>rn Strobel<br><small>
|
* @author Björn Strobel<br><small>
|
||||||
* University of Cooperative Education Stuttgart,
|
* University of Cooperative Education Stuttgart,
|
||||||
* Campus Horb<br>
|
* Campus Horb<br>
|
||||||
* Department of Information Technology<br>
|
* Department of Information Technology<br>
|
@ -3,7 +3,7 @@ package testApplication;
|
|||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import logging.LogElementList;
|
import logging.LogElementList;
|
||||||
|
|
||||||
import visualisation.HybridWindow;
|
import visualization.HybridWindow;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This application provides an example for using logging and visualization packages.
|
* This application provides an example for using logging and visualization packages.
|
||||||
@ -17,7 +17,7 @@ import visualisation.HybridWindow;
|
|||||||
* @see testApplication.TestTextArea
|
* @see testApplication.TestTextArea
|
||||||
* @see testApplication.TestLegendArea
|
* @see testApplication.TestLegendArea
|
||||||
* @see javax.swing.JPanel
|
* @see javax.swing.JPanel
|
||||||
* @author MSch<EFBFBD>fer
|
* @author MSchäfer
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
* DHBW Stuttgart/Campus Horb AI2008<br>
|
||||||
* <br>
|
* <br>
|
||||||
*/
|
*/
|
@ -4,7 +4,7 @@ import java.awt.Color;
|
|||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
import visualisation.DrawArea;
|
import visualization.DrawArea;
|
||||||
import visualizationElements.BarChart;
|
import visualizationElements.BarChart;
|
||||||
import visualizationElements.BarChartElement;
|
import visualizationElements.BarChartElement;
|
||||||
import visualizationElements.ChessBoard;
|
import visualizationElements.ChessBoard;
|
||||||
@ -25,7 +25,7 @@ import logging.LogElementList;
|
|||||||
/**
|
/**
|
||||||
* This class provides an example for using visualization.DrawArea.
|
* This class provides an example for using visualization.DrawArea.
|
||||||
* @see logging.Algorithm
|
* @see logging.Algorithm
|
||||||
@author MSch<EFBFBD>fer
|
@author MSchäfer
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
* DHBW Stuttgart/Campus Horb AI2008<br>
|
||||||
* <br>
|
* <br>
|
||||||
*/
|
*/
|
@ -1,15 +1,15 @@
|
|||||||
package testApplication;
|
package testApplication;
|
||||||
|
|
||||||
import logging.LogElementList;
|
import logging.LogElementList;
|
||||||
import visualisation.HybridWindow;
|
import visualization.HybridWindow;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class provides an example for using visualization.HybridWindow.
|
* This class provides an example for using visualization.HybridWindow.
|
||||||
* Overwriting the constructor is necessary to run as an applet.
|
* Overwriting the constructor is necessary to run as an applet.
|
||||||
* For running as an application overwriting the constructor is not necessary
|
* For running as an application overwriting the constructor is not necessary
|
||||||
* @see HybridWindow
|
* @see visualization.HybridWindow
|
||||||
* @see testApplication.TestApplication
|
* @see testApplication.TestApplication
|
||||||
* @author MSch<EFBFBD>fer
|
* @author MSchäfer
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
* DHBW Stuttgart/Campus Horb AI2008<br>
|
||||||
* <br>
|
* <br>
|
||||||
*/
|
*/
|
@ -3,12 +3,12 @@ package testApplication;
|
|||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import visualisation.LegendArea;
|
import visualization.LegendArea;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class represents a visualization.LegendArea implementation and has been created for demonstration purposes only.
|
* This class represents a visualization.LegendArea implementation and has been created for demonstration purposes only.
|
||||||
* Method initialize(Graphics) is overridden and now implements logic for drawing parameters on the legend area.
|
* Method initialize(Graphics) is overridden and now implements logic for drawing parameters on the legend area.
|
||||||
* @author MSch<EFBFBD>fer
|
* @author MSchäfer
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
* DHBW Stuttgart/Campus Horb AI2008<br>
|
||||||
* <br>
|
* <br>
|
||||||
*/
|
*/
|
@ -2,12 +2,12 @@ package testApplication;
|
|||||||
|
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import visualisation.ParameterArea;
|
import visualization.ParameterArea;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class provides an example for using visualization.ParameterArea.
|
* This class provides an example for using visualization.ParameterArea.
|
||||||
* @see ParameterArea
|
* @see visualization.ParameterArea
|
||||||
* @author MSch<EFBFBD>fer
|
* @author MSchäfer
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
* DHBW Stuttgart/Campus Horb AI2008<br>
|
||||||
* <br>
|
* <br>
|
||||||
*/
|
*/
|
@ -1,13 +1,13 @@
|
|||||||
package testApplication;
|
package testApplication;
|
||||||
|
|
||||||
import logging.LogElementList;
|
import logging.LogElementList;
|
||||||
import visualisation.TextArea;
|
import visualization.TextArea;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class provides an example for using visualization.TextArea.
|
* This class provides an example for using visualization.TextArea.
|
||||||
* Constructors and print() method have been overwritten.
|
* Constructors and print() method have been overwritten.
|
||||||
* @see TextArea
|
* @see visualization.TextArea
|
||||||
* @author MSch<EFBFBD>fer
|
* @author MSchäfer
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
* DHBW Stuttgart/Campus Horb AI2008<br>
|
||||||
* <br>
|
* <br>
|
||||||
*/
|
*/
|
@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package visualisation;
|
package visualization;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
@ -19,9 +19,9 @@ import logging.LogElementList;
|
|||||||
* Parameters for algorithm processing are read from member parameterArea that ist part of the user interface.
|
* Parameters for algorithm processing are read from member parameterArea that ist part of the user interface.
|
||||||
* @see logging.LogElement
|
* @see logging.LogElement
|
||||||
* @see logging.LogElementList
|
* @see logging.LogElementList
|
||||||
* @see HybridWindow
|
* @see visualization.HybridWindow
|
||||||
* @see javax.swing.JPanel
|
* @see javax.swing.JPanel
|
||||||
* @author Bj<EFBFBD>rn Strobel<br><small>
|
* @author Björn Strobel<br><small>
|
||||||
* University of Cooperative Education Stuttgart,
|
* University of Cooperative Education Stuttgart,
|
||||||
* Campus Horb<br>
|
* Campus Horb<br>
|
||||||
* Department of Information Technology<br>
|
* Department of Information Technology<br>
|
@ -1,4 +1,4 @@
|
|||||||
package visualisation;
|
package visualization;
|
||||||
|
|
||||||
import java.lang.Math;
|
import java.lang.Math;
|
||||||
|
|
||||||
@ -12,6 +12,7 @@ import java.awt.event.ItemEvent;
|
|||||||
import java.awt.event.ItemListener;
|
import java.awt.event.ItemListener;
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
|
import javax.swing.BoxLayout;
|
||||||
import javax.swing.ButtonGroup;
|
import javax.swing.ButtonGroup;
|
||||||
import javax.swing.Icon;
|
import javax.swing.Icon;
|
||||||
import javax.swing.JApplet;
|
import javax.swing.JApplet;
|
||||||
@ -41,12 +42,12 @@ import logging.LogElementList;
|
|||||||
* @see logging.Algorithm
|
* @see logging.Algorithm
|
||||||
* @see logging.LogElement
|
* @see logging.LogElement
|
||||||
* @see logging.LogElementList
|
* @see logging.LogElementList
|
||||||
* @see DrawArea
|
* @see visualization.DrawArea
|
||||||
* @see ParameterArea
|
* @see visualization.ParameterArea
|
||||||
* @see TextArea
|
* @see visualization.TextArea
|
||||||
* @see LegendArea
|
* @see visualization.LegendArea
|
||||||
* @see javax.swing.JApplet
|
* @see javax.swing.JApplet
|
||||||
* @author Bj<EFBFBD>rn Strobel<br><small>
|
* @author Björn Strobel<br><small>
|
||||||
* University of Cooperative Education Stuttgart,
|
* University of Cooperative Education Stuttgart,
|
||||||
* Campus Horb<br>
|
* Campus Horb<br>
|
||||||
* Department of Information Technology<br>
|
* Department of Information Technology<br>
|
@ -1,4 +1,4 @@
|
|||||||
package visualisation;
|
package visualization;
|
||||||
|
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
|
|
||||||
@ -9,7 +9,7 @@ import javax.swing.JScrollPane;
|
|||||||
* This class enables the user to add a legend area for describing the elements and symbols of an algorithm's visualization.
|
* This class enables the user to add a legend area for describing the elements and symbols of an algorithm's visualization.
|
||||||
* Override method initialize(Graphics) for drawing your legend area's graphical output.
|
* Override method initialize(Graphics) for drawing your legend area's graphical output.
|
||||||
* @see javax.swing.JPanel
|
* @see javax.swing.JPanel
|
||||||
* @see HybridWindow
|
* @see visualization.HybridWindow
|
||||||
* @author Fabian Hamm
|
* @author Fabian Hamm
|
||||||
* DHBW Stuttgart Campus Horb
|
* DHBW Stuttgart Campus Horb
|
||||||
*/
|
*/
|
@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package visualisation;
|
package visualization;
|
||||||
|
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
@ -10,9 +10,9 @@ import javax.swing.JScrollPane;
|
|||||||
* This class provides the basic parameter input area for an algorithm visualization.
|
* This class provides the basic parameter input area for an algorithm visualization.
|
||||||
* Add the components and corresponding methods you need and use them in your algorithm.
|
* Add the components and corresponding methods you need and use them in your algorithm.
|
||||||
* @see logging.Algorithm
|
* @see logging.Algorithm
|
||||||
* @see HybridWindow
|
* @see visualization.HybridWindow
|
||||||
* @see javax.swing.JPanel
|
* @see javax.swing.JPanel
|
||||||
* @author Bj<EFBFBD>rn Strobel<br><small>
|
* @author Björn Strobel<br><small>
|
||||||
* University of Cooperative Education Stuttgart,
|
* University of Cooperative Education Stuttgart,
|
||||||
* Campus Horb<br>
|
* Campus Horb<br>
|
||||||
* Department of Information Technology<br>
|
* Department of Information Technology<br>
|
@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package visualisation;
|
package visualization;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
@ -20,12 +20,12 @@ import logging.LogElementList;
|
|||||||
* @see logging.Algorithm
|
* @see logging.Algorithm
|
||||||
* @see logging.LogElement
|
* @see logging.LogElement
|
||||||
* @see logging.LogElementList
|
* @see logging.LogElementList
|
||||||
* @see DrawArea
|
* @see visualization.DrawArea
|
||||||
* @see HybridWindow
|
* @see visualization.HybridWindow
|
||||||
* @see ParameterArea
|
* @see visualization.ParameterArea
|
||||||
* @see TextArea
|
* @see visualization.TextArea
|
||||||
* @see javax.swing.JTextArea
|
* @see javax.swing.JTextArea
|
||||||
* @author Bj<EFBFBD>rn Strobel<br><small>
|
* @author Björn Strobel<br><small>
|
||||||
* University of Cooperative Education Stuttgart,
|
* University of Cooperative Education Stuttgart,
|
||||||
* Campus Horb<br>
|
* Campus Horb<br>
|
||||||
* Department of Information Technology<br>
|
* Department of Information Technology<br>
|
@ -1,111 +0,0 @@
|
|||||||
package OurApplication;
|
|
||||||
|
|
||||||
import graph.*;
|
|
||||||
import logging.Algorithm;
|
|
||||||
import logging.LogElementList;
|
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.PriorityQueue;
|
|
||||||
import java.util.Random;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class provides an example for using logging.Algorithm.
|
|
||||||
* It sums up integer number starting with 0 up to the maximum value specified in the parameter area.
|
|
||||||
* @see Algorithm
|
|
||||||
* @author MSch<EFBFBD>fer
|
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
|
||||||
* <br>
|
|
||||||
*/
|
|
||||||
public class OurAlgorithm extends Algorithm{
|
|
||||||
|
|
||||||
public OurAlgorithm() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Creates a sum up algorithm.
|
|
||||||
* @param parameterArea the sum up parameter area the algorithm gets its parameters from
|
|
||||||
*/
|
|
||||||
public OurAlgorithm(OurParameterArea parameterArea){
|
|
||||||
super(parameterArea,"GraphAlgorithm");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Overwritten from super class.
|
|
||||||
* Runs the algorithm..
|
|
||||||
* Returns the LogElementList produced by the algorithm processing.
|
|
||||||
* Adds integer number starting with 0 up to the maximum value.
|
|
||||||
* @return a LogElementList containing the algorithm processing single steps
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public LogElementList run(){
|
|
||||||
LogElementList<OurLogElement>logList = new LogElementList<OurLogElement>();
|
|
||||||
|
|
||||||
/*
|
|
||||||
for(int x=1;x<=10;x++){
|
|
||||||
Random random = new Random();
|
|
||||||
DirectedGraph<VertexMarking, EdgeMarking> myGraph = new DirectedGraph<>();
|
|
||||||
for (int i = 0; i < 10; i++) {
|
|
||||||
myGraph.addVertex(new MarkedVertex<>(String.valueOf(i), null, random.nextInt(i, 350), random.nextInt(i, 350)));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (MarkedVertex<VertexMarking> i: myGraph.getAllVertexes()) {
|
|
||||||
myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10)));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (MarkedVertex<VertexMarking> i: myGraph.getAllVertexes()) {
|
|
||||||
myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10)));
|
|
||||||
}
|
|
||||||
|
|
||||||
try{
|
|
||||||
logList.add(new OurLogElement(x, "Value", x, myGraph));
|
|
||||||
}
|
|
||||||
catch(OutOfMemoryError e){
|
|
||||||
|
|
||||||
System.err.println("Out of memory");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
Random random = new Random();
|
|
||||||
DirectedGraph<VertexMarking, EdgeMarking> myGraph = new DirectedGraph<>();
|
|
||||||
for (int i = 0; i < 10; i++) {
|
|
||||||
|
|
||||||
myGraph.addVertex(new MarkedVertex<>(random.nextInt(i, 350), random.nextInt(i, 350), String.valueOf(i) + " :", Color.BLACK , null));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (MarkedVertex<VertexMarking> i: myGraph.getAllVertexes()) {
|
|
||||||
myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10)));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (MarkedVertex<VertexMarking> i: myGraph.getAllVertexes()) {
|
|
||||||
myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10)));
|
|
||||||
}
|
|
||||||
|
|
||||||
MarkedVertex<VertexMarking> start = myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size()));
|
|
||||||
MarkedVertex<VertexMarking> end = myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size()));
|
|
||||||
|
|
||||||
Vector<DirectedGraph<VertexMarking, EdgeMarking>> items = new Vector<>();
|
|
||||||
items = myGraph.DikstraVisualization(start, end);
|
|
||||||
|
|
||||||
for(DirectedGraph<VertexMarking, EdgeMarking> i : items){
|
|
||||||
logList.add(new OurLogElement(1, "Value", 1, i));
|
|
||||||
}
|
|
||||||
|
|
||||||
return logList;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Erstelle eines zufälligen Graphen
|
|
||||||
//Auf den graphen Diktra aufrufen --> liefert Vektor mit Steps
|
|
||||||
//for each über die Steps und fügen sie zur Loglist hinzu
|
|
||||||
//return die Log list
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,62 +0,0 @@
|
|||||||
package OurApplication;
|
|
||||||
|
|
||||||
import graph.*;
|
|
||||||
import logging.LogElementList;
|
|
||||||
import visualisation.HybridWindow;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This application provides an example for using logging and visualization packages.
|
|
||||||
* It uses extended classes from logging and visualization.
|
|
||||||
* @see OurAlgorithm
|
|
||||||
* @see OurApplication
|
|
||||||
* @see OurDrawArea
|
|
||||||
* @see OurHybridWindow
|
|
||||||
* @see OurLogElement
|
|
||||||
* @see OurParameterArea
|
|
||||||
* @see OurTextArea
|
|
||||||
* @see OurLegendArea
|
|
||||||
* @see javax.swing.JPanel
|
|
||||||
* @author MSch<EFBFBD>fer
|
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
|
||||||
* <br>
|
|
||||||
*/
|
|
||||||
public class OurApplication {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Standard constructor.
|
|
||||||
*/
|
|
||||||
public OurApplication() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The applications main method.
|
|
||||||
* Creates a HybridWindow with TestParameterArea, TestLegendArea ,TestDrawArea, TestTextArea and TestAlgorithm and starts it.
|
|
||||||
* @param args
|
|
||||||
*/
|
|
||||||
public static void main(String[]args){
|
|
||||||
|
|
||||||
|
|
||||||
LogElementList<OurLogElement>logList=new LogElementList<OurLogElement>();
|
|
||||||
OurParameterArea parameterArea=new OurParameterArea();
|
|
||||||
OurDrawArea drawArea=new OurDrawArea(logList,"GraphVisualization");
|
|
||||||
OurTextArea textArea=new OurTextArea(logList);
|
|
||||||
OurAlgorithm algorithm=new OurAlgorithm(parameterArea);
|
|
||||||
OurLegendArea legendArea=new OurLegendArea();
|
|
||||||
HybridWindow<OurDrawArea, OurTextArea, OurParameterArea, OurAlgorithm, OurLogElement, OurLegendArea> applet=new HybridWindow<OurDrawArea, OurTextArea, OurParameterArea, OurAlgorithm, OurLogElement, OurLegendArea>(drawArea,textArea,parameterArea,algorithm,logList,legendArea);
|
|
||||||
|
|
||||||
|
|
||||||
JFrame frame=new JFrame("Visualise");
|
|
||||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
||||||
frame.getContentPane().add(applet);
|
|
||||||
frame.pack();
|
|
||||||
applet.init();
|
|
||||||
applet.start();
|
|
||||||
frame.setSize(800,600);
|
|
||||||
frame.setVisible(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,98 +0,0 @@
|
|||||||
package OurApplication;
|
|
||||||
|
|
||||||
import graph.*;
|
|
||||||
import logging.LogElement;
|
|
||||||
import logging.LogElementList;
|
|
||||||
import visualisation.DrawArea;
|
|
||||||
import visualizationElements.Edge;
|
|
||||||
import visualizationElements.Graph;
|
|
||||||
import visualizationElements.List;
|
|
||||||
import visualizationElements.Queue;
|
|
||||||
import visualizationElements.*;
|
|
||||||
import visualizationElements.Vertex;
|
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class provides an example for using visualization.DrawArea.
|
|
||||||
* @see logging.Algorithm
|
|
||||||
@author MSch<EFBFBD>fer
|
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
|
||||||
* <br>
|
|
||||||
*/
|
|
||||||
public class OurDrawArea extends DrawArea{
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Standard constructor.
|
|
||||||
*/
|
|
||||||
public OurDrawArea() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a test draw area and sets the specified log list.
|
|
||||||
* @param logList the draw area's log list test log elements.
|
|
||||||
* @param drawAreaName The display name over the draw area.
|
|
||||||
*/
|
|
||||||
public OurDrawArea(LogElementList<OurLogElement> logList, String drawAreaName){
|
|
||||||
super(logList, drawAreaName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draws a visualization element.
|
|
||||||
*/
|
|
||||||
|
|
||||||
public void draw(Graphics g){
|
|
||||||
|
|
||||||
OurLogElement logElement=(OurLogElement)logList.get();
|
|
||||||
drawGraph(logElement.getGraph(), g);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void drawGraph(DirectedGraph<VertexMarking, EdgeMarking> ourGraph, Graphics g) {
|
|
||||||
String convertedMarking;
|
|
||||||
|
|
||||||
/*Vector<Vertex> vertexes = new Vector<Vertex>();
|
|
||||||
|
|
||||||
for(MarkedVertex<VertexMarking> i : ourGraph.getAllVertexes()){
|
|
||||||
if(i.getMarking() != null){
|
|
||||||
convertedMarking = i.getMarking().toString();
|
|
||||||
}else{
|
|
||||||
convertedMarking = "";
|
|
||||||
}
|
|
||||||
vertexes.add(new Vertex(i.getXCoordinate(), i.getYCoordinate(), convertedMarking, Color.GRAY));
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector<Edge> edges = new Vector<Edge>();
|
|
||||||
|
|
||||||
for(MarkedEdge<EdgeMarking> i : ourGraph.getAllEdges()){
|
|
||||||
edges.add(new Edge(vertexes.get(0), vertexes.get(5), "i.getMarking()", Color.BLACK));
|
|
||||||
}
|
|
||||||
|
|
||||||
Graph graph = new Graph(vertexes, edges, true, EdgeStyle.Direct);
|
|
||||||
|
|
||||||
graph.draw(g);*/
|
|
||||||
|
|
||||||
Vector<Vertex> vertexes = new Vector<Vertex>();
|
|
||||||
|
|
||||||
for(MarkedVertex<VertexMarking> i : ourGraph.getAllVertexes()){
|
|
||||||
|
|
||||||
vertexes.add(new Vertex(i.getXCoordinate(), i.getYCoordinate(), i.getName()+i.getDistance(), i.getColor()));
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector<Edge> edges = new Vector<Edge>();
|
|
||||||
|
|
||||||
for(MarkedEdge<EdgeMarking> i : ourGraph.getAllEdges()){
|
|
||||||
edges.add(new Edge(i.getSource(), i.getDestination(), "i.getMarking()", Color.BLACK));
|
|
||||||
}
|
|
||||||
|
|
||||||
Graph graph = new Graph(vertexes, edges, true, EdgeStyle.Direct);
|
|
||||||
|
|
||||||
graph.draw(g);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
package OurApplication;
|
|
||||||
|
|
||||||
import logging.LogElementList;
|
|
||||||
import visualisation.HybridWindow;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class provides an example for using visualization.HybridWindow.
|
|
||||||
* Overwriting the constructor is necessary to run as an applet.
|
|
||||||
* For running as an application overwriting the constructor is not necessary
|
|
||||||
* @see HybridWindow
|
|
||||||
* @see OurApplication
|
|
||||||
* @author MSch<EFBFBD>fer
|
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
|
||||||
* <br>
|
|
||||||
*/
|
|
||||||
public class OurHybridWindow extends HybridWindow{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Overwritten standard constructor.
|
|
||||||
* Creates a TestUpHybridWindow with
|
|
||||||
* TestParameterArea,SumUpLegendArea, TestDrawArea, TestTextArea,
|
|
||||||
* TestAlgorithm and a LogElementList of TestLogElements.
|
|
||||||
*/
|
|
||||||
public OurHybridWindow() {
|
|
||||||
super();
|
|
||||||
logList=new LogElementList<OurLogElement>();
|
|
||||||
parameterArea=new OurParameterArea();
|
|
||||||
drawArea=new OurDrawArea(logList,"visualization");
|
|
||||||
textArea=new OurTextArea(logList);
|
|
||||||
legendArea=new OurLegendArea();
|
|
||||||
algorithm=new OurAlgorithm((OurParameterArea)parameterArea);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
package OurApplication;
|
|
||||||
|
|
||||||
import visualisation.LegendArea;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class represents a visualization.LegendArea implementation and has been created for demonstration purposes only.
|
|
||||||
* Method initialize(Graphics) is overridden and now implements logic for drawing parameters on the legend area.
|
|
||||||
* @author MSch<EFBFBD>fer
|
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
|
||||||
* <br>
|
|
||||||
*/
|
|
||||||
public class OurLegendArea extends LegendArea{
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Standard constructor
|
|
||||||
*/
|
|
||||||
public OurLegendArea(){
|
|
||||||
super();
|
|
||||||
|
|
||||||
//set the legend area's preferred size manually for best visualization
|
|
||||||
setPreferredSize(new Dimension(150, 170));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Overridden method from super class.
|
|
||||||
* Draws all elements and descriptions on the LegendArea
|
|
||||||
* @param g the Graphics object of the corresponding panel
|
|
||||||
*/
|
|
||||||
public void initialize(Graphics g){
|
|
||||||
|
|
||||||
//Create a new TitledBorder for the LegendArea
|
|
||||||
setBorder(BorderFactory.createTitledBorder("LegendArea"));
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,57 +0,0 @@
|
|||||||
package OurApplication;
|
|
||||||
|
|
||||||
import graph.DirectedGraph;
|
|
||||||
import graph.EdgeMarking;
|
|
||||||
import graph.VertexMarking;
|
|
||||||
import logging.LogElement;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class provides an example for using logging.LogElement.
|
|
||||||
* The super class has been extended by member value and corresponding get method.
|
|
||||||
* The standard constructor has been overwritten and a new one has been introduced.
|
|
||||||
* @see LogElement
|
|
||||||
* @author MSch<EFBFBD>fer
|
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
|
||||||
* <br>
|
|
||||||
*/
|
|
||||||
public class OurLogElement extends LogElement{
|
|
||||||
|
|
||||||
/** The log elements sum up value. */
|
|
||||||
protected long value;
|
|
||||||
protected DirectedGraph<VertexMarking, EdgeMarking> ourGraph;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Standard constructor.
|
|
||||||
* Calls the constructor of super class and sets value 0.
|
|
||||||
*/
|
|
||||||
public OurLogElement() {
|
|
||||||
super();
|
|
||||||
value=0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extended constructor.
|
|
||||||
* Sets specified step number, description and sum up value.
|
|
||||||
* @param step the log element's step number
|
|
||||||
* @param description the log element's step description
|
|
||||||
* @param value the log element's sum up value
|
|
||||||
*/
|
|
||||||
public OurLogElement(int step, String description, long value, DirectedGraph<VertexMarking, EdgeMarking> ourGraph){
|
|
||||||
this.step=step;
|
|
||||||
this.description=description;
|
|
||||||
this.value=value;
|
|
||||||
this.ourGraph = ourGraph;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the log element's sum up value.
|
|
||||||
* @return the log element's sum up value
|
|
||||||
*/
|
|
||||||
public long getValue(){
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
public DirectedGraph<VertexMarking, EdgeMarking> getGraph(){
|
|
||||||
return this.ourGraph;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
package OurApplication;
|
|
||||||
|
|
||||||
import visualisation.ParameterArea;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class provides an example for using visualization.ParameterArea.
|
|
||||||
* @see ParameterArea
|
|
||||||
* @author MSch<EFBFBD>fer
|
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
|
||||||
* <br>
|
|
||||||
*/
|
|
||||||
public class OurParameterArea extends ParameterArea{
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/** TextField containing maximum sum up value. */
|
|
||||||
protected JTextField maxValue;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Standard constructor.
|
|
||||||
* Creates SumUpParameterArea with an empty JTextField.
|
|
||||||
*/
|
|
||||||
public OurParameterArea() {
|
|
||||||
super();
|
|
||||||
setBorder(BorderFactory.createTitledBorder("ParameterArea"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
package OurApplication;
|
|
||||||
|
|
||||||
import logging.LogElementList;
|
|
||||||
import visualisation.TextArea;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class provides an example for using visualization.TextArea.
|
|
||||||
* Constructors and print() method have been overwritten.
|
|
||||||
* @see TextArea
|
|
||||||
* @author MSch<EFBFBD>fer
|
|
||||||
* DHBW Stuttgart/Campus Horb AI2008<br>
|
|
||||||
* <br>
|
|
||||||
*/
|
|
||||||
public class OurTextArea extends TextArea{
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Standard constructor.
|
|
||||||
*/
|
|
||||||
public OurTextArea() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extended constructor.
|
|
||||||
* Sets LogElementList of TestLogElements as log list.
|
|
||||||
* @param logList the text area's log element list.
|
|
||||||
*/
|
|
||||||
public OurTextArea(LogElementList<OurLogElement>logList){
|
|
||||||
super(logList);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Textual output of a log element.
|
|
||||||
* No output.
|
|
||||||
*/
|
|
||||||
public boolean print(){
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,8 +1,6 @@
|
|||||||
package graph;
|
package graph;
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.PriorityQueue;
|
import java.util.PriorityQueue;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
@ -191,227 +189,4 @@ public class DirectedGraph<T extends VertexMarking, U extends EdgeMarking> exten
|
|||||||
// Gibt Distanz zu gefragtem Knoten zurück
|
// Gibt Distanz zu gefragtem Knoten zurück
|
||||||
return distance.get(n2);
|
return distance.get(n2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
public Vector<DirectedGraph> DikstraVisualization(MarkedVertex<T> n1, MarkedVertex<T> n2){
|
|
||||||
|
|
||||||
//Vektor mit einzelnen zu visualisierenden Graphen
|
|
||||||
Vector<DirectedGraph> steps = new Vector<DirectedGraph>();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Erstellt Hashmap um Distanz von Startnoten zu jedem Knoten auf dem Graph zu tracken
|
|
||||||
// Erstellt Hashmap um zu tracken welche Knoten schon besucht wurden
|
|
||||||
// Initialisierung aller Distanzen auf UNENDLICH (= -1)
|
|
||||||
// Initialisierung, dass kein Knoten besucht wurde
|
|
||||||
HashMap<MarkedVertex<T>, Integer> distance = new HashMap<>();
|
|
||||||
HashMap<MarkedVertex<T>, Boolean> visited = new HashMap<>();
|
|
||||||
for (MarkedVertex<T> i: this.getAllVertexes()) {
|
|
||||||
distance.put(i, -1);
|
|
||||||
i.setDistance(-1);
|
|
||||||
visited.put(i, false);
|
|
||||||
i.setColor(Color.GRAY);
|
|
||||||
}
|
|
||||||
n1.setColor(Color.RED);
|
|
||||||
n1.setName("Start: ");
|
|
||||||
n2.setColor(Color.RED);
|
|
||||||
n2.setName("Ende: ");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Erstelle Schlange wo die nächsten Verbindungen drin sind
|
|
||||||
PriorityQueue<WrapperElement<T>> queue = new PriorityQueue<>(new WrapperComparator<T>());
|
|
||||||
|
|
||||||
// Distanz zu Startknoten auf 0
|
|
||||||
// Weg zu Startknoten in die Schlange aufnehmen
|
|
||||||
distance.put(n1, 0);
|
|
||||||
n1.setDistance(0);
|
|
||||||
queue.add(new WrapperElement<>(n1, 0));
|
|
||||||
|
|
||||||
// Variable, die Distanz zwischen aktuellem Knoten und Nachfolger speichert
|
|
||||||
int dist = 0;
|
|
||||||
|
|
||||||
|
|
||||||
// Erste Visualisierung: alle Knoten grau, Start und Ende rot
|
|
||||||
DirectedGraph<T, U> initialGraph = new DirectedGraph<>();
|
|
||||||
for (MarkedVertex<T> vertex : this.getAllVertexes()) {
|
|
||||||
initialGraph.addVertex(vertex);
|
|
||||||
}
|
|
||||||
for (MarkedEdge<U> edge : this.getAllEdges()) {
|
|
||||||
initialGraph.addEdge(edge);
|
|
||||||
}
|
|
||||||
steps.add(initialGraph);
|
|
||||||
|
|
||||||
while (!queue.isEmpty()) {
|
|
||||||
// Den nächsten Knoten, der am wenigsten kostet, besuchen
|
|
||||||
WrapperElement<T> nextVertex = queue.poll();
|
|
||||||
|
|
||||||
// Knoten als besucht makieren
|
|
||||||
visited.put(nextVertex.getElement(), true);
|
|
||||||
|
|
||||||
System.out.println("Visit " + nextVertex.getElement().getName());
|
|
||||||
|
|
||||||
// Gehe von diesem Knoten aus alle erreichbaren Knoten durch
|
|
||||||
for (MarkedVertex<T> i: this.getSuccessors(nextVertex.getElement())) {
|
|
||||||
|
|
||||||
// Kante finde, die den jetzigen und nächsten Knoten verbindet
|
|
||||||
for (MarkedEdge<U> j: this.getAllEdges()) {
|
|
||||||
if (j.getSource() == nextVertex.getElement() && j.getDestination() == i) {
|
|
||||||
|
|
||||||
// Berechne Distanz zu nächstem Knoten
|
|
||||||
dist = distance.get(nextVertex.getElement()) + j.getWeighting();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wenn es schon einen kürzeren Weg zum Knoten gibt, überspringen
|
|
||||||
if ((distance.get(i) <= dist && distance.get(i) != -1) || visited.get(i)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Aktualisiere Distanz von Start zu nächstem Knoten
|
|
||||||
distance.put(i, dist);
|
|
||||||
|
|
||||||
System.out.println("Add " + i.getName() + " with " + dist + " weight to queue.");
|
|
||||||
|
|
||||||
// Nehme nächsten Knoten in die Queue auf
|
|
||||||
queue.add(new WrapperElement<>(i, dist));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return steps;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
public Vector<DirectedGraph<T, U>> DikstraVisualization(MarkedVertex<T> n1, MarkedVertex<T> n2) {
|
|
||||||
// Vektor mit einzelnen zu visualisierenden Graphen
|
|
||||||
Vector<DirectedGraph<T, U>> steps = new Vector<>();
|
|
||||||
|
|
||||||
// Erstellt Hashmap um Distanz von Startnoten zu jedem Knoten auf dem Graph zu tracken
|
|
||||||
// Erstellt Hashmap um zu tracken welche Knoten schon besucht wurden
|
|
||||||
// Initialisierung aller Distanzen auf UNENDLICH (= -1)
|
|
||||||
// Initialisierung, dass kein Knoten besucht wurde
|
|
||||||
HashMap<MarkedVertex<T>, Integer> distance = new HashMap<>();
|
|
||||||
HashMap<MarkedVertex<T>, Boolean> visited = new HashMap<>();
|
|
||||||
for (MarkedVertex<T> i : this.getAllVertexes()) {
|
|
||||||
distance.put(i, -1);
|
|
||||||
i.setDistance(-1);
|
|
||||||
visited.put(i, false);
|
|
||||||
i.setColor(Color.GRAY);
|
|
||||||
}
|
|
||||||
n1.setColor(Color.RED);
|
|
||||||
n1.setName("Start");
|
|
||||||
n2.setColor(Color.RED);
|
|
||||||
n2.setName("Ende");
|
|
||||||
|
|
||||||
// Erstelle Schlange wo die nächsten Verbindungen drin sind
|
|
||||||
PriorityQueue<WrapperElement<T>> queue = new PriorityQueue<>(new WrapperComparator<>());
|
|
||||||
|
|
||||||
// Distanz zu Startknoten auf 0
|
|
||||||
// Weg zu Startknoten in die Schlange aufnehmen
|
|
||||||
distance.put(n1, 0);
|
|
||||||
n1.setDistance(0);
|
|
||||||
queue.add(new WrapperElement<>(n1, 0));
|
|
||||||
|
|
||||||
// Variable, die Distanz zwischen aktuellem Knoten und Nachfolger speichert
|
|
||||||
int dist = 0;
|
|
||||||
|
|
||||||
// Erste Visualisierung: alle Knoten grau, Start und Ende rot
|
|
||||||
DirectedGraph<T, U> initialGraph = new DirectedGraph<>();
|
|
||||||
for (MarkedVertex<T> vertex : this.getAllVertexes()) {
|
|
||||||
initialGraph.addVertex(vertex);
|
|
||||||
}
|
|
||||||
for (MarkedEdge<U> edge : this.getAllEdges()) {
|
|
||||||
initialGraph.addEdge(edge);
|
|
||||||
}
|
|
||||||
steps.add(initialGraph);
|
|
||||||
|
|
||||||
while (!queue.isEmpty()) {
|
|
||||||
// Den nächsten Knoten, der am wenigsten kostet, besuchen
|
|
||||||
WrapperElement<T> nextVertex = queue.poll();
|
|
||||||
MarkedVertex<T> current = nextVertex.getElement();
|
|
||||||
|
|
||||||
// Knoten als besucht makieren
|
|
||||||
visited.put(current, true);
|
|
||||||
current.setColor(Color.BLUE); // Aktueller Knoten wird blau
|
|
||||||
|
|
||||||
// Erstelle eine Kopie des aktuellen Zustands und füge sie zu steps hinzu
|
|
||||||
DirectedGraph<T, U> visitGraph = copyGraph();
|
|
||||||
steps.add(visitGraph);
|
|
||||||
|
|
||||||
System.out.println("Visit " + current.getName());
|
|
||||||
|
|
||||||
// Gehe von diesem Knoten aus alle erreichbaren Knoten durch
|
|
||||||
for (MarkedVertex<T> i : this.getSuccessors(current)) {
|
|
||||||
if (visited.get(i)) continue; // Überspringe besuchte Knoten
|
|
||||||
|
|
||||||
// Kante finde, die den jetzigen und nächsten Knoten verbindet
|
|
||||||
for (MarkedEdge<U> j : this.getAllEdges()) {
|
|
||||||
if (j.getSource() == current && j.getDestination() == i) {
|
|
||||||
// Berechne Distanz zu nächstem Knoten
|
|
||||||
dist = distance.get(current) + j.getWeighting();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wenn es schon einen kürzeren Weg zum Knoten gibt, überspringen
|
|
||||||
if ((distance.get(i) <= dist && distance.get(i) != -1) || visited.get(i)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Aktualisiere Distanz von Start zu nächstem Knoten
|
|
||||||
distance.put(i, dist);
|
|
||||||
i.setDistance(dist);
|
|
||||||
|
|
||||||
System.out.println("Add " + i.getName() + " with " + dist + " weight to queue.");
|
|
||||||
|
|
||||||
// Nehme nächsten Knoten in die Queue auf
|
|
||||||
queue.add(new WrapperElement<>(i, dist));
|
|
||||||
|
|
||||||
// Setze die Farbe des Knotens in der Warteschlange auf gelb
|
|
||||||
i.setColor(Color.YELLOW);
|
|
||||||
|
|
||||||
// Erstelle eine Kopie des aktuellen Zustands und füge sie zu steps hinzu
|
|
||||||
DirectedGraph<T, U> queueGraph = copyGraph();
|
|
||||||
steps.add(queueGraph);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Setze die Farbe des besuchten Knotens auf grün
|
|
||||||
current.setColor(Color.GREEN);
|
|
||||||
|
|
||||||
// Erstelle eine Kopie des aktuellen Zustands und füge sie zu steps hinzu
|
|
||||||
DirectedGraph<T, U> visitedGraph = copyGraph();
|
|
||||||
steps.add(visitedGraph);
|
|
||||||
}
|
|
||||||
|
|
||||||
return steps;
|
|
||||||
}
|
|
||||||
|
|
||||||
private DirectedGraph<T, U> copyGraph() {
|
|
||||||
DirectedGraph<T, U> newGraph = new DirectedGraph<>();
|
|
||||||
for (MarkedVertex<T> vertex : this.getAllVertexes()) {
|
|
||||||
MarkedVertex<T> newVertex = new MarkedVertex<>();
|
|
||||||
newVertex.setName(vertex.getName());
|
|
||||||
newVertex.setColor(vertex.getColor());
|
|
||||||
newVertex.setDistance(vertex.getDistance());
|
|
||||||
newVertex.setMarking(vertex.getMarking());
|
|
||||||
newVertex.setXCoordinate(vertex.getXCoordinate());
|
|
||||||
newVertex.setYCoordinate(vertex.getYCoordinate());
|
|
||||||
newGraph.addVertex(newVertex);
|
|
||||||
}
|
|
||||||
for (MarkedEdge<U> edge : this.getAllEdges()) {
|
|
||||||
MarkedEdge<U> newEdge = new MarkedEdge<>();
|
|
||||||
newEdge.setName(edge.getName());
|
|
||||||
newEdge.setMarking(edge.getMarking());
|
|
||||||
newEdge.setWeighting(edge.getWeighting());
|
|
||||||
newEdge.setSource(edge.getSource());
|
|
||||||
newEdge.setDestination(edge.getDestination());
|
|
||||||
newGraph.addEdge(newEdge);
|
|
||||||
}
|
|
||||||
return newGraph;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package graph;
|
package graph;
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
public class Display {
|
public class Display {
|
||||||
@ -8,11 +7,10 @@ public class Display {
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
DirectedGraph<VertexMarking, EdgeMarking> myGraph = new DirectedGraph<>();
|
DirectedGraph<VertexMarking, EdgeMarking> myGraph = new DirectedGraph<>();
|
||||||
|
|
||||||
Random random = new Random();
|
|
||||||
|
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
myGraph.addVertex(new MarkedVertex<>(random.nextInt(i, 350), random.nextInt(i, 350), String.valueOf(i) + " :", Color.BLACK , null));
|
myGraph.addVertex(new MarkedVertex<>(String.valueOf(i), null));
|
||||||
}
|
}
|
||||||
|
Random random = new Random();
|
||||||
|
|
||||||
for (MarkedVertex<VertexMarking> i: myGraph.getAllVertexes()) {
|
for (MarkedVertex<VertexMarking> i: myGraph.getAllVertexes()) {
|
||||||
myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10)));
|
myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10)));
|
||||||
|
@ -7,7 +7,6 @@ public abstract class Graph<T extends VertexMarking, U extends EdgeMarking> {
|
|||||||
// ATTRIBUTE
|
// ATTRIBUTE
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private String description;
|
|
||||||
private Vector<MarkedVertex<T>> vertexes;
|
private Vector<MarkedVertex<T>> vertexes;
|
||||||
private Vector<MarkedEdge<U>> edges;
|
private Vector<MarkedEdge<U>> edges;
|
||||||
|
|
||||||
@ -32,10 +31,6 @@ public abstract class Graph<T extends VertexMarking, U extends EdgeMarking> {
|
|||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return this.description;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Vector<MarkedEdge<U>> getAllEdges() {
|
public Vector<MarkedEdge<U>> getAllEdges() {
|
||||||
return this.edges;
|
return this.edges;
|
||||||
@ -53,10 +48,6 @@ public abstract class Graph<T extends VertexMarking, U extends EdgeMarking> {
|
|||||||
this.name = s;
|
this.name = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDescription(String s) {
|
|
||||||
this.description = s;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Ausgabe
|
// Ausgabe
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package graph;
|
package graph;
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
public class MarkedVertex<T extends VertexMarking> extends Vertex{
|
public class MarkedVertex<T extends VertexMarking> extends Vertex{
|
||||||
|
|
||||||
// ATTRIBUTE
|
// ATTRIBUTE
|
||||||
@ -16,15 +14,15 @@ public class MarkedVertex<T extends VertexMarking> extends Vertex{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public MarkedVertex(int xCoordinate, int yCoordinate, String name, Color color, T t) {
|
public MarkedVertex(String s, T t) {
|
||||||
super(xCoordinate, yCoordinate, name, color);
|
super(s);
|
||||||
this.marking = t;
|
this.marking = t;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// GET-ER
|
// GET-ER
|
||||||
|
|
||||||
/*public T getMarking() {
|
public T getMarking() {
|
||||||
return this.marking;
|
return this.marking;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,7 +31,7 @@ public class MarkedVertex<T extends VertexMarking> extends Vertex{
|
|||||||
|
|
||||||
public void setMarking(T t) {
|
public void setMarking(T t) {
|
||||||
this.marking = t;
|
this.marking = t;
|
||||||
}*/
|
}
|
||||||
|
|
||||||
|
|
||||||
// Ausgabe
|
// Ausgabe
|
||||||
|
@ -1,28 +1,21 @@
|
|||||||
package graph;
|
package graph;
|
||||||
|
|
||||||
import java.awt.Color;
|
public abstract class Vertex {
|
||||||
|
|
||||||
public abstract class Vertex extends visualizationElements.Vertex {
|
|
||||||
|
|
||||||
// ATTRIBUTE
|
// ATTRIBUTE
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private Color color;
|
|
||||||
private int distance;
|
|
||||||
private int xCoordinate;
|
|
||||||
private int yCoordinate;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// KONSTRUKTOREN
|
// KONSTRUKTOREN
|
||||||
|
|
||||||
public Vertex() {
|
public Vertex() {
|
||||||
super(0, 0);
|
this.name = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Vertex(int xCoordinate, int yCoordinate, String name, Color color) {
|
public Vertex(String s) {
|
||||||
super(xCoordinate, yCoordinate, name, color);
|
this.name = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -31,35 +24,13 @@ public abstract class Vertex extends visualizationElements.Vertex {
|
|||||||
public String getName() {
|
public String getName() {
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
public Color getColor() {
|
|
||||||
return this.color;
|
|
||||||
}
|
|
||||||
public int getDistance() {
|
|
||||||
return this.distance;
|
|
||||||
}
|
|
||||||
public int getXCoordinate(){
|
|
||||||
return this.xCoordinate;
|
|
||||||
}
|
|
||||||
public int getYCoordinate(){
|
|
||||||
return this.yCoordinate;
|
|
||||||
}
|
|
||||||
|
|
||||||
// SET-ER
|
// SET-ER
|
||||||
|
|
||||||
public void setName(String s) {
|
public void setName(String s) {
|
||||||
this.name = s;
|
this.name = s;
|
||||||
}
|
}
|
||||||
public void setColor(Color s) {
|
|
||||||
this.color = s;
|
|
||||||
}
|
|
||||||
public void setDistance(int s) {
|
|
||||||
this.distance = s;
|
|
||||||
}
|
|
||||||
public void setXCoordinate(int xCoordinate){
|
|
||||||
this.xCoordinate=xCoordinate;
|
|
||||||
}
|
|
||||||
public void setYCoordinate(int yCoordinate){
|
|
||||||
this.yCoordinate=yCoordinate;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
package graph;
|
package graph;
|
||||||
|
|
||||||
public abstract class VertexMarking extends Marking {
|
public abstract class VertexMarking extends Marking {
|
||||||
private String mark;
|
|
||||||
}
|
}
|
||||||
|
1
out/production/ProjektGraph/.gitignore
vendored
Normal file
1
out/production/ProjektGraph/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/out/
|
11
out/production/ProjektGraph/.idea/ProjektGraph.iml
generated
Normal file
11
out/production/ProjektGraph/.idea/ProjektGraph.iml
generated
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
6
out/production/ProjektGraph/.idea/misc.xml
generated
Normal file
6
out/production/ProjektGraph/.idea/misc.xml
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="21" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
</component>
|
||||||
|
</project>
|
8
out/production/ProjektGraph/.idea/modules.xml
generated
Normal file
8
out/production/ProjektGraph/.idea/modules.xml
generated
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/ProjektGraph.iml" filepath="$PROJECT_DIR$/.idea/ProjektGraph.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
6
out/production/ProjektGraph/.idea/vcs.xml
generated
Normal file
6
out/production/ProjektGraph/.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
71
out/production/ProjektGraph/.idea/workspace.xml
generated
Normal file
71
out/production/ProjektGraph/.idea/workspace.xml
generated
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="AutoImportSettings">
|
||||||
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
|
</component>
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="70f8ea87-9ffc-471a-8059-ebbfc323adcc" name="Changes" comment="">
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/OurApplication/OurApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/OurApplication/OurApplication.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/OurApplication/OurDrawArea.java" beforeDir="false" afterPath="$PROJECT_DIR$/OurApplication/OurDrawArea.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/graph/MarkedEdge.java" beforeDir="false" afterPath="$PROJECT_DIR$/graph/MarkedEdge.java" afterDir="false" />
|
||||||
|
</list>
|
||||||
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
|
</component>
|
||||||
|
<component name="Git.Settings">
|
||||||
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectColorInfo">{
|
||||||
|
"associatedIndex": 2
|
||||||
|
}</component>
|
||||||
|
<component name="ProjectId" id="2hxt4apXjGaBR1xypJAsjIrgc8R" />
|
||||||
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||||
|
<component name="ProjectViewState">
|
||||||
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
|
<option name="showLibraryContents" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent">{
|
||||||
|
"keyToString": {
|
||||||
|
"Application.Display.executor": "Run",
|
||||||
|
"Application.OurApplication.executor": "Run",
|
||||||
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
|
"git-widget-placeholder": "Versuch__Christian",
|
||||||
|
"kotlin-language-version-configured": "true",
|
||||||
|
"last_opened_file_path": "C:/Git/ProjektGraphMain"
|
||||||
|
}
|
||||||
|
}</component>
|
||||||
|
<component name="RecentsManager">
|
||||||
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="C:\Git\ProjektGraph" />
|
||||||
|
</key>
|
||||||
|
<key name="CopyClassDialog.RECENTS_KEY">
|
||||||
|
<recent name="logging" />
|
||||||
|
<recent name="visualisation" />
|
||||||
|
</key>
|
||||||
|
</component>
|
||||||
|
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="70f8ea87-9ffc-471a-8059-ebbfc323adcc" name="Changes" comment="" />
|
||||||
|
<created>1718547365327</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1718547365327</updated>
|
||||||
|
</task>
|
||||||
|
<servers />
|
||||||
|
</component>
|
||||||
|
<component name="Vcs.Log.Tabs.Properties">
|
||||||
|
<option name="TAB_STATES">
|
||||||
|
<map>
|
||||||
|
<entry key="MAIN">
|
||||||
|
<value>
|
||||||
|
<State />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
BIN
out/production/ProjektGraph/OurApplication/OurAlgorithm.class
Normal file
BIN
out/production/ProjektGraph/OurApplication/OurAlgorithm.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/OurApplication/OurApplication.class
Normal file
BIN
out/production/ProjektGraph/OurApplication/OurApplication.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/OurApplication/OurDrawArea.class
Normal file
BIN
out/production/ProjektGraph/OurApplication/OurDrawArea.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/OurApplication/OurHybridWindow.class
Normal file
BIN
out/production/ProjektGraph/OurApplication/OurHybridWindow.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/OurApplication/OurLegendArea.class
Normal file
BIN
out/production/ProjektGraph/OurApplication/OurLegendArea.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/OurApplication/OurLogElement.class
Normal file
BIN
out/production/ProjektGraph/OurApplication/OurLogElement.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
out/production/ProjektGraph/OurApplication/OurTextArea.class
Normal file
BIN
out/production/ProjektGraph/OurApplication/OurTextArea.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
out/production/ProjektGraph/graph/DirectedGraph.class
Normal file
BIN
out/production/ProjektGraph/graph/DirectedGraph.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/Display.class
Normal file
BIN
out/production/ProjektGraph/graph/Display.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/Edge.class
Normal file
BIN
out/production/ProjektGraph/graph/Edge.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/EdgeMarking.class
Normal file
BIN
out/production/ProjektGraph/graph/EdgeMarking.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/Graph.class
Normal file
BIN
out/production/ProjektGraph/graph/Graph.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/MarkedEdge.class
Normal file
BIN
out/production/ProjektGraph/graph/MarkedEdge.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/MarkedVertex.class
Normal file
BIN
out/production/ProjektGraph/graph/MarkedVertex.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/Marking.class
Normal file
BIN
out/production/ProjektGraph/graph/Marking.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
out/production/ProjektGraph/graph/UndirectedGraph.class
Normal file
BIN
out/production/ProjektGraph/graph/UndirectedGraph.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/Vertex.class
Normal file
BIN
out/production/ProjektGraph/graph/Vertex.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/VertexMarking.class
Normal file
BIN
out/production/ProjektGraph/graph/VertexMarking.class
Normal file
Binary file not shown.
BIN
out/production/ProjektGraph/graph/WrapperComparator.class
Normal file
BIN
out/production/ProjektGraph/graph/WrapperComparator.class
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user