From 66e8fa72bfd64816ab88cd16983f3ae4ee543616 Mon Sep 17 00:00:00 2001 From: Frank Schiebel Date: Tue, 12 Mar 2024 17:34:56 +0100 Subject: [PATCH] Sync with upstream --- +libs/LICENSECommonsIO.txt | 406 +- GraphenTester.java | 13 +- README.TXT | 28 +- algorithmen/GraphAlgo.java | 139 +- algorithmen/GraphAlgo_BellmanFord.java | 12 +- algorithmen/GraphAlgo_Dijkstra.java | 12 +- .../GraphAlgo_DijkstraMitVorgaenger.java | 109 + .../GraphAlgo_DominatingSetGreedyA.java | 31 +- .../GraphAlgo_DominatingSetGreedyB.java | 32 +- .../GraphAlgo_DominatingSetGreedyC.java | 33 +- .../GraphAlgo_DominatingSetGreedyD.java | 32 +- .../GraphAlgo_DominatingSetGreedyE.java | 33 +- .../GraphAlgo_DominatingSetGreedyF.java | 32 +- .../GraphAlgo_DominatingSetGreedyG.java | 32 +- .../GraphAlgo_DominatingSetGreedyH.java | 32 +- .../GraphAlgo_DominatingSetGreedyI.java | 33 +- algorithmen/package.bluej | 529 +- .../01_aufbausimulation1.csv | 4 +- .../02_aufbausimulation2.csv | 4 +- config.csv | 3 + control/Controller.java | 158 +- control/EditTabMitController.java | 22 +- control/SimulationTabMitController.java | 364 +- control/UnterTabMitController.java | 76 +- control/package.bluej | 191 +- doc/GraphenTester.html | 732 +-- doc/algorithmen/GraphAlgo.html | 1338 ++--- doc/algorithmen/GraphAlgo_BellmanFord.html | 804 +-- doc/algorithmen/GraphAlgo_Breitensuche.html | 804 +-- .../GraphAlgo_ColoringBacktracking.html | 898 ++-- doc/algorithmen/GraphAlgo_ColoringGreedy.html | 806 +-- .../GraphAlgo_ColoringGreedyRandom.html | 806 +-- doc/algorithmen/GraphAlgo_Dijkstra.html | 804 +-- .../GraphAlgo_DominatingSetBacktracking.html | 898 ++-- .../GraphAlgo_DominatingSetGenetisch.html | 950 ++-- .../GraphAlgo_DominatingSetGreedyA.html | 808 +-- .../GraphAlgo_DominatingSetGreedyB.html | 808 +-- .../GraphAlgo_DominatingSetGreedyC.html | 808 +-- .../GraphAlgo_DominatingSetGreedyD.html | 808 +-- .../GraphAlgo_DominatingSetGreedyE.html | 808 +-- .../GraphAlgo_DominatingSetGreedyF.html | 808 +-- .../GraphAlgo_DominatingSetGreedyG.html | 808 +-- .../GraphAlgo_DominatingSetGreedyH.html | 808 +-- .../GraphAlgo_DominatingSetGreedyI.html | 808 +-- .../GraphAlgo_EulerkreisExistenz.html | 806 +-- doc/algorithmen/GraphAlgo_MST_Kruskal.html | 804 +-- doc/algorithmen/GraphAlgo_MST_Prim.html | 804 +-- doc/algorithmen/GraphAlgo_Moore.html | 804 +-- doc/algorithmen/GraphAlgo_ScotlandYard.html | 804 +-- .../GraphAlgo_TSPBacktracking.html | 862 ++-- doc/algorithmen/GraphAlgo_TSPGenetisch.html | 1000 ++-- doc/algorithmen/GraphAlgo_TSPGreedy.html | 838 ++-- doc/algorithmen/GraphAlgo_TSPGreedy2.html | 840 ++-- doc/algorithmen/GraphAlgo_TSPGreedyOpt.html | 866 ++-- doc/algorithmen/GraphAlgo_Tiefensuche.html | 804 +-- doc/algorithmen/GraphAlgo_TiefensucheRek.html | 804 +-- .../GraphAlgo_ZyklusBacktracking.html | 834 ++-- .../GraphAlgo_toplogischeSortierung.html | 802 +-- doc/algorithmen/package-summary.html | 730 +-- doc/algorithmen/package-tree.html | 394 +- doc/allclasses-index.html | 1008 ++-- doc/allclasses.html | 40 +- doc/allpackages-index.html | 366 +- doc/constant-values.html | 70 +- doc/control/Controller.html | 1376 ++--- doc/control/EditTabMitController.html | 1088 ++-- doc/control/HauptTabMitController.html | 754 +-- doc/control/Hilfefenster.html | 924 ++-- doc/control/SimulationTabMitController.html | 934 ++-- doc/control/TabMitController.html | 974 ++-- doc/control/UnterTabMitController.html | 1874 +++---- doc/control/package-summary.html | 414 +- doc/control/package-tree.html | 362 +- .../GraphAlgo_Coloring_Schueler.html | 806 +-- doc/eigeneAlgorithmen/package-summary.html | 332 +- doc/eigeneAlgorithmen/package-tree.html | 336 +- doc/element-list | 2 +- doc/graph/Graph.html | 1707 ++++--- doc/graph/GraphElement.html | 606 ++- doc/graph/GraphOptions.html | 1154 ++--- doc/graph/GraphPlotter.html | 1120 ++--- doc/graph/Hilfe.html | 642 +-- doc/graph/Kante.html | 953 ++-- doc/graph/Knoten.html | 1660 +++--- doc/graph/package-summary.html | 101 +- doc/graph/package-tree.html | 396 +- doc/help-doc.html | 530 +- doc/imp/HSB.html | 788 +-- doc/imp/NumberField.html | 1032 ++-- doc/imp/Picture.html | 2858 +++++------ doc/imp/PictureViewer.html | 1346 ++--- doc/imp/Table.html | 3138 ++++++------ doc/imp/TableRow.html | 1570 +++--- doc/imp/XML.html | 2458 ++++----- doc/imp/package-summary.html | 388 +- doc/imp/package-tree.html | 388 +- doc/index-all.html | 4448 ++++++++--------- doc/index.html | 49 +- doc/jquery/jszip/dist/jszip.js | 4 +- doc/legal/ADDITIONAL_LICENSE_INFO | 38 +- doc/legal/ASSEMBLY_EXCEPTION | 28 +- doc/legal/LICENSE | 348 +- doc/legal/jszip.md | 26 + doc/legal/pako.md | 45 + doc/logfile.txt | 110 +- doc/overview-summary.html | 46 +- doc/overview-tree.html | 564 +-- doc/package-summary.html | 326 +- doc/package-tree.html | 328 +- doc/script.js | 281 +- doc/search.js | 658 +-- doc/serialized-form.html | 358 +- doc/stylesheet.css | 1771 +++---- .../GraphAlgo_Coloring_Schueler.ctxt | 2 +- .../GraphAlgo_Coloring_Schueler.java | 5 +- eigeneAlgorithmen/package.bluej | 61 +- graph/Graph.java | 7 + graph/Graph.uml | 32 +- graph/GraphElement.java | 223 +- graph/GraphOptions.java | 29 +- graph/GraphPlotter.java | 145 +- graph/Kante.java | 129 +- graph/Knoten.java | 153 +- graph/package.bluej | 217 +- images/KarlsruheMannheim.png | Bin 0 -> 563397 bytes images/siedler.png | Bin 223416 -> 402429 bytes images/siedlerohnefischer.png | Bin 255101 -> 398793 bytes imp/package.bluej | 158 +- package.bluej | 126 +- userhome/bluej/bluej-debuglog.txt | 24 +- userhome/bluej/bluej.properties | 104 +- userhome/bluej/moe.properties | 4 +- view/graphenalgorithmen.fxml | 4 +- view/graphtab.fxml | 2 +- view/simulationstab.fxml | 43 +- 135 files changed, 38902 insertions(+), 37757 deletions(-) create mode 100644 algorithmen/GraphAlgo_DijkstraMitVorgaenger.java create mode 100644 config.csv create mode 100644 doc/legal/jszip.md create mode 100644 doc/legal/pako.md create mode 100644 images/KarlsruheMannheim.png diff --git a/+libs/LICENSECommonsIO.txt b/+libs/LICENSECommonsIO.txt index 43e91eb..6b0b127 100644 --- a/+libs/LICENSECommonsIO.txt +++ b/+libs/LICENSECommonsIO.txt @@ -1,203 +1,203 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/GraphenTester.java b/GraphenTester.java index 99a265b..0e9d0c5 100644 --- a/GraphenTester.java +++ b/GraphenTester.java @@ -13,7 +13,8 @@ import control.Controller; * offen bleiben. Dann bitte das Programm über die Main-Funktion starten. * * @author Dirk Zechnall, Thomas Schaller - * @version 12.02.2021 (v6.6) + * @version 28.02.2023 (v7.0) + * */ public class GraphenTester extends Application { @@ -23,15 +24,21 @@ public class GraphenTester extends Application { try { FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/graphenalgorithmen.fxml")); Controller c = new Controller(); + c.setStage(primaryStage); loader.setController(c); VBox root = (VBox) loader.load(); Scene scene = new Scene(root); Image icon = new Image("/view/icon.png"); primaryStage.getIcons().add(icon); primaryStage.setScene(scene); - primaryStage.setTitle("Graphentester"); primaryStage.show(); - primaryStage.setOnCloseRequest(e->c.mBeenden(null)); + primaryStage.setOnCloseRequest(e -> + { + c.saveAktConfig(); + + c.mBeenden(null); + System.exit(0); + }); } diff --git a/README.TXT b/README.TXT index 6bfcb1b..83f9d3a 100644 --- a/README.TXT +++ b/README.TXT @@ -1,15 +1,13 @@ -PROJEKTBEZEICHNUNG: GraphenTester -PROJEKTZWECK: Didaktisches Werkzeug um Graphenrepräsentation und -algorithmen kennen zu lernen -VERSION oder DATUM: 09.12.2020 - -INSTALLATIONSHINWEISE: -im Ordner Hintergrund - -WIE IST DAS PROJEKT IN BLUEJ ZU STARTEN: -Rechtsklick auf die Klasse Graphentester ---> new ---> OK - -AUTOR(EN): Dirk Zechnall / Thomas Schaller -********************************************************************************************** - +PROJEKTBEZEICHNUNG: GraphenTester +PROJEKTZWECK: Didaktisches Werkzeug um Graphenrepräsentation und -algorithmen kennen zu lernen +VERSION oder DATUM: 24.06.2021 + +WIE IST DAS PROJEKT IN BLUEJ ZU STARTEN: +Rechtsklick auf die Klasse Graphentester +--> new +--> OK + +AUTOR(EN): Dirk Zechnall / Thomas Schaller + +UPSTREAM URL: https://edugit.edugit.org/ts-zsl-rska/graphentester/-/tree/master/3_vorlagen_tauschordner/1_graphentester + diff --git a/algorithmen/GraphAlgo.java b/algorithmen/GraphAlgo.java index df3c54b..ff0ebae 100644 --- a/algorithmen/GraphAlgo.java +++ b/algorithmen/GraphAlgo.java @@ -8,25 +8,24 @@ import javafx.scene.control.Alert; import javafx.scene.control.Alert.AlertType; import javafx.scene.control.ButtonType; import javafx.application.Platform; -import javafx.scene.control.TextInputDialog; -import java.util.Optional; /** * - * description + * Abstrakte Oberklasse für alle zu simulierende Algorithmen + * Diese müssen die Methode getBezeichnung(): String und fuehreAlgorithmusAus() überschreiben. * - * @version 1.0 from 26.04.2019 - * @author + * @version 6.7 (Dez. 2020) + * @author Thomas Schaller */ public abstract class GraphAlgo extends Thread { // Anfang Attribute - private boolean stepping; - private boolean waitforrepaint; - private boolean waitforclick; - protected boolean inArbeit; - private GraphPlotter gp; + private boolean stepping; // Einzelschrittmodus + private boolean waitforrepaint; // wird gerade gezeichnet (=> nicht nochmal zeichnen beauftragen) + private boolean waitforclick; // wird auf Klick für nächsten Step gewartet + protected boolean inArbeit; + protected GraphPlotter gp; private Knoten startKnoten; private int speed =100; private Hilfe hilfe; @@ -35,6 +34,9 @@ public abstract class GraphAlgo extends Thread { // Ende Attribute // Anfang Methoden + /** + * Erzeugt neues Algorithmus-Objekt + */ public GraphAlgo() { stepping = true; waitforrepaint = false; @@ -43,6 +45,11 @@ public abstract class GraphAlgo extends Thread { setDaemon(true); } + /** + * Setzt die Referenz auf die GraphAnzeige und das Hilfefenster + * @param graphPlotter + * @param hilfe + */ public void setGUIElemente(GraphPlotter graphPlotter, Hilfe hilfe) { gp = graphPlotter; g = gp.getGraph(); @@ -50,15 +57,31 @@ public abstract class GraphAlgo extends Thread { if (hilfe != null) hilfe.setGraphPlotter(gp); } + /** + * Setzt Referenz auf den Graphen + * @param g Graph auf den der Algorithmus angewendet wird + */ public void setGraph(Graph g) { this.g = g; gp = null; hilfe = null; } + /** + * Gibt Referenz auf den Graphen zurück + * @return g Graph, auf den der Algorithmus angewendet wird + */ + public Graph getGraph() { + return g; + } + + /** + * Muss vom Algorithmus aufgerufen werden, um einen Haltepunkt zu setzen + */ public void step() { if(gp == null) return; try{ + //System.out.println("Step"); gp.updateImage(); aktuellerZustand = g.getStatus(); waitforclick = true; @@ -68,6 +91,7 @@ public abstract class GraphAlgo extends Thread { Thread.sleep(10); i++; } + if (hilfe != null) hilfe.setReviewAllowed(false); g.setStatus(aktuellerZustand); aktuellerZustand = null; @@ -77,30 +101,41 @@ public abstract class GraphAlgo extends Thread { } } - public boolean getWaitforrepaint() { - return waitforrepaint; - } - - public void setWaitforrepaint(boolean waitforrepaintNeu) { - waitforrepaint = waitforrepaintNeu; - } - + /** + * Wird gerade auf einen Buttonklick für den nächsten Step gewartet? + * @return true/false + */ public boolean getWaitforclick() { return waitforclick; } + /** + * Setzt, ob gewartet wird. Damit kann übermittelt werden, dass der Button gedrückt wurde + * @param wairforclickNeu Soll weiter gewartet werden? + */ public void setWaitforclick(boolean waitforclickNeu) { waitforclick = waitforclickNeu; } + /** + * Setzt, ob im Einzelschrittmodus ausgeführt werden soll + * @param stepping true/false + */ public void setStepping(boolean stepping) { this.stepping = stepping; } + /** + * Setzt die Wartezeit im automatischen Modus + * @param delay Wartezeit + */ public void setSpeed(int delay) { this.speed = delay; } + /** + * Ausführung des Algorithmus + */ public void run() { if(!inArbeit && gp != null) @@ -110,9 +145,10 @@ public abstract class GraphAlgo extends Thread { try{ if (hilfe != null) hilfe.setReviewAllowed(false); fuehreAlgorithmusAus(); + gp.updateImage(); // System.out.println("Algorithmus beendet"); } catch( ThreadDeath e){ - // System.out.println("Algorithmus vorzeitig beendet."); + // System.out.println("Algorithmus vorzeitig beendet."+e); } if (hilfe != null) hilfe.setReviewAllowed(true); inArbeit = false; @@ -125,10 +161,18 @@ public abstract class GraphAlgo extends Thread { } // Ende Methoden + /** + * Setzen des Startknotens + * @param k Startknoten + */ public void setStartKnoten(Knoten k) { startKnoten = k; } + /** + * Abfragen des Startknotens für den Algorithmus + * @return gesetzter Startknoten oder Knoten Nr. 0 + */ public Knoten getStartKnoten() { if (startKnoten != null) { return startKnoten; @@ -137,24 +181,22 @@ public abstract class GraphAlgo extends Thread { } // end of if-else } + /** + * Methode für den eigentlichen Algorithmus + */ public abstract void fuehreAlgorithmusAus(); + /** + * Name des Algorithmus für die Dropdown-Auswahl + */ public abstract String getBezeichnung(); - public void eingabe() { - Platform.runLater(() -> { - TextInputDialog dialog = new TextInputDialog(); // create an instance - - dialog.setTitle("Title"); - // other formatting etc - - Optional result = dialog.showAndWait(); - // this shows the dialog, waits until it is closed, and stores the result - - - }); - } - + /** + * Öffnet ein Anzeigefenster mit einer Meldung. Die + * Meldung wird ggf. auch im Hilfefenster angezeigt. + * Ist für die Verwendung im Algorithmus gedacht. + * @param s Meldung + */ public void melde(String s) { info(s); Platform.runLater(() -> { @@ -165,22 +207,53 @@ public abstract class GraphAlgo extends Thread { }); } + /** + * Text in das Hilfefenster einfügen + * Ist für die Verwendung im Algorithmus gedacht. + * @param s Hilfetext + */ public void info(String s) { if(hilfe != null) hilfe.append(s+"\n"); } + /** + * Löscht das Hilfefenster + */ public void resetInfo() { if(hilfe != null) hilfe.loescheAlles(); } + /** + * Rückt im Hilfefenster eine Ebene tiefer ein. + * Ist für die Verwendung im Algorithmus gedacht. + */ public void infoIndentMore() { if(hilfe != null) hilfe.indentMore(); } + /** + * Rückt im Hilfefenster eine Ebene aus. + * Ist für die Verwendung im Algorithmus gedacht. + */ public void infoIndentLess() { if(hilfe != null) hilfe.indentLess(); } + /** + * Initialisiert den Graphen + */ + public void init() { + gp.getGraphOptions().knotenKurztext = new String[]{"Wert"}; + gp.getGraphOptions().knotenLangtext = new String[]{"Infotext","Wert","Markiert","Besucht"}; + if(g.isGewichtet()) { + gp.getGraphOptions().kanteKurztext = new String[]{"Gewicht"}; + gp.getGraphOptions().kanteLangtext = new String[]{"Gewicht","Markiert","Gelöscht"}; + } else { + gp.getGraphOptions().kanteKurztext = new String[]{}; + gp.getGraphOptions().kanteLangtext = new String[]{"Markiert","Gelöscht"}; + } + } + } diff --git a/algorithmen/GraphAlgo_BellmanFord.java b/algorithmen/GraphAlgo_BellmanFord.java index 2319f4b..812fc5f 100644 --- a/algorithmen/GraphAlgo_BellmanFord.java +++ b/algorithmen/GraphAlgo_BellmanFord.java @@ -29,15 +29,19 @@ public class GraphAlgo_BellmanFord extends GraphAlgo { } } + public void init() { + for(Knoten k : g.getAlleKnoten()) { + k.setWert(Double.POSITIVE_INFINITY); + } + info("Setze alle Entfernungen auf unendlich"); + } + // Anfang Methoden public void fuehreAlgorithmusAus() { if (g.getAnzahlKnoten()==0) { return; } - for(Knoten k : g.getAlleKnoten()) { - k.setWert(1000); - } - info("Setze alle Entfernungen auf unendlich (1000)"); + getStartKnoten().setWert(0); info("Setze Startknoten auf Entfernung 0"); step(); diff --git a/algorithmen/GraphAlgo_Dijkstra.java b/algorithmen/GraphAlgo_Dijkstra.java index 164793f..009fdf2 100644 --- a/algorithmen/GraphAlgo_Dijkstra.java +++ b/algorithmen/GraphAlgo_Dijkstra.java @@ -22,6 +22,13 @@ public class GraphAlgo_Dijkstra extends GraphAlgo { return "Kürzester Pfad (Dijkstra)"; } + public void init() { + super.init(); + for(Knoten k : g.getAlleKnoten()) { + k.setWert(Double.POSITIVE_INFINITY); + } + info("Setze alle Entfernungen auf unendlich"); + } // Anfang Methoden public void fuehreAlgorithmusAus() { @@ -50,13 +57,10 @@ public class GraphAlgo_Dijkstra extends GraphAlgo { if(!n.isMarkiert()){ info("- ist noch nicht markiert"); Kante ka = g.getKante(k, n); - if(!n.isBesucht() || n.getDoubleWert() > k.getDoubleWert()+ka.getGewicht()){ + if(n.getDoubleWert() > k.getDoubleWert()+ka.getGewicht()){ if(n.isBesucht()) { List eingehend = g.getEingehendeKanten(n, ka2 -> !ka2.isGeloescht() && ka2.isMarkiert()); Kante alterWeg = eingehend.get(0); - // Kante alterWeg = g.beschraenkeKantenAuf(g.getEingehendeKanten(n), Graph.MARKIERT, Graph.NICHTGELOESCHT).get(0); - // alterWeg.setGeloescht(true); - // alterWeg.setMarkiert(false); alterWeg.setGeloescht(true); alterWeg.setMarkiert(false); diff --git a/algorithmen/GraphAlgo_DijkstraMitVorgaenger.java b/algorithmen/GraphAlgo_DijkstraMitVorgaenger.java new file mode 100644 index 0000000..015ceee --- /dev/null +++ b/algorithmen/GraphAlgo_DijkstraMitVorgaenger.java @@ -0,0 +1,109 @@ +package algorithmen; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.nio.file.*; +import java.util.Arrays; + +import graph.*; +/** + * Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen. + * Algorithmus: Dijkstra + * + * @version 1.0 from 10.12.2020 + * @author Thomas Schaller + */ + +public class GraphAlgo_DijkstraMitVorgaenger extends GraphAlgo { + + // Anfang Attribute + public String getBezeichnung() { + return "Kürzester Pfad (Dijkstra mit Vorgänger)"; + } + + + public void init() { + List alle = g.getAlleKnoten(); + for(Knoten k : alle) { + k.set("Vorgänger","-"); + k.set("Entfernung",Double.POSITIVE_INFINITY); + k.setSortierkriterium("Entfernung"); + } + gp.getGraphOptions().knotenKurztext = new String[]{"Entfernung","Vorgänger"}; + gp.getGraphOptions().knotenLangtext = new String[]{"Infotext","Entfernung","Vorgänger","Markiert","Besucht"}; + } + + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + + + + info("Erzeuge leere toDo-Liste und füge Startknoten hinzu"); + List toDo = new ArrayList(); + getStartKnoten().setBesucht(true); + getStartKnoten().set("Entfernung", 0); + toDo.add(getStartKnoten()); + + while(toDo.size()>0) { + info("Sortiere toDo-Liste nach der Entfernung"); + Collections.sort(toDo); + info("Nimm ersten Knoten aus der toDo-Liste (momentan "+toDo.size()+" Elemente) heraus"); + Knoten k = toDo.remove(0); + infoIndentMore(); + k.setMarkiert(true); + info("Markiere den Knoten"); + info("Er hat Entfernung "+k.getString("Entfernung")); + info("Für jeden Nachbarknoten"); + infoIndentMore(); + for(Knoten n : g.getNachbarknoten(k)) { + if(!n.isMarkiert()){ + if(!n.getInfotext().isEmpty()) { + info("- "+n.getInfotext()+" ist noch nicht markiert"); + } else { + info("- Knoten Nr. "+g.getNummer(n)+" ist noch nicht markiert"); + } + Kante ka = g.getKante(k, n); + if(!n.isBesucht() || n.getDouble("Entfernung") > k.getDouble("Entfernung") + ka.getGewicht()){ + if(n.isBesucht()) { + List eingehend = g.getEingehendeKanten(n, ka2 -> !ka2.isGeloescht() && ka2.isMarkiert()); + Kante alterWeg = eingehend.get(0); + // Kante alterWeg = g.beschraenkeKantenAuf(g.getEingehendeKanten(n), Graph.MARKIERT, Graph.NICHTGELOESCHT).get(0); + // alterWeg.setGeloescht(true); + // alterWeg.setMarkiert(false); + alterWeg.setGeloescht(true); + alterWeg.setMarkiert(false); + + info(" loesche bisherigen Weg dorthin"); + } + + n.set("Entfernung", k.getInt("Entfernung")+ka.getGewicht()); + if(k.getInfotext().equals("")) { + n.set("Vorgänger",g.getNummer(k)); + } else { + n.set("Vorgänger",k.getInfotext()); + } + if(!toDo.contains(n)) toDo.add(n); + ka.setMarkiert(true); + n.setBesucht(true); + info(" setze Entfernung "+n.getString("Entfernung")+" und füge ggf. ToDo-Liste hinzu."); + info(" toDo-Liste hat jetzt "+toDo.size()+" Elemente"); + } else { + info(" keine neue beste Entfernung"); + ka.setGeloescht(true); + } + } + } + infoIndentLess(); + infoIndentLess(); + step(); + } + info("ToDo-Liste fertig abgearbeitet"); + + } // end + // Ende Methoden + +} + diff --git a/algorithmen/GraphAlgo_DominatingSetGreedyA.java b/algorithmen/GraphAlgo_DominatingSetGreedyA.java index c39e18e..7187cf6 100644 --- a/algorithmen/GraphAlgo_DominatingSetGreedyA.java +++ b/algorithmen/GraphAlgo_DominatingSetGreedyA.java @@ -18,7 +18,7 @@ import graph.*; * @author Thomas Schaller */ -public class GraphAlgo_DominatingSetGreedyA extends GraphAlgo_DominatingSetGreedy { +public class GraphAlgo_DominatingSetGreedyA extends GraphAlgo { // Anfang Attribute @@ -29,7 +29,7 @@ public class GraphAlgo_DominatingSetGreedyA extends GraphAlgo_DominatingSetGreed /** Bestimmt besten Knoten nach Strategie: * Nimm den Knoten mit den meisten Nachbarn */ - public Knoten bestimmeBesten() { + private Knoten bestimmeBesten() { List knoten = g.getAlleKnoten(k->!k.isMarkiert()); info("Wiederhole für jeden noch nicht markierten Knoten"); @@ -47,5 +47,32 @@ public class GraphAlgo_DominatingSetGreedyA extends GraphAlgo_DominatingSetGreed return bester; } + // Anfang Methoden + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + List knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht()); + info("Solange es noch nicht überdeckte Knoten gibt, wiederhole..."); + int nr = 1; + while(knoten.size() > 0) { + info("Bestimme "+(nr++)+". hinzuzufügenden Knoten"); + infoIndentMore(); + Knoten bester = bestimmeBesten(); + bester.setMarkiert(true); + bester.setBesucht(false); + info("Markiere diesen Knoten ..."); + List nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht()); + for(Knoten k : nachbarn) { + k.setBesucht(true); + } + info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht"); + knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht()); + step(); + infoIndentLess(); + }// end of while + + } + // Ende Methoden } diff --git a/algorithmen/GraphAlgo_DominatingSetGreedyB.java b/algorithmen/GraphAlgo_DominatingSetGreedyB.java index fbb3ff9..3f0bff9 100644 --- a/algorithmen/GraphAlgo_DominatingSetGreedyB.java +++ b/algorithmen/GraphAlgo_DominatingSetGreedyB.java @@ -17,7 +17,7 @@ import graph.*; * @author Thomas Schaller */ -public class GraphAlgo_DominatingSetGreedyB extends GraphAlgo_DominatingSetGreedy { +public class GraphAlgo_DominatingSetGreedyB extends GraphAlgo { // Anfang Attribute @@ -28,7 +28,7 @@ public class GraphAlgo_DominatingSetGreedyB extends GraphAlgo_DominatingSetGreed /** Bestimmt besten Knoten nach Strategie: * Nimm den Knoten mit den wenigsten Nachbarn */ - protected Knoten bestimmeBesten() { + private Knoten bestimmeBesten() { List knoten = g.getAlleKnoten(k->!k.isMarkiert()); info("Wiederhole für jeden noch nicht markierten Knoten"); @@ -46,4 +46,32 @@ public class GraphAlgo_DominatingSetGreedyB extends GraphAlgo_DominatingSetGreed return bester; } + // Anfang Methoden + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + List knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht()); + info("Solange es noch nicht überdeckte Knoten gibt, wiederhole..."); + int nr = 1; + while(knoten.size() > 0) { + info("Bestimme "+(nr++)+". hinzuzufügenden Knoten"); + infoIndentMore(); + Knoten bester = bestimmeBesten(); + bester.setMarkiert(true); + bester.setBesucht(false); + info("Markiere diesen Knoten ..."); + List nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht()); + for(Knoten k : nachbarn) { + k.setBesucht(true); + } + info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht"); + knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht()); + step(); + infoIndentLess(); + }// end of while + + } + + // Ende Methoden } diff --git a/algorithmen/GraphAlgo_DominatingSetGreedyC.java b/algorithmen/GraphAlgo_DominatingSetGreedyC.java index 4480857..31dda8b 100644 --- a/algorithmen/GraphAlgo_DominatingSetGreedyC.java +++ b/algorithmen/GraphAlgo_DominatingSetGreedyC.java @@ -18,7 +18,7 @@ import graph.*; * @author Thomas Schaller */ -public class GraphAlgo_DominatingSetGreedyC extends GraphAlgo_DominatingSetGreedy { +public class GraphAlgo_DominatingSetGreedyC extends GraphAlgo { // Anfang Attribute @@ -29,7 +29,7 @@ public class GraphAlgo_DominatingSetGreedyC extends GraphAlgo_DominatingSetGreed /** Bestimmt besten Knoten nach Strategie: * Nimm den Knoten mit den meisten Nachbarn */ - protected Knoten bestimmeBesten() { + private Knoten bestimmeBesten() { List knoten = g.getAlleKnoten(k->!k.isMarkiert()); info("Wiederhole für jeden noch nicht markierten Knoten"); @@ -48,5 +48,32 @@ public class GraphAlgo_DominatingSetGreedyC extends GraphAlgo_DominatingSetGreed return bester; } - + // Anfang Methoden + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + List knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht()); + info("Solange es noch nicht überdeckte Knoten gibt, wiederhole..."); + int nr = 1; + while(knoten.size() > 0) { + info("Bestimme "+(nr++)+". hinzuzufügenden Knoten"); + infoIndentMore(); + Knoten bester = bestimmeBesten(); + bester.setMarkiert(true); + bester.setBesucht(false); + info("Markiere diesen Knoten ..."); + List nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht()); + for(Knoten k : nachbarn) { + k.setBesucht(true); + } + info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht"); + knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht()); + step(); + infoIndentLess(); + }// end of while + + } + + // Ende Methoden } diff --git a/algorithmen/GraphAlgo_DominatingSetGreedyD.java b/algorithmen/GraphAlgo_DominatingSetGreedyD.java index 534a508..fdb1a3c 100644 --- a/algorithmen/GraphAlgo_DominatingSetGreedyD.java +++ b/algorithmen/GraphAlgo_DominatingSetGreedyD.java @@ -18,7 +18,7 @@ import graph.*; * @author Thomas Schaller */ -public class GraphAlgo_DominatingSetGreedyD extends GraphAlgo_DominatingSetGreedy { +public class GraphAlgo_DominatingSetGreedyD extends GraphAlgo { // Anfang Attribute @@ -29,7 +29,7 @@ public class GraphAlgo_DominatingSetGreedyD extends GraphAlgo_DominatingSetGreed /** Bestimmt besten Knoten nach Strategie: * Nimm den Knoten mit den meisten Nachbarn */ - protected Knoten bestimmeBesten() { + private Knoten bestimmeBesten() { List knoten = g.getAlleKnoten(k->!k.isMarkiert()); info("Wiederhole für jeden noch nicht markierten Knoten"); @@ -48,4 +48,32 @@ public class GraphAlgo_DominatingSetGreedyD extends GraphAlgo_DominatingSetGreed return bester; } + // Anfang Methoden + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + List knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht()); + info("Solange es noch nicht überdeckte Knoten gibt, wiederhole..."); + int nr = 1; + while(knoten.size() > 0) { + info("Bestimme "+(nr++)+". hinzuzufügenden Knoten"); + infoIndentMore(); + Knoten bester = bestimmeBesten(); + bester.setMarkiert(true); + bester.setBesucht(false); + info("Markiere diesen Knoten ..."); + List nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht()); + for(Knoten k : nachbarn) { + k.setBesucht(true); + } + info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht"); + knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht()); + step(); + infoIndentLess(); + }// end of while + + } + + // Ende Methoden } diff --git a/algorithmen/GraphAlgo_DominatingSetGreedyE.java b/algorithmen/GraphAlgo_DominatingSetGreedyE.java index f5381d9..67b250f 100644 --- a/algorithmen/GraphAlgo_DominatingSetGreedyE.java +++ b/algorithmen/GraphAlgo_DominatingSetGreedyE.java @@ -18,7 +18,7 @@ import graph.*; * @author Thomas Schaller */ -public class GraphAlgo_DominatingSetGreedyE extends GraphAlgo_DominatingSetGreedy { +public class GraphAlgo_DominatingSetGreedyE extends GraphAlgo { // Anfang Attribute @@ -30,7 +30,7 @@ public class GraphAlgo_DominatingSetGreedyE extends GraphAlgo_DominatingSetGreed * ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat */ - protected Knoten bestimmeBesten() { + private Knoten bestimmeBesten() { Random r= new Random(); List markierte = g.getAlleKnoten(k->k.isMarkiert() ); @@ -67,5 +67,32 @@ public class GraphAlgo_DominatingSetGreedyE extends GraphAlgo_DominatingSetGreed return bester; } - + // Anfang Methoden + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + List knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht()); + info("Solange es noch nicht überdeckte Knoten gibt, wiederhole..."); + int nr = 1; + while(knoten.size() > 0) { + info("Bestimme "+(nr++)+". hinzuzufügenden Knoten"); + infoIndentMore(); + Knoten bester = bestimmeBesten(); + bester.setMarkiert(true); + bester.setBesucht(false); + info("Markiere diesen Knoten ..."); + List nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht()); + for(Knoten k : nachbarn) { + k.setBesucht(true); + } + info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht"); + knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht()); + step(); + infoIndentLess(); + }// end of while + + } + + // Ende Methoden } diff --git a/algorithmen/GraphAlgo_DominatingSetGreedyF.java b/algorithmen/GraphAlgo_DominatingSetGreedyF.java index 3108c7a..21673c2 100644 --- a/algorithmen/GraphAlgo_DominatingSetGreedyF.java +++ b/algorithmen/GraphAlgo_DominatingSetGreedyF.java @@ -18,7 +18,7 @@ import graph.*; * @author Thomas Schaller */ -public class GraphAlgo_DominatingSetGreedyF extends GraphAlgo_DominatingSetGreedy { +public class GraphAlgo_DominatingSetGreedyF extends GraphAlgo { // Anfang Attribute @@ -30,7 +30,7 @@ public class GraphAlgo_DominatingSetGreedyF extends GraphAlgo_DominatingSetGreed * ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat */ - protected Knoten bestimmeBesten() { + private Knoten bestimmeBesten() { Random r= new Random(); List markierte = g.getAlleKnoten(k->k.isMarkiert() ); @@ -67,4 +67,32 @@ public class GraphAlgo_DominatingSetGreedyF extends GraphAlgo_DominatingSetGreed return bester; } + // Anfang Methoden + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + List knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht()); + info("Solange es noch nicht überdeckte Knoten gibt, wiederhole..."); + int nr = 1; + while(knoten.size() > 0) { + info("Bestimme "+(nr++)+". hinzuzufügenden Knoten"); + infoIndentMore(); + Knoten bester = bestimmeBesten(); + bester.setMarkiert(true); + bester.setBesucht(false); + info("Markiere diesen Knoten ..."); + List nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht()); + for(Knoten k : nachbarn) { + k.setBesucht(true); + } + info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht"); + knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht()); + step(); + infoIndentLess(); + }// end of while + + } + + // Ende Methoden } diff --git a/algorithmen/GraphAlgo_DominatingSetGreedyG.java b/algorithmen/GraphAlgo_DominatingSetGreedyG.java index c7730ec..cb4e7cf 100644 --- a/algorithmen/GraphAlgo_DominatingSetGreedyG.java +++ b/algorithmen/GraphAlgo_DominatingSetGreedyG.java @@ -18,7 +18,7 @@ import graph.*; * @author Thomas Schaller */ -public class GraphAlgo_DominatingSetGreedyG extends GraphAlgo_DominatingSetGreedy { +public class GraphAlgo_DominatingSetGreedyG extends GraphAlgo { // Anfang Attribute @@ -30,7 +30,7 @@ public class GraphAlgo_DominatingSetGreedyG extends GraphAlgo_DominatingSetGreed * ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat */ - protected Knoten bestimmeBesten() { + private Knoten bestimmeBesten() { Random r= new Random(); List markierte = g.getAlleKnoten(k->k.isMarkiert() ); @@ -67,4 +67,32 @@ public class GraphAlgo_DominatingSetGreedyG extends GraphAlgo_DominatingSetGreed return bester; } + // Anfang Methoden + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + List knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht()); + info("Solange es noch nicht überdeckte Knoten gibt, wiederhole..."); + int nr = 1; + while(knoten.size() > 0) { + info("Bestimme "+(nr++)+". hinzuzufügenden Knoten"); + infoIndentMore(); + Knoten bester = bestimmeBesten(); + bester.setMarkiert(true); + bester.setBesucht(false); + info("Markiere diesen Knoten ..."); + List nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht()); + for(Knoten k : nachbarn) { + k.setBesucht(true); + } + info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht"); + knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht()); + step(); + infoIndentLess(); + }// end of while + + } + + // Ende Methoden } diff --git a/algorithmen/GraphAlgo_DominatingSetGreedyH.java b/algorithmen/GraphAlgo_DominatingSetGreedyH.java index 05845e0..b1d7c8d 100644 --- a/algorithmen/GraphAlgo_DominatingSetGreedyH.java +++ b/algorithmen/GraphAlgo_DominatingSetGreedyH.java @@ -18,7 +18,7 @@ import graph.*; * @author Thomas Schaller */ -public class GraphAlgo_DominatingSetGreedyH extends GraphAlgo_DominatingSetGreedy { +public class GraphAlgo_DominatingSetGreedyH extends GraphAlgo { // Anfang Attribute @@ -29,7 +29,7 @@ public class GraphAlgo_DominatingSetGreedyH extends GraphAlgo_DominatingSetGreed /** Bestimmt besten Knoten nach Strategie: * ein nicht abgedeckten Knoten, der von möglichst vielen schon ausgewählten Knoten die Entfernung 3 hat */ - protected Knoten bestimmeBesten() { + private Knoten bestimmeBesten() { Random r = new Random(); List markierte = g.getAlleKnoten(k->k.isMarkiert() ); List nichtabgedeckte = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht() ); @@ -70,4 +70,32 @@ public class GraphAlgo_DominatingSetGreedyH extends GraphAlgo_DominatingSetGreed return bester; } + // Anfang Methoden + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + List knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht()); + info("Solange es noch nicht überdeckte Knoten gibt, wiederhole..."); + int nr = 1; + while(knoten.size() > 0) { + info("Bestimme "+(nr++)+". hinzuzufügenden Knoten"); + infoIndentMore(); + Knoten bester = bestimmeBesten(); + bester.setMarkiert(true); + bester.setBesucht(false); + info("Markiere diesen Knoten ..."); + List nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht()); + for(Knoten k : nachbarn) { + k.setBesucht(true); + } + info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht"); + knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht()); + step(); + infoIndentLess(); + }// end of while + + } + + // Ende Methoden } diff --git a/algorithmen/GraphAlgo_DominatingSetGreedyI.java b/algorithmen/GraphAlgo_DominatingSetGreedyI.java index 5fce4d6..cdcf6d9 100644 --- a/algorithmen/GraphAlgo_DominatingSetGreedyI.java +++ b/algorithmen/GraphAlgo_DominatingSetGreedyI.java @@ -18,7 +18,7 @@ import graph.*; * @author Thomas Schaller */ -public class GraphAlgo_DominatingSetGreedyI extends GraphAlgo_DominatingSetGreedy { +public class GraphAlgo_DominatingSetGreedyI extends GraphAlgo { // Anfang Attribute @@ -30,7 +30,7 @@ public class GraphAlgo_DominatingSetGreedyI extends GraphAlgo_DominatingSetGreed * ein nicht abgedeckten Knoten, der von den ausgewählten Knoten eine möglichst große Entfernung hat */ - protected Knoten bestimmeBesten() { + private Knoten bestimmeBesten() { Random r = new Random(); List markierte = g.getAlleKnoten(k->k.isMarkiert() ); List nichtabgedeckte = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht() ); @@ -82,4 +82,33 @@ public class GraphAlgo_DominatingSetGreedyI extends GraphAlgo_DominatingSetGreed return bester; } + + // Anfang Methoden + public void fuehreAlgorithmusAus() { + if (g.getAnzahlKnoten()==0) { + return; + } + List knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht()); + info("Solange es noch nicht überdeckte Knoten gibt, wiederhole..."); + int nr = 1; + while(knoten.size() > 0) { + info("Bestimme "+(nr++)+". hinzuzufügenden Knoten"); + infoIndentMore(); + Knoten bester = bestimmeBesten(); + bester.setMarkiert(true); + bester.setBesucht(false); + info("Markiere diesen Knoten ..."); + List nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht()); + for(Knoten k : nachbarn) { + k.setBesucht(true); + } + info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht"); + knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht()); + step(); + infoIndentLess(); + }// end of while + + } + + // Ende Methoden } diff --git a/algorithmen/package.bluej b/algorithmen/package.bluej index 95b2c6b..a7985f2 100644 --- a/algorithmen/package.bluej +++ b/algorithmen/package.bluej @@ -1,261 +1,268 @@ -#BlueJ package file -dependency1.from=GraphAlgo_DominatingSetGreedyF -dependency1.to=GraphAlgo -dependency1.type=UsesDependency -dependency2.from=GraphAlgo_DominatingSetGreedyF -dependency2.to=GraphAlgo_Moore -dependency2.type=UsesDependency -dependency3.from=GraphAlgo_DominatingSetGreedyG -dependency3.to=GraphAlgo -dependency3.type=UsesDependency -dependency4.from=GraphAlgo_DominatingSetGreedyG -dependency4.to=GraphAlgo_Moore -dependency4.type=UsesDependency -dependency5.from=GraphAlgo_DominatingSetGreedyE -dependency5.to=GraphAlgo -dependency5.type=UsesDependency -dependency6.from=GraphAlgo_DominatingSetGreedyE -dependency6.to=GraphAlgo_Moore -dependency6.type=UsesDependency -dependency7.from=GraphAlgo_DominatingSetGreedyH -dependency7.to=GraphAlgo -dependency7.type=UsesDependency -dependency8.from=GraphAlgo_DominatingSetGreedyH -dependency8.to=GraphAlgo_Moore -dependency8.type=UsesDependency -objectbench.height=157 -objectbench.width=1896 -package.divider.horizontal=0.6003172085646312 -package.divider.vertical=0.829698857736241 -package.editor.height=792 -package.editor.width=1774 -package.editor.x=1919 -package.editor.y=0 -package.frame.height=1054 -package.frame.width=1922 -package.numDependencies=8 -package.numTargets=31 -package.showExtends=true -package.showUses=true -readme.height=60 -readme.name=@README -readme.width=49 -readme.x=10 -readme.y=10 -target1.height=50 -target1.name=GraphAlgo_ColoringGreedyRandom -target1.showInterface=false -target1.type=ClassTarget -target1.width=260 -target1.x=600 -target1.y=590 -target10.height=50 -target10.name=GraphAlgo_DominatingSetGreedyF -target10.showInterface=false -target10.type=ClassTarget -target10.width=260 -target10.x=290 -target10.y=420 -target11.height=50 -target11.name=GraphAlgo_DominatingSetGreedyG -target11.showInterface=false -target11.type=ClassTarget -target11.width=260 -target11.x=290 -target11.y=470 -target12.height=50 -target12.name=GraphAlgo_TSPGreedy -target12.showInterface=false -target12.type=ClassTarget -target12.width=230 -target12.x=600 -target12.y=160 -target13.height=50 -target13.name=GraphAlgo_DominatingSetGreedyD -target13.showInterface=false -target13.type=ClassTarget -target13.width=260 -target13.x=290 -target13.y=320 -target14.height=50 -target14.name=GraphAlgo_TSPGenetisch -target14.showInterface=false -target14.type=ClassTarget -target14.width=230 -target14.x=600 -target14.y=340 -target15.height=50 -target15.name=GraphAlgo_DominatingSetGreedyE -target15.showInterface=false -target15.type=ClassTarget -target15.width=260 -target15.x=290 -target15.y=370 -target16.height=50 -target16.name=GraphAlgo_DominatingSetGenetisch -target16.showInterface=false -target16.type=ClassTarget -target16.width=270 -target16.x=290 -target16.y=640 -target17.height=50 -target17.name=GraphAlgo_ZyklusBacktracking -target17.showInterface=false -target17.type=ClassTarget -target17.width=230 -target17.x=20 -target17.y=640 -target18.height=50 -target18.name=GraphAlgo_DominatingSetGreedyH -target18.showInterface=false -target18.type=ClassTarget -target18.width=260 -target18.x=290 -target18.y=520 -target19.height=50 -target19.name=GraphAlgo_DominatingSetGreedyI -target19.showInterface=false -target19.type=ClassTarget -target19.width=250 -target19.x=290 -target19.y=570 -target2.height=50 -target2.name=GraphAlgo_Tiefensuche -target2.showInterface=false -target2.type=ClassTarget -target2.width=210 -target2.x=20 -target2.y=170 -target20.height=50 -target20.name=GraphAlgo_Moore -target20.showInterface=false -target20.type=ClassTarget -target20.width=210 -target20.x=20 -target20.y=440 -target21.height=50 -target21.name=GraphAlgo_BellmanFord -target21.showInterface=false -target21.type=ClassTarget -target21.width=210 -target21.x=20 -target21.y=560 -target22.height=50 -target22.name=GraphAlgo_Breitensuche -target22.showInterface=false -target22.type=ClassTarget -target22.width=210 -target22.x=20 -target22.y=290 -target23.height=50 -target23.name=GraphAlgo_toplogischeSortierung -target23.showInterface=false -target23.type=ClassTarget -target23.width=250 -target23.x=20 -target23.y=370 -target24.height=50 -target24.name=GraphAlgo_DominatingSetBacktracking -target24.showInterface=false -target24.type=ClassTarget -target24.width=290 -target24.x=290 -target24.y=100 -target25.height=50 -target25.name=GraphAlgo_ColoringGreedy -target25.showInterface=false -target25.type=ClassTarget -target25.width=240 -target25.x=600 -target25.y=530 -target26.height=50 -target26.name=GraphAlgo_EulerkreisExistenz -target26.showInterface=false -target26.type=ClassTarget -target26.width=220 -target26.x=20 -target26.y=100 -target27.height=50 -target27.name=GraphAlgo_TSPGreedy2 -target27.showInterface=false -target27.type=ClassTarget -target27.width=230 -target27.x=600 -target27.y=220 -target28.height=50 -target28.name=GraphAlgo_TiefensucheRek -target28.showInterface=false -target28.type=ClassTarget -target28.width=210 -target28.x=20 -target28.y=230 -target29.height=50 -target29.name=GraphAlgo_ColoringBacktracking -target29.showInterface=false -target29.type=ClassTarget -target29.width=250 -target29.x=600 -target29.y=470 -target3.height=50 -target3.name=GraphAlgo_MST_Prim -target3.showInterface=false -target3.type=ClassTarget -target3.width=230 -target3.x=890 -target3.y=100 -target30.height=50 -target30.name=GraphAlgo_Dijkstra -target30.showInterface=false -target30.type=ClassTarget -target30.width=210 -target30.x=20 -target30.y=500 -target31.height=50 -target31.name=GraphAlgo_TSPGreedyOpt -target31.showInterface=false -target31.type=ClassTarget -target31.width=230 -target31.x=600 -target31.y=280 -target4.height=50 -target4.name=GraphAlgo_TSPBacktracking -target4.showInterface=false -target4.type=ClassTarget -target4.width=230 -target4.x=600 -target4.y=100 -target5.height=50 -target5.name=GraphAlgo_DominatingSetGreedyB -target5.showInterface=false -target5.type=ClassTarget -target5.width=260 -target5.x=290 -target5.y=220 -target6.height=50 -target6.name=GraphAlgo -target6.showInterface=false -target6.type=AbstractTarget -target6.width=90 -target6.x=310 -target6.y=10 -target7.height=50 -target7.name=GraphAlgo_DominatingSetGreedyC -target7.showInterface=false -target7.type=ClassTarget -target7.width=260 -target7.x=290 -target7.y=270 -target8.height=50 -target8.name=GraphAlgo_MST_Kruskal -target8.showInterface=false -target8.type=ClassTarget -target8.width=230 -target8.x=890 -target8.y=160 -target9.height=50 -target9.name=GraphAlgo_DominatingSetGreedyA -target9.showInterface=false -target9.type=ClassTarget -target9.width=260 -target9.x=290 -target9.y=170 +#BlueJ package file +dependency1.from=GraphAlgo_DominatingSetGreedyF +dependency1.to=GraphAlgo +dependency1.type=UsesDependency +dependency2.from=GraphAlgo_DominatingSetGreedyF +dependency2.to=GraphAlgo_Moore +dependency2.type=UsesDependency +dependency3.from=GraphAlgo_DominatingSetGreedyG +dependency3.to=GraphAlgo +dependency3.type=UsesDependency +dependency4.from=GraphAlgo_DominatingSetGreedyG +dependency4.to=GraphAlgo_Moore +dependency4.type=UsesDependency +dependency5.from=GraphAlgo_DominatingSetGreedyE +dependency5.to=GraphAlgo +dependency5.type=UsesDependency +dependency6.from=GraphAlgo_DominatingSetGreedyE +dependency6.to=GraphAlgo_Moore +dependency6.type=UsesDependency +dependency7.from=GraphAlgo_DominatingSetGreedyH +dependency7.to=GraphAlgo +dependency7.type=UsesDependency +dependency8.from=GraphAlgo_DominatingSetGreedyH +dependency8.to=GraphAlgo_Moore +dependency8.type=UsesDependency +objectbench.height=140 +objectbench.width=750 +package.divider.horizontal=0.6003172085646312 +package.divider.vertical=0.822463768115942 +package.editor.height=661 +package.editor.width=1133 +package.editor.x=234 +package.editor.y=49 +package.frame.height=928 +package.frame.width=1297 +package.numDependencies=8 +package.numTargets=32 +package.showExtends=true +package.showUses=true +readme.height=60 +readme.name=@README +readme.width=49 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=GraphAlgo_ColoringGreedyRandom +target1.showInterface=false +target1.type=ClassTarget +target1.width=290 +target1.x=600 +target1.y=590 +target10.height=50 +target10.name=GraphAlgo_DominatingSetGreedyF +target10.showInterface=false +target10.type=ClassTarget +target10.width=280 +target10.x=290 +target10.y=420 +target11.height=50 +target11.name=GraphAlgo_DominatingSetGreedyG +target11.showInterface=false +target11.type=ClassTarget +target11.width=290 +target11.x=290 +target11.y=470 +target12.height=50 +target12.name=GraphAlgo_TSPGreedy +target12.showInterface=false +target12.type=ClassTarget +target12.width=230 +target12.x=600 +target12.y=160 +target13.height=50 +target13.name=GraphAlgo_DominatingSetGreedyD +target13.showInterface=false +target13.type=ClassTarget +target13.width=290 +target13.x=290 +target13.y=320 +target14.height=50 +target14.name=GraphAlgo_TSPGenetisch +target14.showInterface=false +target14.type=ClassTarget +target14.width=230 +target14.x=600 +target14.y=340 +target15.height=50 +target15.name=GraphAlgo_DominatingSetGreedyE +target15.showInterface=false +target15.type=ClassTarget +target15.width=280 +target15.x=290 +target15.y=370 +target16.height=50 +target16.name=GraphAlgo_DominatingSetGenetisch +target16.showInterface=false +target16.type=ClassTarget +target16.width=300 +target16.x=290 +target16.y=640 +target17.height=50 +target17.name=GraphAlgo_ZyklusBacktracking +target17.showInterface=false +target17.type=ClassTarget +target17.width=210 +target17.x=20 +target17.y=410 +target18.height=50 +target18.name=GraphAlgo_DominatingSetGreedyH +target18.showInterface=false +target18.type=ClassTarget +target18.width=290 +target18.x=290 +target18.y=520 +target19.height=50 +target19.name=GraphAlgo_DominatingSetGreedyI +target19.showInterface=false +target19.type=ClassTarget +target19.width=280 +target19.x=290 +target19.y=570 +target2.height=50 +target2.name=GraphAlgo_Tiefensuche +target2.showInterface=false +target2.type=ClassTarget +target2.width=210 +target2.x=20 +target2.y=160 +target20.height=50 +target20.name=GraphAlgo_Moore +target20.showInterface=false +target20.type=ClassTarget +target20.width=210 +target20.x=10 +target20.y=480 +target21.height=50 +target21.name=GraphAlgo_BellmanFord +target21.showInterface=false +target21.type=ClassTarget +target21.width=210 +target21.x=10 +target21.y=660 +target22.height=50 +target22.name=GraphAlgo_Breitensuche +target22.showInterface=false +target22.type=ClassTarget +target22.width=210 +target22.x=20 +target22.y=280 +target23.height=50 +target23.name=GraphAlgo_toplogischeSortierung +target23.showInterface=false +target23.type=ClassTarget +target23.width=210 +target23.x=20 +target23.y=350 +target24.height=50 +target24.name=GraphAlgo_DominatingSetBacktracking +target24.showInterface=false +target24.type=ClassTarget +target24.width=320 +target24.x=290 +target24.y=100 +target25.height=50 +target25.name=GraphAlgo_ColoringGreedy +target25.showInterface=false +target25.type=ClassTarget +target25.width=240 +target25.x=600 +target25.y=530 +target26.height=50 +target26.name=GraphAlgo_DijkstraMitVorgaenger +target26.showInterface=false +target26.type=ClassTarget +target26.width=210 +target26.x=10 +target26.y=600 +target27.height=50 +target27.name=GraphAlgo_EulerkreisExistenz +target27.showInterface=false +target27.type=ClassTarget +target27.width=210 +target27.x=20 +target27.y=100 +target28.height=50 +target28.name=GraphAlgo_TiefensucheRek +target28.showInterface=false +target28.type=ClassTarget +target28.width=210 +target28.x=20 +target28.y=220 +target29.height=50 +target29.name=GraphAlgo_TSPGreedy2 +target29.showInterface=false +target29.type=ClassTarget +target29.width=230 +target29.x=600 +target29.y=220 +target3.height=50 +target3.name=GraphAlgo_MST_Prim +target3.showInterface=false +target3.type=ClassTarget +target3.width=230 +target3.x=890 +target3.y=100 +target30.height=50 +target30.name=GraphAlgo_ColoringBacktracking +target30.showInterface=false +target30.type=ClassTarget +target30.width=270 +target30.x=600 +target30.y=470 +target31.height=50 +target31.name=GraphAlgo_Dijkstra +target31.showInterface=false +target31.type=ClassTarget +target31.width=210 +target31.x=10 +target31.y=540 +target32.height=50 +target32.name=GraphAlgo_TSPGreedyOpt +target32.showInterface=false +target32.type=ClassTarget +target32.width=230 +target32.x=600 +target32.y=280 +target4.height=50 +target4.name=GraphAlgo_TSPBacktracking +target4.showInterface=false +target4.type=ClassTarget +target4.width=240 +target4.x=600 +target4.y=100 +target5.height=50 +target5.name=GraphAlgo_DominatingSetGreedyB +target5.showInterface=false +target5.type=ClassTarget +target5.width=290 +target5.x=290 +target5.y=220 +target6.height=50 +target6.name=GraphAlgo +target6.showInterface=false +target6.type=AbstractTarget +target6.width=100 +target6.x=310 +target6.y=10 +target7.height=50 +target7.name=GraphAlgo_DominatingSetGreedyC +target7.showInterface=false +target7.type=ClassTarget +target7.width=290 +target7.x=290 +target7.y=270 +target8.height=50 +target8.name=GraphAlgo_MST_Kruskal +target8.showInterface=false +target8.type=ClassTarget +target8.width=230 +target8.x=890 +target8.y=160 +target9.height=50 +target9.name=GraphAlgo_DominatingSetGreedyA +target9.showInterface=false +target9.type=ClassTarget +target9.width=290 +target9.x=290 +target9.y=170 diff --git a/beispielgraphen/02_topologischesortierung/01_aufbausimulation1.csv b/beispielgraphen/02_topologischesortierung/01_aufbausimulation1.csv index a399cf1..b52d928 100644 --- a/beispielgraphen/02_topologischesortierung/01_aufbausimulation1.csv +++ b/beispielgraphen/02_topologischesortierung/01_aufbausimulation1.csv @@ -22,5 +22,5 @@ Schweinefarm,124,239,4 Metzger,171,404,5,6 Kohlemine,425,441,7,8 Erzmine,734,308,7 -Eisenschmelze,576,315,8 -Werkzeugmacher,401,258,0,4,5,6 \ No newline at end of file +Eisenschmelze,552,336,8 +Werkzeugmacher,401,258,0,4,5,7 \ No newline at end of file diff --git a/beispielgraphen/02_topologischesortierung/02_aufbausimulation2.csv b/beispielgraphen/02_topologischesortierung/02_aufbausimulation2.csv index 443b508..347b375 100644 --- a/beispielgraphen/02_topologischesortierung/02_aufbausimulation2.csv +++ b/beispielgraphen/02_topologischesortierung/02_aufbausimulation2.csv @@ -3,7 +3,7 @@ showWeights,0 # Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0 showInfoText,1 # Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2 -vertexStyle,2 +vertexStyle,1 # Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben! image,siedler.png # @@ -24,4 +24,4 @@ Kohlemine,423,445,7,8 Erzmine,724,314,7 Eisenschmelze,537,326,8 Werkzeugmacher,389,246,0,4 -Fischerhütte,741,456,6,5 +Fischerhütte,741,456,6,5 \ No newline at end of file diff --git a/config.csv b/config.csv new file mode 100644 index 0000000..e01ccdb --- /dev/null +++ b/config.csv @@ -0,0 +1,3 @@ +false,false +272.0,138.0,1648.0,822.0 +H:\GitTest\3_vorlagen_tauschordner\1_graphentester\beispielgraphen\03_routenplanung\03_badenbaden.csv diff --git a/control/Controller.java b/control/Controller.java index 6707ca0..2df4018 100644 --- a/control/Controller.java +++ b/control/Controller.java @@ -3,6 +3,11 @@ package control; import imp.*; import graph.*; import algorithmen.*; +import java.io.FileReader; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.FileWriter; import javafx.fxml.*; import javafx.scene.control.*; @@ -18,6 +23,7 @@ import java.io.File; import java.nio.file.*; import javafx.stage.FileChooser.ExtensionFilter; import javafx.scene.image.Image; +import javafx.geometry.Rectangle2D; import java.util.List; import java.util.ArrayList; @@ -26,11 +32,14 @@ import javafx.collections.ObservableList; * Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar. * * @author Thomas Schaller - * @version v6.7 (9.12.2020) + * @version 03.03.2023 (v7.1) + * v7.0: Die aktuelle Bildschirmposition und der angezeigte Graph werden in config.csv abgelegt. + * v7.1: Verzeichnisauswahl für Laden/Speichern verbessert */ public class Controller { - private String version = "6.8 (Februar 2021)"; + private String version = "7.0 (Februar 2023)"; + private String pfad; // Pfad der aktuell angezeigten Datei @FXML private TabPane tpRekursionen; @@ -74,8 +83,10 @@ public class Controller { private FileChooser dateidialog; private Graph graph; private GraphOptions options; + private Stage stage; public void initialize() { + dateidialog = new FileChooser(); dateidialog.setInitialDirectory(new File("beispielgraphen")); @@ -85,6 +96,60 @@ public class Controller { tpRekursionen.getSelectionModel().selectedItemProperty(). addListener((value, tabOld, tabNew) -> changeTab(tabOld, tabNew)); + BufferedReader in =null; + try{ + in = new BufferedReader(new FileReader("config.csv")); + String fullScreen = in.readLine(); + String posSize = in.readLine(); + String[] ps = posSize.split(","); + Rectangle2D ss = Screen.getPrimary().getBounds(); + + stage.setX(Double.parseDouble(ps[0])); + stage.setY(Double.parseDouble(ps[1])); + stage.setWidth(Math.min(Double.parseDouble(ps[2]), ss.getWidth()-Double.parseDouble(ps[0]))); + stage.setHeight(Math.min(Double.parseDouble(ps[3]), ss.getHeight()-Double.parseDouble(ps[1]))); + String[] fs = fullScreen.split(","); + if(fs[0].equals("true")) stage.setFullScreen(true); + if(fs[1].equals("true")) stage.setMaximized(true); + pfad = in.readLine(); + File f = new File(pfad); + f.getCanonicalPath(); + if(!pfad.isBlank() && f.exists()){ + graphLaden(pfad); + dateidialog.setInitialDirectory((f.getAbsoluteFile()).getParentFile()); + } else { + pfad = ""; + } + } + catch(Exception e) { + pfad = ""; + dateidialog.setInitialDirectory(new File("beispielgraphen")); + } + finally{ + try{if(in != null) in.close();} catch(IOException e) {} + showTitle(); + } + + } + + public void saveAktConfig() { + PrintWriter pWriter = null; + String s = "config.csv"; + try { + pWriter = new PrintWriter(new FileWriter(s)); + pWriter.println(stage.isFullScreen()+","+stage.isMaximized()); + stage.setFullScreen(false); + stage.setMaximized(false); + pWriter.println(stage.getX()+","+stage.getY()+","+stage.getWidth()+","+ stage.getHeight()); + pWriter.println(pfad); + } catch (IOException ioe) { + ioe.printStackTrace(); + } finally { + if (pWriter != null) { + pWriter.flush(); + pWriter.close(); + } + } } private void changeTab(Tab tabOld, Tab tabNew) { @@ -113,20 +178,26 @@ public class Controller { } catch(Exception e) { - System.out.println(e); + // System.out.println(e); } } + public void setStage(Stage s){ + stage = s; + } + @FXML void mNeuerGraph(ActionEvent event) { while(tpRekursionen.getTabs().size()>1) tpRekursionen.getTabs().remove(1); TabMitController tc = (TabMitController) (tpRekursionen.getTabs().get(0)); - options = new GraphOptions(); graph = new Graph(); + options = new GraphOptions(graph); tc.setGraph(graph, options); + pfad = ""; + showTitle(); menuChangeAnsicht(); } @@ -154,7 +225,7 @@ public class Controller { tpRekursionen.getSelectionModel().select(newtab); } catch(Exception e) { - System.out.println(e); + //System.out.println(e); } } @@ -173,7 +244,7 @@ public class Controller { tpRekursionen.getSelectionModel().select(newtab); } catch(Exception e) { - System.out.println(e); + // System.out.println(e); } } @@ -233,10 +304,11 @@ public class Controller { @FXML public void mBeenden(ActionEvent event) { + saveAktConfig(); schliesseTabs(); ((Stage)tpRekursionen.getScene().getWindow()).close(); + System.exit(0); } - void menuChangeAnsicht() { TabMitController tc = (TabMitController) (tpRekursionen.getSelectionModel().getSelectedItem()); @@ -322,43 +394,74 @@ public class Controller { @FXML void mOeffnen(ActionEvent event) { + dateidialog.getExtensionFilters().clear(); + dateidialog.getExtensionFilters().add(new ExtensionFilter("Graph-Datei (*.csv)", "*.csv")); + File file = dateidialog.showOpenDialog(null); if (file != null) { graphLaden(file.getAbsolutePath()); + dateidialog.setInitialDirectory(file.getAbsoluteFile().getParentFile()); } } - void graphLaden(String dateiname) { + void graphLaden(String p) { while(tpRekursionen.getTabs().size()>2) tpRekursionen.getTabs().remove(1); - TabMitController tc = (TabMitController) (tpRekursionen.getTabs().get(0)); - options = new GraphOptions(); - Table csvParser = new Table(dateiname,"",',','"'); - options.ladeGraph(csvParser); - graph = new Graph(); - graph.ladeGraph(csvParser); + File f = new File(p); + if(f.exists() ){ + pfad = p; + + Table csvParser = new Table(pfad,"",',','"'); + + graph = new Graph(); + graph.ladeGraph(csvParser); + + options = new GraphOptions(graph); + options.ladeGraph(csvParser); - tc.setGraph(graph, options); - if(tpRekursionen.getTabs().size()>1){ - tc = (TabMitController) (tpRekursionen.getTabs().get(1)); tc.setGraph(graph, options); - } + + if(tpRekursionen.getTabs().size()>1){ + tc = (TabMitController) (tpRekursionen.getTabs().get(1)); + tc.setGraph(graph, options); + } + } menuChangeAnsicht(); + showTitle(); + + } + + public void showTitle() { + + if(stage!=null) { + if(pfad == null || pfad.equals("")) { + stage.setTitle("GraphTester by Thomas Schaller - Version "+version); + } else { + String[] arr = pfad.split("[/\\\\]"); + String dateiname = arr[arr.length-1]; + stage.setTitle("GraphTester by Thomas Schaller - Version "+version+" - "+dateiname); + } + } } @FXML void mSchliessen(ActionEvent event) { - mNeuerGraph(event); + mNeuerGraph(event); } @FXML void mSpeichern(ActionEvent event) { - dateidialog.getExtensionFilters().clear(); - dateidialog.getExtensionFilters().add(new ExtensionFilter("Graph-Datei (*.csv)", "*.csv")); + dateidialog.getExtensionFilters().clear(); + dateidialog.getExtensionFilters().add(new ExtensionFilter("Graph-Datei (*.csv)", "*.csv")); + if(!pfad.isBlank()) + dateidialog.setInitialFileName(new File(pfad).getName()); + else + dateidialog.setInitialFileName(""); + File file = dateidialog.showSaveDialog(null); if (file != null) { try{ @@ -371,7 +474,9 @@ public class Controller { String name = dateiName.substring(dateiName.lastIndexOf("\\")+1); if(name.contains(".")) dateiName = dateiName.substring(0, dateiName.lastIndexOf(".")); Files.write(Paths.get(file.getAbsolutePath()), text.getBytes()); - + pfad = file.getAbsolutePath(); + dateidialog.setInitialDirectory(file.getAbsoluteFile().getParentFile()); + showTitle(); } catch(Exception e) { } @@ -381,21 +486,22 @@ public class Controller { @FXML void mBildExportieren(ActionEvent event) { - dateidialog.getExtensionFilters().clear(); - dateidialog.getExtensionFilters().add(new ExtensionFilter("Bild des Graphen", "*.png","*.gif")); - File file = dateidialog.showSaveDialog(null); + dateidialog.getExtensionFilters().clear(); + dateidialog.getExtensionFilters().add(new ExtensionFilter("Bild des Graphen", "*.png","*.gif")); + File file = dateidialog.showSaveDialog(null); if (file != null) { try{ TabMitController tc = (TabMitController) (tpRekursionen.getSelectionModel().getSelectedItem()); Picture p = tc.getViewer().updateImage(); String dateiName = file.getAbsolutePath(); - p.save(dateiName); + p.save(dateiName); } catch(Exception e) { } } } + @FXML void mUeber(ActionEvent event) { Alert alert = new Alert(AlertType.INFORMATION); diff --git a/control/EditTabMitController.java b/control/EditTabMitController.java index 3abdaff..1ebd2c5 100644 --- a/control/EditTabMitController.java +++ b/control/EditTabMitController.java @@ -25,13 +25,13 @@ import java.util.Optional; * zur Editierung eines Graphs dar. * * @author Thomas Schaller - * @version v6.7 (9.12.2020) + * @version 03.03.2023 (v7.1) + * v7.1: Aktualisierung der Anzeige bei Wechsel gewichtet/ungewichtet angepasst + * v6.9: Context-Menü schließt, wenn an andere Stelle geklickt wird */ - public class EditTabMitController extends TabMitController { - public EditTabMitController(Graph graph, GraphOptions options) { this.graph = graph; this.options = options; @@ -127,6 +127,13 @@ public class EditTabMitController extends TabMitController { void setGewichtet(boolean gewichtet) { graph.setGewichtet(gewichtet); options.showEdgeWeights = gewichtet; + if(graph.isGewichtet()) { + options.kanteKurztext = new String[]{"Gewicht"}; + options.kanteLangtext = new String[]{"Gewicht","Markiert","Gelöscht"}; + } else { + options.kanteKurztext = new String[]{}; + options.kanteLangtext = new String[]{"Markiert","Gelöscht"}; + } update(); } @@ -179,7 +186,6 @@ public class EditTabMitController extends TabMitController { @FXML void graphClicked(MouseEvent event) { // MousePressed-Event - viewer.mouseClicked(event); viewer.mouseDown(event); if((viewer.getSelectedKnoten() != null || viewer.getSelectedKante() != null) && event.isSecondaryButtonDown()) { // Contextmenu @@ -200,11 +206,13 @@ public class EditTabMitController extends TabMitController { if (viewer.getSelectedKnoten() != null) contextMenu.getItems().add( item3 ); - contextMenu.show(viewer, event.getScreenX(), event.getScreenY()); + getViewer().setContextMenu(contextMenu); + //contextMenu.show(viewer, event.getScreenX(), event.getScreenY()); } } public void mLoesche() { + viewer.setContextMenu(null); if(viewer.getSelectedKnoten() != null) { graph.entferneKnoten(viewer.getSelectedKnoten()); update(); @@ -216,6 +224,8 @@ public class EditTabMitController extends TabMitController { } public void mWertAendern() { + viewer.setContextMenu(null); + Knoten k = viewer.getSelectedKnoten(); Kante ka = viewer.getSelectedKante(); if(k != null || ka !=null) { @@ -242,6 +252,8 @@ public class EditTabMitController extends TabMitController { } public void mInfotextAendern() { + viewer.setContextMenu(null); + Knoten k = viewer.getSelectedKnoten(); if(k != null ) { TextInputDialog dialog = new TextInputDialog(k.getInfotext()); diff --git a/control/SimulationTabMitController.java b/control/SimulationTabMitController.java index 7f04e29..76f2786 100644 --- a/control/SimulationTabMitController.java +++ b/control/SimulationTabMitController.java @@ -15,6 +15,9 @@ import javafx.scene.text.*; import javafx.geometry.Pos; import javafx.scene.image.Image; import javafx.stage.*; // Dateiöffnen / Speichern-Dialog +import javafx.application.Platform; +import javafx.scene.input.Clipboard; +import javafx.scene.input.ClipboardContent; import java.io.File; import java.net.URI; import java.net.URL; @@ -23,11 +26,11 @@ import java.nio.file.*; import java.util.Collections; import java.util.stream.Stream; import java.util.Iterator; - - +import java.util.List; import java.util.ArrayList; import java.util.regex.Pattern; +import java.lang.reflect.InvocationTargetException; import javafx.collections.ObservableList; @@ -37,9 +40,13 @@ import javafx.collections.ObservableList; * durchgeführt werden. * * @author Thomas Schaller - * @version v6.7 (9.12.2020) + * @version 03.03.2023 (v7.0) + * v7.1: Fehler bei Aktualisierung des Hilfefensters behoben, Splitpane statt HBox + * v7.0: Mechanismus geändert, so dass die init-Methode des Algorithmus beim Wechesel eines Algorithmus + * aufgerufen wird, um die für diesen Algorithmus passenden Anzeigeeinstellungen zu setzen. + * v6.9: Hilfefenster ist in Simulationsfenster integriert */ -public class SimulationTabMitController extends TabMitController { +public class SimulationTabMitController extends TabMitController implements Hilfe { @FXML private ComboBox cbAlgorithmen; @@ -61,22 +68,23 @@ public class SimulationTabMitController extends TabMitController { private GraphAlgo aktAlgo = null; private ArrayList algoNamen; - private Hilfefenster hilfe; + private Hilfe hilfe; public SimulationTabMitController(Graph graph, GraphOptions options) { this.graph = graph; this.options = options; - this.setOnClosed((ev)->afterClosing()); + } public void initialize() { this.algoNamen = new ArrayList(); - try { - File verzeichnis = new File("algorithmen"); - if(verzeichnis != null) { - String[] entries = verzeichnis.list(); - for (String name : entries) { - if (name.startsWith("GraphAlgo_") && name.endsWith(".class")){ + + File verzeichnis = new File("algorithmen"); + if(verzeichnis != null && verzeichnis.isDirectory()) { + String[] entries = verzeichnis.list(); + for (String name : entries) { + if (name.startsWith("GraphAlgo_") && name.endsWith(".class")){ + try{ Class c = Class.forName("algorithmen."+name.split(Pattern.quote("."))[0]); GraphAlgo a = ((GraphAlgo)(c).getDeclaredConstructor().newInstance()); int i = 0; @@ -87,13 +95,23 @@ public class SimulationTabMitController extends TabMitController { algoNamen.add(i, "algorithmen."+name.split(Pattern.quote("."))[0]); } - } // end of for - } - verzeichnis = new File( "eigeneAlgorithmen" ); - if(verzeichnis != null) { - String[] entries = verzeichnis.list(); - for (String name : entries) { - if (name.startsWith("GraphAlgo_") && name.endsWith(".class")){ + catch(ExceptionInInitializerError e) {} + catch(LinkageError e){} + catch(ClassNotFoundException e) {} + catch(NoSuchMethodException e) {} + catch(InstantiationException e) {} + catch(IllegalAccessException e) {} + catch(InvocationTargetException e) {} + + } + } // end of for + } + verzeichnis = new File( "eigeneAlgorithmen" ); + if(verzeichnis != null && verzeichnis.isDirectory()) { + String[] entries = verzeichnis.list(); + for (String name : entries) { + if (name.startsWith("GraphAlgo_") && name.endsWith(".class")){ + try{ Class c = Class.forName("eigeneAlgorithmen."+name.split(Pattern.quote("."))[0]); GraphAlgo a = ((GraphAlgo)(c).getDeclaredConstructor().newInstance()); int i = 0; @@ -104,12 +122,21 @@ public class SimulationTabMitController extends TabMitController { algoNamen.add(i, "eigeneAlgorithmen."+name.split(Pattern.quote("."))[0]); } - } // end of for - } - } catch(Exception e) - { - System.out.println("Exception " + e); - } + catch(ExceptionInInitializerError e) {} + catch(LinkageError e){} + catch(ClassNotFoundException e) {} + catch(NoSuchMethodException e) {} + catch(InstantiationException e) {} + catch(IllegalAccessException e) {} + catch(InvocationTargetException e) {} + + } + } // end of for + } + + cbAlgorithmen.getSelectionModel().selectedItemProperty().addListener((options, oldValue, newValue) -> { + changeAlgorithm(); + }); viewer.setGraph(graph,options); this.hilfe = null; @@ -120,44 +147,39 @@ public class SimulationTabMitController extends TabMitController { bStart.managedProperty().bind(bStart.visibleProperty()); bBreak.managedProperty().bind(bBreak.visibleProperty()); bBreak.setVisible(false); - } - private void afterClosing() { - if (hilfe != null) hilfe.close(); - } + //------------- Hilfefunktion + loescheAlles(); + zustaende = new ArrayList>(); + aktuell = null; + reviewAllowed = false; + tvAblauf.getSelectionModel().selectedIndexProperty().addListener((obs,oldValue, newValue)->showState()); - private void hilfefensterErzeugen() { - try { // try-catch ist notwendig, um Fehler durch fehlende Dateien abzufangen. - if(hilfe != null) hilfe.close(); - - hilfe = new Hilfefenster(); - FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/hilfefenster.fxml")); - loader.setController(hilfe); - Scene scene = new Scene((VBox) loader.load()); - Image icon = new Image("/view/icon.png"); - hilfe.getIcons().add(icon); - hilfe.setTitle("Hilfefenster"); - hilfe.setScene(scene); - hilfe.setX(0); - hilfe.setY(0); - } - catch(Exception e) { - System.out.println(e); - } } public void showHilfe(boolean b) { if(b) { - hilfefensterErzeugen(); - hilfe.show(); - if(aktAlgo != null && aktAlgo.isAlive()) { + lAblauf.setVisible(true); + tvAblauf.setVisible(true); + bClipboard.setVisible(true); + + hilfe = this; + if(aktAlgo != null ) { aktAlgo.setGUIElemente(viewer,hilfe); - hilfe.append("Unvollständiger Ablauf"); + if(aktAlgo.isAlive()) + hilfe.append("Unvollständiger Ablauf"); } } else { - if (hilfe != null) hilfe.close(); + lAblauf.setVisible(false); + tvAblauf.setVisible(false); + bClipboard.setVisible(false); + if(aktAlgo != null && aktAlgo.isAlive()) aktAlgo.setGUIElemente(viewer, null); hilfe = null; + loescheAlles(); + zustaende = new ArrayList>(); + aktuell = null; + reviewAllowed = false; } } @@ -166,48 +188,56 @@ public class SimulationTabMitController extends TabMitController { mReset(null); } - @FXML - void mReset(ActionEvent event) { + public void changeAlgorithm() { if(aktAlgo != null && aktAlgo.isAlive()) aktAlgo.stop(); graph.initialisiereAlleKnoten(); graph.initialisiereAlleKanten(); - update(); - //gp.setInfoText(gp.getGraph().toString()); + bStep.setDisable(false); bStart.setDisable(false); bStart.setVisible(true); bBreak.setVisible(false); if (hilfe != null) hilfe.loescheAlles(); this.aktAlgo = null; + + if(cbAlgorithmen.getSelectionModel().getSelectedIndex() >= 0) { + + try{ + ClassLoader parentClassLoader = MyClassLoader.class.getClassLoader(); + MyClassLoader classLoader = new MyClassLoader(parentClassLoader); + Class c = classLoader.loadClass(algoNamen.get(cbAlgorithmen.getSelectionModel().getSelectedIndex())); + + aktAlgo = ((GraphAlgo)(c).getDeclaredConstructor().newInstance()); + aktAlgo.setStartKnoten(viewer.getSelectedKnoten()); + aktAlgo.setGUIElemente(viewer, hilfe); + aktAlgo.setSpeed(910-(int) (sSpeed.getValue())); + aktAlgo.init(); + } catch( Exception e) { + System.out.println(e); + } + } + + update(); + + } + + @FXML + void mReset(ActionEvent event) { + + changeAlgorithm(); } @FXML void mStep(ActionEvent event) { - - if (aktAlgo == null ) { - if(cbAlgorithmen.getSelectionModel().getSelectedIndex() >= 0) { - try{ - ClassLoader parentClassLoader = MyClassLoader.class.getClassLoader(); - MyClassLoader classLoader = new MyClassLoader(parentClassLoader); - Class c = classLoader.loadClass(algoNamen.get(cbAlgorithmen.getSelectionModel().getSelectedIndex())); - - aktAlgo = ((GraphAlgo)(c).getDeclaredConstructor().newInstance()); - aktAlgo.setStartKnoten(viewer.getSelectedKnoten()); - aktAlgo.setGUIElemente(viewer, hilfe); - aktAlgo.setSpeed(910-(int) (sSpeed.getValue())); - } catch( Exception e) { - System.out.println(e); - } - aktAlgo.start(); - } + if (aktAlgo == null) return; + if (aktAlgo.getState() == Thread.State.NEW ) { + aktAlgo.setStartKnoten(viewer.getSelectedKnoten()); + aktAlgo.start(); } else { if(aktAlgo.isAlive()) { aktAlgo.setSpeed(910-(int) (sSpeed.getValue())); aktAlgo.setWaitforclick(false); - //gp.setInfoText(aktAlgo.getInfo()); - } else { - //gp.setInfoText("Algorithmus ist beendet. "+aktAlgo.getInfo()); bStep.setDisable(true); bStart.setDisable(true); bBreak.setDisable(true); @@ -218,7 +248,6 @@ public class SimulationTabMitController extends TabMitController { } catch(Exception e) {} if (!aktAlgo.isAlive()) { - //gp.setInfoText("Algorithmus ist beendet"+aktAlgo.getInfo()); bStep.setDisable(true); bStart.setDisable(true); bBreak.setDisable(true); @@ -227,41 +256,19 @@ public class SimulationTabMitController extends TabMitController { @FXML void mStart(ActionEvent event) { - - if (aktAlgo == null ) { - if(cbAlgorithmen.getSelectionModel().getSelectedIndex() >= 0) { - try{ - ClassLoader parentClassLoader = MyClassLoader.class.getClassLoader(); - MyClassLoader classLoader = new MyClassLoader(parentClassLoader); - Class c = classLoader.loadClass(algoNamen.get(cbAlgorithmen.getSelectionModel().getSelectedIndex())); - - aktAlgo = ((GraphAlgo)(c).getDeclaredConstructor().newInstance()); - - aktAlgo.setStartKnoten(viewer.getSelectedKnoten()); - aktAlgo.setGUIElemente(viewer,hilfe); - aktAlgo.setSpeed(910-(int) (sSpeed.getValue())); - - } catch( Exception e) { - System.out.println(e); - } - - aktAlgo.setStepping(false); - aktAlgo.start(); - } + if (aktAlgo == null) return; + if (aktAlgo.getState() == Thread.State.NEW ) { + aktAlgo.setStartKnoten(viewer.getSelectedKnoten()); + aktAlgo.setStepping(false); + aktAlgo.start(); } else { if(aktAlgo.isAlive()) { aktAlgo.setSpeed(910-(int) (sSpeed.getValue())); aktAlgo.setStepping(false); aktAlgo.setWaitforclick(false); - //gp.setInfoText(aktAlgo.getInfo()); - - } else { - //gp.setInfoText("Algorithmus ist beendet. "+aktAlgo.getInfo()); - - } // end of if-else + } } // end of if-else - // gp.setInfoText(aktAlgo.getInfo()); bStep.setDisable(true); bStart.setVisible(false); bBreak.setVisible(true); @@ -277,4 +284,151 @@ public class SimulationTabMitController extends TabMitController { bStep.setDisable(false); } } + + // --------- Hilfefenster -------------------------------------------- + @FXML + private TreeView tvAblauf; + + @FXML + private Label lAblauf; + + @FXML + private Button bClipboard; + + private List> stufen; + private List> zustaende; + private TreeItem last; + private GraphPlotter gp; + private List aktuell; + private boolean reviewAllowed; + + public void setGraphPlotter(GraphPlotter gp) { + this.gp = gp; + } + + public void loescheAlles() { + Platform.runLater(new Runnable() { + @Override + public void run() { + stufen = new ArrayList>(); + zustaende = new ArrayList>(); + TreeItem root = new TreeItem("Algorithmus"); + root.setExpanded(true); + last = root; + tvAblauf.setRoot(root); + tvAblauf.setShowRoot(false); + stufen.add(root); + } + }); + + } + + public void append(String text) { + List status = gp.getGraph().getStatus(); + Platform.runLater(new Runnable() { + @Override + public void run() { + last = new TreeItem(text); + stufen.get(stufen.size()-1).getChildren().add(last); + zustaende.add(status); + } + }); + + } + + public void indentMore() { + Platform.runLater(new Runnable() { + @Override + public void run() { + if(stufen.size() == 1) { // Hauptknoten + TreeItem parent = stufen.get(0); + List children = parent.getChildren(); + for(int i=children.size()-1; i >= 0; i--) { + TreeItem t = children.get(i); + if(t.isExpanded()) { + t.setExpanded(false); + break; + } + } + } + stufen.add(last); + last.setExpanded(true); + last.expandedProperty().addListener((b, o, n) -> showState()); + } + }); + + } + + public void indentLess() { + Platform.runLater(new Runnable() { + @Override + public void run() { + if(stufen.size() > 1) stufen.remove(stufen.size()-1); + } + }); + } + + public void setReviewAllowed(boolean a) { + this.reviewAllowed = a; + if(!reviewAllowed) tvAblauf.getSelectionModel().clearSelection(); + } + + public void showState() { + Platform.runLater(new Runnable() { + @Override + public void run() { + if(reviewAllowed && tvAblauf.getSelectionModel().getSelectedIndex()>=0) { + TreeItem s = tvAblauf.getSelectionModel().getSelectedItem(); + if(!s.isExpanded()) { // suche das letzte Kind + while(s.getChildren().size()>0){ + List c = s.getChildren(); + s = c.get(c.size()-1); + } + } + gp.getGraph().setStatus(zustaende.get(calculateIndex(tvAblauf.getRoot(), s ,0)-1)); + gp.updateImage(); + } + } + }); + + } + + private int calculateIndex(TreeItem t, TreeItem search, int nr) { + if(t == search) return nr; + nr++; + List children = t.getChildren(); + for(TreeItem c : children) { + int i = calculateIndex(c, search, nr); + if(i>0) return i; + nr = -i; + } + return -nr; + } + + @FXML + void bCopyClicked(ActionEvent event) { + final Clipboard clipboard = Clipboard.getSystemClipboard(); + final ClipboardContent content = new ClipboardContent(); + String s = ""; + for(Object c : tvAblauf.getRoot().getChildren()) { + if(c instanceof TreeItem) { + s += generateClipboardContent((TreeItem) c, ""); + } + } + + content.putString(s); + + clipboard.setContent(content); + } + + private String generateClipboardContent(TreeItem t, String tab) { + String s = tab+t.getValue(); + for(Object c : t.getChildren()) { + if(c instanceof TreeItem) { + s += generateClipboardContent((TreeItem) c, tab+" "); + } + } + return s; + } + } diff --git a/control/UnterTabMitController.java b/control/UnterTabMitController.java index 64f2708..1066f12 100644 --- a/control/UnterTabMitController.java +++ b/control/UnterTabMitController.java @@ -7,11 +7,13 @@ import javafx.fxml.*; import javafx.scene.control.*; import javafx.event.*; import javafx.scene.input.MouseEvent; +import javafx.scene.input.ContextMenuEvent; import javafx.scene.layout.*; import javafx.scene.Node; import javafx.scene.text.*; import javafx.geometry.Pos; import javafx.collections.FXCollections; +import javafx.scene.control.Alert.AlertType; import java.util.List; import java.util.ArrayList; @@ -25,7 +27,8 @@ import javafx.collections.ObservableList; * oder eine Kante fokussiert. * * @author Thomas Schaller - * @version v6.7 (9.12.2020) + * @version 24.06.2021 (v6.9) + * v6.9: Context-Menü für die ToDo-Liste: Knoten löschen */ public class UnterTabMitController extends TabMitController { @@ -33,7 +36,6 @@ public class UnterTabMitController extends TabMitController { @FXML private VBox infoBox; - @FXML private Button wertButton; @@ -58,19 +60,18 @@ public class UnterTabMitController extends TabMitController { @FXML Button bStatus; - @FXML Button bGehezu; - + @FXML Button bAnfang; - + @FXML Button bEnde; - + @FXML Button bSortieren; - + @FXML private CheckBox cbFarbeAutomatisch; @@ -91,14 +92,12 @@ public class UnterTabMitController extends TabMitController { getTabPane().getTabs().remove(this); return; } - + buildAuswahl(); - this.bAnfang.managedProperty().bind(bAnfang.visibleProperty()); this.bEnde.managedProperty().bind(bEnde.visibleProperty()); this.bSortieren.managedProperty().bind(bSortieren.visibleProperty()); - viewer.setGraph(graph,options); viewer.setHvalue(0.5); @@ -138,11 +137,11 @@ public class UnterTabMitController extends TabMitController { super.initialize(); } - + public void setGraph(Graph graph, GraphOptions options) { if(graph.getAnzahlKnoten()==0) { - getTabPane().getTabs().remove(this); - return; + getTabPane().getTabs().remove(this); + return; } options.fokusArt = this.options.fokusArt; options.auswahl = this.options.auswahl; @@ -154,12 +153,10 @@ public class UnterTabMitController extends TabMitController { viewer.setRestrictTo(null); buildAuswahl(); super.setGraph(graph,options); - + } - - + public void buildAuswahl() { - auswahl = new ArrayList(); if(options.auswahl == 0) { // Alle Knoten/Kanten gewählt if(options.fokusArt == 0) // Knoten @@ -192,10 +189,10 @@ public class UnterTabMitController extends TabMitController { Knoten k = (Knoten) ge; String beschreibung=""; if(options.showVertexInfo && !k.getInfotext().isEmpty()) - beschreibung = k.getInfotext(); + beschreibung = k.getInfotext(); else - beschreibung = "Knoten"+ graph.getNummer(k); - + beschreibung = "Knoten"+ graph.getNummer(k); + if(options.showVertexValue) { if(k.getDoubleWert() == k.getIntWert()) beschreibung += " ("+k.getIntWert()+")"; @@ -318,7 +315,7 @@ public class UnterTabMitController extends TabMitController { public void updateInfofeld() { GraphElement f = viewer.getRestrictTo(); if( f instanceof Knoten) { - this.setText(viewer.getGraph().getKnoteninfo((Knoten) f, false)); + this.setText(viewer.getGraph().getKnoteninfo((Knoten) f, false)); } Knoten k = viewer.getSelectedKnoten(); Kante ka = viewer.getSelectedKante(); @@ -364,7 +361,7 @@ public class UnterTabMitController extends TabMitController { else infoBox.setVisible(false); } - + } @FXML @@ -441,6 +438,25 @@ public class UnterTabMitController extends TabMitController { } } + @FXML + void toDoContextMenu(ContextMenuEvent event) { + if(lvAuswahl.getSelectionModel().getSelectedIndex() >= 0) { + + Alert alert = + new Alert(AlertType.NONE, + "Soll der Knoten aus der ToDo-Liste gelöscht werden?", + ButtonType.OK, + ButtonType.CANCEL); + alert.setTitle("ToDo-Liste"); + Optional result = alert.showAndWait(); + + if (result.get() == ButtonType.OK) { + auswahl.remove(lvAuswahl.getSelectionModel().getSelectedIndex()); + fillLvAuswahl(); + } + } + } + @FXML void bNaechster(ActionEvent event) { @@ -453,18 +469,18 @@ public class UnterTabMitController extends TabMitController { // @FXML // void bListeAnpassen(ActionEvent event) { - // buildAuswahl(); - // fillLvAuswahl(); + // buildAuswahl(); + // fillLvAuswahl(); // } // @FXML // void bNeuerTab(ActionEvent event) { - // GraphOptions neu = options.copy(); - // neu.parent = viewer.getRestrictTo(); - // if(neu.parent == null) neu.parent = viewer.getSelectedKnoten(); - // neu.bildAnzeigen = false; - // tabOeffnen(neu); + // GraphOptions neu = options.copy(); + // neu.parent = viewer.getRestrictTo(); + // if(neu.parent == null) neu.parent = viewer.getSelectedKnoten(); + // neu.bildAnzeigen = false; + // tabOeffnen(neu); // } @FXML @@ -497,7 +513,7 @@ public class UnterTabMitController extends TabMitController { double v = Double.parseDouble(result.get()); k.setWert(v); this.fillLvAuswahl(); - + viewer.updateImage(); updateInfofeld(); } catch (Exception e) { diff --git a/control/package.bluej b/control/package.bluej index ed43742..0988fa1 100644 --- a/control/package.bluej +++ b/control/package.bluej @@ -1,97 +1,94 @@ -#BlueJ package file -dependency1.from=TabMitController -dependency1.to=UnterTabMitController -dependency1.type=UsesDependency -dependency2.from=SimulationTabMitController -dependency2.to=Hilfefenster -dependency2.type=UsesDependency -dependency3.from=SimulationTabMitController -dependency3.to=MyClassLoader -dependency3.type=UsesDependency -dependency4.from=Controller -dependency4.to=TabMitController -dependency4.type=UsesDependency -dependency5.from=Controller -dependency5.to=HauptTabMitController -dependency5.type=UsesDependency -dependency6.from=Controller -dependency6.to=SimulationTabMitController -dependency6.type=UsesDependency -dependency7.from=Controller -dependency7.to=EditTabMitController -dependency7.type=UsesDependency -objectbench.height=93 -objectbench.width=776 -package.divider.horizontal=0.599476439790576 -package.divider.vertical=0.8003992015968064 -package.editor.height=394 -package.editor.width=645 -package.editor.x=1056 -package.editor.y=332 -package.frame.height=600 -package.frame.width=800 -package.numDependencies=7 -package.numTargets=8 -package.showExtends=true -package.showUses=true -readme.height=60 -readme.name=@README -readme.width=49 -readme.x=10 -readme.y=10 -target1.height=50 -target1.name=Hilfefenster -target1.showInterface=false -target1.type=ClassTarget -target1.width=100 -target1.x=500 -target1.y=60 -target2.height=50 -target2.name=HauptTabMitController -target2.showInterface=false -target2.type=ClassTarget -target2.width=170 -target2.x=10 -target2.y=140 -target3.height=50 -target3.name=EditTabMitController -target3.showInterface=false -target3.type=ClassTarget -target3.width=160 -target3.x=10 -target3.y=80 -target4.height=50 -target4.name=TabMitController -target4.showInterface=false -target4.type=ClassTarget -target4.width=130 -target4.x=300 -target4.y=110 -target5.height=50 -target5.name=SimulationTabMitController -target5.showInterface=false -target5.type=ClassTarget -target5.width=200 -target5.x=10 -target5.y=210 -target6.height=50 -target6.name=Controller -target6.showInterface=false -target6.type=ClassTarget -target6.width=90 -target6.x=500 -target6.y=250 -target7.height=70 -target7.name=MyClassLoader -target7.showInterface=false -target7.type=ClassTarget -target7.width=120 -target7.x=140 -target7.y=330 -target8.height=50 -target8.name=UnterTabMitController -target8.showInterface=false -target8.type=ClassTarget -target8.width=170 -target8.x=10 -target8.y=270 +#BlueJ package file +dependency1.from=TabMitController +dependency1.to=UnterTabMitController +dependency1.type=UsesDependency +dependency2.from=SimulationTabMitController +dependency2.to=MyClassLoader +dependency2.type=UsesDependency +dependency3.from=Controller +dependency3.to=TabMitController +dependency3.type=UsesDependency +dependency4.from=Controller +dependency4.to=HauptTabMitController +dependency4.type=UsesDependency +dependency5.from=Controller +dependency5.to=SimulationTabMitController +dependency5.type=UsesDependency +dependency6.from=Controller +dependency6.to=EditTabMitController +dependency6.type=UsesDependency +objectbench.height=172 +objectbench.width=451 +package.divider.horizontal=0.599476439790576 +package.divider.vertical=0.642 +package.editor.height=314 +package.editor.width=636 +package.editor.x=1113 +package.editor.y=290 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=6 +package.numTargets=8 +package.showExtends=true +package.showUses=true +readme.height=60 +readme.name=@README +readme.width=49 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=EditTabMitController +target1.showInterface=false +target1.type=ClassTarget +target1.width=180 +target1.x=10 +target1.y=80 +target2.height=50 +target2.name=HauptTabMitController +target2.showInterface=false +target2.type=ClassTarget +target2.width=200 +target2.x=10 +target2.y=140 +target3.height=70 +target3.name=Hilfefenster +target3.showInterface=false +target3.type=ClassTarget +target3.width=120 +target3.x=10 +target3.y=210 +target4.height=50 +target4.name=TabMitController +target4.showInterface=false +target4.type=ClassTarget +target4.width=130 +target4.x=300 +target4.y=110 +target5.height=50 +target5.name=SimulationTabMitController +target5.showInterface=false +target5.type=ClassTarget +target5.width=200 +target5.x=210 +target5.y=210 +target6.height=50 +target6.name=Controller +target6.showInterface=false +target6.type=ClassTarget +target6.width=90 +target6.x=500 +target6.y=250 +target7.height=70 +target7.name=MyClassLoader +target7.showInterface=false +target7.type=ClassTarget +target7.width=120 +target7.x=140 +target7.y=330 +target8.height=50 +target8.name=UnterTabMitController +target8.showInterface=false +target8.type=ClassTarget +target8.width=170 +target8.x=220 +target8.y=270 diff --git a/doc/GraphenTester.html b/doc/GraphenTester.html index 2ed6418..e2ed1f2 100644 --- a/doc/GraphenTester.html +++ b/doc/GraphenTester.html @@ -1,366 +1,366 @@ - - - - - -GraphenTester (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-

Class GraphenTester

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • javafx.application.Application
    • -
    • -
        -
      • GraphenTester
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    public class GraphenTester
    -extends javafx.application.Application
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Nested Class Summary

      -
        -
      • - - -

        Nested classes/interfaces inherited from class javafx.application.Application

        -javafx.application.Application.Parameters
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Field Summary

      -
        -
      • - - -

        Fields inherited from class javafx.application.Application

        -STYLESHEET_CASPIAN, STYLESHEET_MODENA
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Constructor Summary

      - - - - - - - - - - -
      Constructors 
      ConstructorDescription
      GraphenTester() 
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphenTester

        -
        public GraphenTester()
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        start

        -
        public void start​(javafx.stage.Stage primaryStage)
        -
        -
        Specified by:
        -
        start in class javafx.application.Application
        -
        -
      • -
      - - - -
        -
      • -

        main

        -
        public static void main​(String[] args)
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-
- - - - + + + + + +GraphenTester (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+

Class GraphenTester

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • javafx.application.Application
    • +
    • +
        +
      • GraphenTester
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class GraphenTester
    +extends javafx.application.Application
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      +
        +
      • + + +

        Nested classes/interfaces inherited from class javafx.application.Application

        +javafx.application.Application.Parameters
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class javafx.application.Application

        +STYLESHEET_CASPIAN, STYLESHEET_MODENA
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      GraphenTester() 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphenTester

        +
        public GraphenTester()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        start

        +
        public void start​(javafx.stage.Stage primaryStage)
        +
        +
        Specified by:
        +
        start in class javafx.application.Application
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo.html b/doc/algorithmen/GraphAlgo.html index c8bf2e7..67c2938 100644 --- a/doc/algorithmen/GraphAlgo.html +++ b/doc/algorithmen/GraphAlgo.html @@ -1,669 +1,669 @@ - - - - - -GraphAlgo (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo

-
-
- - -
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        inArbeit

        -
        protected boolean inArbeit
        -
      • -
      - - - -
        -
      • -

        g

        -
        protected Graph g
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo

        -
        public GraphAlgo()
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        setGUIElemente

        -
        public void setGUIElemente​(GraphPlotter graphPlotter,
        -                           Hilfe hilfe)
        -
      • -
      - - - -
        -
      • -

        setGraph

        -
        public void setGraph​(Graph g)
        -
      • -
      - - - -
        -
      • -

        step

        -
        public void step()
        -
      • -
      - - - -
        -
      • -

        getWaitforrepaint

        -
        public boolean getWaitforrepaint()
        -
      • -
      - - - -
        -
      • -

        setWaitforrepaint

        -
        public void setWaitforrepaint​(boolean waitforrepaintNeu)
        -
      • -
      - - - -
        -
      • -

        getWaitforclick

        -
        public boolean getWaitforclick()
        -
      • -
      - - - -
        -
      • -

        setWaitforclick

        -
        public void setWaitforclick​(boolean waitforclickNeu)
        -
      • -
      - - - -
        -
      • -

        setStepping

        -
        public void setStepping​(boolean stepping)
        -
      • -
      - - - -
        -
      • -

        setSpeed

        -
        public void setSpeed​(int delay)
        -
      • -
      - - - -
        -
      • -

        run

        -
        public void run()
        -
        -
        Specified by:
        -
        run in interface Runnable
        -
        Overrides:
        -
        run in class Thread
        -
        -
      • -
      - - - -
        -
      • -

        setStartKnoten

        -
        public void setStartKnoten​(Knoten k)
        -
      • -
      - - - -
        -
      • -

        getStartKnoten

        -
        public Knoten getStartKnoten()
        -
      • -
      - - - -
        -
      • -

        fuehreAlgorithmusAus

        -
        public abstract void fuehreAlgorithmusAus()
        -
      • -
      - - - -
        -
      • -

        getBezeichnung

        -
        public abstract String getBezeichnung()
        -
      • -
      - - - -
        -
      • -

        melde

        -
        public void melde​(String s)
        -
      • -
      - - - -
        -
      • -

        info

        -
        public void info​(String s)
        -
      • -
      - - - -
        -
      • -

        resetInfo

        -
        public void resetInfo()
        -
      • -
      - - - -
        -
      • -

        infoIndentMore

        -
        public void infoIndentMore()
        -
      • -
      - - - -
        -
      • -

        infoIndentLess

        -
        public void infoIndentLess()
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo

+
+
+ + +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        inArbeit

        +
        protected boolean inArbeit
        +
      • +
      + + + +
        +
      • +

        g

        +
        protected Graph g
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo

        +
        public GraphAlgo()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setGUIElemente

        +
        public void setGUIElemente​(GraphPlotter graphPlotter,
        +                           Hilfe hilfe)
        +
      • +
      + + + +
        +
      • +

        setGraph

        +
        public void setGraph​(Graph g)
        +
      • +
      + + + +
        +
      • +

        step

        +
        public void step()
        +
      • +
      + + + +
        +
      • +

        getWaitforrepaint

        +
        public boolean getWaitforrepaint()
        +
      • +
      + + + +
        +
      • +

        setWaitforrepaint

        +
        public void setWaitforrepaint​(boolean waitforrepaintNeu)
        +
      • +
      + + + +
        +
      • +

        getWaitforclick

        +
        public boolean getWaitforclick()
        +
      • +
      + + + +
        +
      • +

        setWaitforclick

        +
        public void setWaitforclick​(boolean waitforclickNeu)
        +
      • +
      + + + +
        +
      • +

        setStepping

        +
        public void setStepping​(boolean stepping)
        +
      • +
      + + + +
        +
      • +

        setSpeed

        +
        public void setSpeed​(int delay)
        +
      • +
      + + + +
        +
      • +

        run

        +
        public void run()
        +
        +
        Specified by:
        +
        run in interface Runnable
        +
        Overrides:
        +
        run in class Thread
        +
        +
      • +
      + + + +
        +
      • +

        setStartKnoten

        +
        public void setStartKnoten​(Knoten k)
        +
      • +
      + + + +
        +
      • +

        getStartKnoten

        +
        public Knoten getStartKnoten()
        +
      • +
      + + + +
        +
      • +

        fuehreAlgorithmusAus

        +
        public abstract void fuehreAlgorithmusAus()
        +
      • +
      + + + +
        +
      • +

        getBezeichnung

        +
        public abstract String getBezeichnung()
        +
      • +
      + + + +
        +
      • +

        melde

        +
        public void melde​(String s)
        +
      • +
      + + + +
        +
      • +

        info

        +
        public void info​(String s)
        +
      • +
      + + + +
        +
      • +

        resetInfo

        +
        public void resetInfo()
        +
      • +
      + + + +
        +
      • +

        infoIndentMore

        +
        public void infoIndentMore()
        +
      • +
      + + + +
        +
      • +

        infoIndentLess

        +
        public void infoIndentLess()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_BellmanFord.html b/doc/algorithmen/GraphAlgo_BellmanFord.html index 9cc3651..2e200da 100644 --- a/doc/algorithmen/GraphAlgo_BellmanFord.html +++ b/doc/algorithmen/GraphAlgo_BellmanFord.html @@ -1,402 +1,402 @@ - - - - - -GraphAlgo_BellmanFord (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_BellmanFord

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_BellmanFord
    -extends GraphAlgo
    -
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen. - Algorithmus: Bellman-Ford
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_BellmanFord

        -
        public GraphAlgo_BellmanFord()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_BellmanFord (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_BellmanFord

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_BellmanFord
    +extends GraphAlgo
    +
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen. + Algorithmus: Bellman-Ford
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_BellmanFord

        +
        public GraphAlgo_BellmanFord()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_Breitensuche.html b/doc/algorithmen/GraphAlgo_Breitensuche.html index ccdcb5f..6f65af1 100644 --- a/doc/algorithmen/GraphAlgo_Breitensuche.html +++ b/doc/algorithmen/GraphAlgo_Breitensuche.html @@ -1,402 +1,402 @@ - - - - - -GraphAlgo_Breitensuche (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_Breitensuche

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_Breitensuche
    -extends GraphAlgo
    -
    Dieser Algorithmus nummeriert alle Knoten des Graphen. - Algorithmus: Breitensuche mit ToDo-Liste (Schlange)
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_Breitensuche

        -
        public GraphAlgo_Breitensuche()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_Breitensuche (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_Breitensuche

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_Breitensuche
    +extends GraphAlgo
    +
    Dieser Algorithmus nummeriert alle Knoten des Graphen. + Algorithmus: Breitensuche mit ToDo-Liste (Schlange)
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_Breitensuche

        +
        public GraphAlgo_Breitensuche()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_ColoringBacktracking.html b/doc/algorithmen/GraphAlgo_ColoringBacktracking.html index adcb9b2..3cdb909 100644 --- a/doc/algorithmen/GraphAlgo_ColoringBacktracking.html +++ b/doc/algorithmen/GraphAlgo_ColoringBacktracking.html @@ -1,449 +1,449 @@ - - - - - -GraphAlgo_ColoringBacktracking (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_ColoringBacktracking

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_ColoringBacktracking
    -extends GraphAlgo
    -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden. - Algorithmus: Backtracking
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    - -
    - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_ColoringBacktracking

        -
        public GraphAlgo_ColoringBacktracking()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_ColoringBacktracking (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_ColoringBacktracking

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_ColoringBacktracking
    +extends GraphAlgo
    +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden. + Algorithmus: Backtracking
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_ColoringBacktracking

        +
        public GraphAlgo_ColoringBacktracking()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_ColoringGreedy.html b/doc/algorithmen/GraphAlgo_ColoringGreedy.html index cfc1647..5e9c1bd 100644 --- a/doc/algorithmen/GraphAlgo_ColoringGreedy.html +++ b/doc/algorithmen/GraphAlgo_ColoringGreedy.html @@ -1,403 +1,403 @@ - - - - - -GraphAlgo_ColoringGreedy (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_ColoringGreedy

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_ColoringGreedy
    -extends GraphAlgo
    -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden. - Algorithmus: Näherungslösung mit Greedy-Algorithmus
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_ColoringGreedy

        -
        public GraphAlgo_ColoringGreedy()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_ColoringGreedy (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_ColoringGreedy

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_ColoringGreedy
    +extends GraphAlgo
    +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden. + Algorithmus: Näherungslösung mit Greedy-Algorithmus
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_ColoringGreedy

        +
        public GraphAlgo_ColoringGreedy()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_ColoringGreedyRandom.html b/doc/algorithmen/GraphAlgo_ColoringGreedyRandom.html index a9b7472..9c059a1 100644 --- a/doc/algorithmen/GraphAlgo_ColoringGreedyRandom.html +++ b/doc/algorithmen/GraphAlgo_ColoringGreedyRandom.html @@ -1,403 +1,403 @@ - - - - - -GraphAlgo_ColoringGreedyRandom (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_ColoringGreedyRandom

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_ColoringGreedyRandom
    -extends GraphAlgo
    -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden. - Algorithmus: Näherungslösung mit Greedy-Algorithmus (Knotenreihenfolge zufällig)
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_ColoringGreedyRandom

        -
        public GraphAlgo_ColoringGreedyRandom()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_ColoringGreedyRandom (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_ColoringGreedyRandom

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_ColoringGreedyRandom
    +extends GraphAlgo
    +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden. + Algorithmus: Näherungslösung mit Greedy-Algorithmus (Knotenreihenfolge zufällig)
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_ColoringGreedyRandom

        +
        public GraphAlgo_ColoringGreedyRandom()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_Dijkstra.html b/doc/algorithmen/GraphAlgo_Dijkstra.html index 23dbf22..34dc7f8 100644 --- a/doc/algorithmen/GraphAlgo_Dijkstra.html +++ b/doc/algorithmen/GraphAlgo_Dijkstra.html @@ -1,402 +1,402 @@ - - - - - -GraphAlgo_Dijkstra (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_Dijkstra

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_Dijkstra
    -extends GraphAlgo
    -
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen. - Algorithmus: Dijkstra
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_Dijkstra

        -
        public GraphAlgo_Dijkstra()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_Dijkstra (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_Dijkstra

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_Dijkstra
    +extends GraphAlgo
    +
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen. + Algorithmus: Dijkstra
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_Dijkstra

        +
        public GraphAlgo_Dijkstra()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetBacktracking.html b/doc/algorithmen/GraphAlgo_DominatingSetBacktracking.html index 8470671..5ebaa0a 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetBacktracking.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetBacktracking.html @@ -1,449 +1,449 @@ - - - - - -GraphAlgo_DominatingSetBacktracking (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetBacktracking

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetBacktracking
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Backtracking
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    - -
    - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetBacktracking

        -
        public GraphAlgo_DominatingSetBacktracking()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetBacktracking (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetBacktracking

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetBacktracking
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Backtracking
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetBacktracking

        +
        public GraphAlgo_DominatingSetBacktracking()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGenetisch.html b/doc/algorithmen/GraphAlgo_DominatingSetGenetisch.html index cac6a06..94be725 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGenetisch.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGenetisch.html @@ -1,475 +1,475 @@ - - - - - -GraphAlgo_DominatingSetGenetisch (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGenetisch

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGenetisch
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Genetischer Algorithmus
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGenetisch

        -
        public GraphAlgo_DominatingSetGenetisch()
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - - - - - - - - - -
        -
      • -

        erzeugeZufaelligeTeilmenge

        -
        public int[] erzeugeZufaelligeTeilmenge()
        -
      • -
      - - - -
        -
      • -

        kreuze

        -
        public int[] kreuze​(int[] tm1,
        -                    int[] tm2)
        -
      • -
      - - - -
        -
      • -

        mutiere

        -
        public int[] mutiere​(int[] tm)
        -
      • -
      - - - -
        -
      • -

        showTeilmenge

        -
        public void showTeilmenge​(int[] tm)
        -
      • -
      - - - -
        -
      • -

        getBewertung

        -
        public double getBewertung​(int[] tm)
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGenetisch (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGenetisch

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGenetisch
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Genetischer Algorithmus
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGenetisch

        +
        public GraphAlgo_DominatingSetGenetisch()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        erzeugeZufaelligeTeilmenge

        +
        public int[] erzeugeZufaelligeTeilmenge()
        +
      • +
      + + + +
        +
      • +

        kreuze

        +
        public int[] kreuze​(int[] tm1,
        +                    int[] tm2)
        +
      • +
      + + + +
        +
      • +

        mutiere

        +
        public int[] mutiere​(int[] tm)
        +
      • +
      + + + +
        +
      • +

        showTeilmenge

        +
        public void showTeilmenge​(int[] tm)
        +
      • +
      + + + +
        +
      • +

        getBewertung

        +
        public double getBewertung​(int[] tm)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGreedyA.html b/doc/algorithmen/GraphAlgo_DominatingSetGreedyA.html index fa7ea32..2f94ceb 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGreedyA.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGreedyA.html @@ -1,404 +1,404 @@ - - - - - -GraphAlgo_DominatingSetGreedyA (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGreedyA

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGreedyA
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Greedy mit Strategie: - Nimm den Knoten mit den meisten Nachbarn
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGreedyA

        -
        public GraphAlgo_DominatingSetGreedyA()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGreedyA (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGreedyA

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGreedyA
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Greedy mit Strategie: + Nimm den Knoten mit den meisten Nachbarn
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGreedyA

        +
        public GraphAlgo_DominatingSetGreedyA()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGreedyB.html b/doc/algorithmen/GraphAlgo_DominatingSetGreedyB.html index 6860c56..8342da5 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGreedyB.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGreedyB.html @@ -1,404 +1,404 @@ - - - - - -GraphAlgo_DominatingSetGreedyB (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGreedyB

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGreedyB
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Greedy mit Strategie: - Nimm den Knoten mit den wenigsten Nachbarn
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGreedyB

        -
        public GraphAlgo_DominatingSetGreedyB()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGreedyB (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGreedyB

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGreedyB
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Greedy mit Strategie: + Nimm den Knoten mit den wenigsten Nachbarn
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGreedyB

        +
        public GraphAlgo_DominatingSetGreedyB()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGreedyC.html b/doc/algorithmen/GraphAlgo_DominatingSetGreedyC.html index 04608dc..de8d5d1 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGreedyC.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGreedyC.html @@ -1,404 +1,404 @@ - - - - - -GraphAlgo_DominatingSetGreedyC (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGreedyC

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGreedyC
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Greedy mit Strategie: - Nimm den Knoten mit den meisten Nachbarn
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGreedyC

        -
        public GraphAlgo_DominatingSetGreedyC()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGreedyC (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGreedyC

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGreedyC
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Greedy mit Strategie: + Nimm den Knoten mit den meisten Nachbarn
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGreedyC

        +
        public GraphAlgo_DominatingSetGreedyC()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGreedyD.html b/doc/algorithmen/GraphAlgo_DominatingSetGreedyD.html index 73d463f..0d71a72 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGreedyD.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGreedyD.html @@ -1,404 +1,404 @@ - - - - - -GraphAlgo_DominatingSetGreedyD (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGreedyD

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGreedyD
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Greedy mit Strategie: - Nimm den Knoten mit den meisten Nachbarn
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGreedyD

        -
        public GraphAlgo_DominatingSetGreedyD()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGreedyD (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGreedyD

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGreedyD
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Greedy mit Strategie: + Nimm den Knoten mit den meisten Nachbarn
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGreedyD

        +
        public GraphAlgo_DominatingSetGreedyD()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGreedyE.html b/doc/algorithmen/GraphAlgo_DominatingSetGreedyE.html index 88fd92c..cb8adb0 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGreedyE.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGreedyE.html @@ -1,404 +1,404 @@ - - - - - -GraphAlgo_DominatingSetGreedyE (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGreedyE

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGreedyE
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Greedy mit Strategie: - ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGreedyE

        -
        public GraphAlgo_DominatingSetGreedyE()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGreedyE (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGreedyE

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGreedyE
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Greedy mit Strategie: + ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGreedyE

        +
        public GraphAlgo_DominatingSetGreedyE()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGreedyF.html b/doc/algorithmen/GraphAlgo_DominatingSetGreedyF.html index c9cbf72..6dca650 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGreedyF.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGreedyF.html @@ -1,404 +1,404 @@ - - - - - -GraphAlgo_DominatingSetGreedyF (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGreedyF

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGreedyF
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Greedy mit Strategie: - ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGreedyF

        -
        public GraphAlgo_DominatingSetGreedyF()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGreedyF (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGreedyF

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGreedyF
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Greedy mit Strategie: + ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGreedyF

        +
        public GraphAlgo_DominatingSetGreedyF()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGreedyG.html b/doc/algorithmen/GraphAlgo_DominatingSetGreedyG.html index 8623566..ba0c5e0 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGreedyG.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGreedyG.html @@ -1,404 +1,404 @@ - - - - - -GraphAlgo_DominatingSetGreedyG (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGreedyG

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGreedyG
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Greedy mit Strategie: - ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGreedyG

        -
        public GraphAlgo_DominatingSetGreedyG()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGreedyG (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGreedyG

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGreedyG
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Greedy mit Strategie: + ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGreedyG

        +
        public GraphAlgo_DominatingSetGreedyG()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGreedyH.html b/doc/algorithmen/GraphAlgo_DominatingSetGreedyH.html index 61e6f28..8635149 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGreedyH.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGreedyH.html @@ -1,404 +1,404 @@ - - - - - -GraphAlgo_DominatingSetGreedyH (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGreedyH

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGreedyH
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Greedy mit Strategie: - ein nicht abgedeckten Knoten, der von möglichst vielen schon ausgewählten Knoten die Entfernung 3 hat
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGreedyH

        -
        public GraphAlgo_DominatingSetGreedyH()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGreedyH (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGreedyH

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGreedyH
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Greedy mit Strategie: + ein nicht abgedeckten Knoten, der von möglichst vielen schon ausgewählten Knoten die Entfernung 3 hat
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGreedyH

        +
        public GraphAlgo_DominatingSetGreedyH()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_DominatingSetGreedyI.html b/doc/algorithmen/GraphAlgo_DominatingSetGreedyI.html index 2f193f3..f691c00 100644 --- a/doc/algorithmen/GraphAlgo_DominatingSetGreedyI.html +++ b/doc/algorithmen/GraphAlgo_DominatingSetGreedyI.html @@ -1,404 +1,404 @@ - - - - - -GraphAlgo_DominatingSetGreedyI (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_DominatingSetGreedyI

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_DominatingSetGreedyI
    -extends GraphAlgo
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf. - Algorithmus: Greedy mit Strategie: - ein nicht abgedeckten Knoten, der von den ausgewählten Knoten eine möglichst große Entfernung hat
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_DominatingSetGreedyI

        -
        public GraphAlgo_DominatingSetGreedyI()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_DominatingSetGreedyI (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_DominatingSetGreedyI

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_DominatingSetGreedyI
    +extends GraphAlgo
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf. + Algorithmus: Greedy mit Strategie: + ein nicht abgedeckten Knoten, der von den ausgewählten Knoten eine möglichst große Entfernung hat
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_DominatingSetGreedyI

        +
        public GraphAlgo_DominatingSetGreedyI()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_EulerkreisExistenz.html b/doc/algorithmen/GraphAlgo_EulerkreisExistenz.html index 02ec9dc..83b7717 100644 --- a/doc/algorithmen/GraphAlgo_EulerkreisExistenz.html +++ b/doc/algorithmen/GraphAlgo_EulerkreisExistenz.html @@ -1,403 +1,403 @@ - - - - - -GraphAlgo_EulerkreisExistenz (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_EulerkreisExistenz

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_EulerkreisExistenz
    -extends GraphAlgo
    -
    Dieser Algorithmus testet, ob ein Eulerkreis existiert. - Algorithmus: Zunächst wird auf geraden Grad der Knoten getestet, danach - mit Tiefensuche der Zusammenhang des Graphen überprüft.
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_EulerkreisExistenz

        -
        public GraphAlgo_EulerkreisExistenz()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_EulerkreisExistenz (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_EulerkreisExistenz

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_EulerkreisExistenz
    +extends GraphAlgo
    +
    Dieser Algorithmus testet, ob ein Eulerkreis existiert. + Algorithmus: Zunächst wird auf geraden Grad der Knoten getestet, danach + mit Tiefensuche der Zusammenhang des Graphen überprüft.
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_EulerkreisExistenz

        +
        public GraphAlgo_EulerkreisExistenz()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_MST_Kruskal.html b/doc/algorithmen/GraphAlgo_MST_Kruskal.html index 59a9c8c..e9432a2 100644 --- a/doc/algorithmen/GraphAlgo_MST_Kruskal.html +++ b/doc/algorithmen/GraphAlgo_MST_Kruskal.html @@ -1,402 +1,402 @@ - - - - - -GraphAlgo_MST_Kruskal (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_MST_Kruskal

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_MST_Kruskal
    -extends GraphAlgo
    -
    Dieser Algorithmus sucht einen minimal Spanning Tree - Algorithmus: Kruskal
    -
    -
    Version:
    -
    1.0 from 11.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_MST_Kruskal

        -
        public GraphAlgo_MST_Kruskal()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_MST_Kruskal (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_MST_Kruskal

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_MST_Kruskal
    +extends GraphAlgo
    +
    Dieser Algorithmus sucht einen minimal Spanning Tree + Algorithmus: Kruskal
    +
    +
    Version:
    +
    1.0 from 11.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_MST_Kruskal

        +
        public GraphAlgo_MST_Kruskal()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_MST_Prim.html b/doc/algorithmen/GraphAlgo_MST_Prim.html index 654c6b0..6143d6f 100644 --- a/doc/algorithmen/GraphAlgo_MST_Prim.html +++ b/doc/algorithmen/GraphAlgo_MST_Prim.html @@ -1,402 +1,402 @@ - - - - - -GraphAlgo_MST_Prim (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_MST_Prim

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_MST_Prim
    -extends GraphAlgo
    -
    Dieser Algorithmus sucht einen minimal Spanning Tree - Algorithmus: Prim
    -
    -
    Version:
    -
    1.0 from 11.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_MST_Prim

        -
        public GraphAlgo_MST_Prim()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_MST_Prim (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_MST_Prim

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_MST_Prim
    +extends GraphAlgo
    +
    Dieser Algorithmus sucht einen minimal Spanning Tree + Algorithmus: Prim
    +
    +
    Version:
    +
    1.0 from 11.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_MST_Prim

        +
        public GraphAlgo_MST_Prim()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_Moore.html b/doc/algorithmen/GraphAlgo_Moore.html index 23aad7c..26d635f 100644 --- a/doc/algorithmen/GraphAlgo_Moore.html +++ b/doc/algorithmen/GraphAlgo_Moore.html @@ -1,402 +1,402 @@ - - - - - -GraphAlgo_Moore (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_Moore

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_Moore
    -extends GraphAlgo
    -
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen. - Algorithmus: Algorithmus A von Moore
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_Moore

        -
        public GraphAlgo_Moore()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_Moore (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_Moore

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_Moore
    +extends GraphAlgo
    +
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen. + Algorithmus: Algorithmus A von Moore
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_Moore

        +
        public GraphAlgo_Moore()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_ScotlandYard.html b/doc/algorithmen/GraphAlgo_ScotlandYard.html index c8d5645..dc85a85 100644 --- a/doc/algorithmen/GraphAlgo_ScotlandYard.html +++ b/doc/algorithmen/GraphAlgo_ScotlandYard.html @@ -1,402 +1,402 @@ - - - - - -GraphAlgo_ScotlandYard (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_ScotlandYard

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_ScotlandYard
    -extends GraphAlgo
    -
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen. - Algorithmus: Algorithmus A von Moore
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_ScotlandYard

        -
        public GraphAlgo_ScotlandYard()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_ScotlandYard (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_ScotlandYard

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_ScotlandYard
    +extends GraphAlgo
    +
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen. + Algorithmus: Algorithmus A von Moore
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_ScotlandYard

        +
        public GraphAlgo_ScotlandYard()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_TSPBacktracking.html b/doc/algorithmen/GraphAlgo_TSPBacktracking.html index 4589e67..93e2078 100644 --- a/doc/algorithmen/GraphAlgo_TSPBacktracking.html +++ b/doc/algorithmen/GraphAlgo_TSPBacktracking.html @@ -1,431 +1,431 @@ - - - - - -GraphAlgo_TSPBacktracking (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_TSPBacktracking

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_TSPBacktracking
    -extends GraphAlgo
    -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem). - Algorithmus: Backtracking
    -
    -
    Version:
    -
    1.0 from 11.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_TSPBacktracking

        -
        public GraphAlgo_TSPBacktracking()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_TSPBacktracking (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_TSPBacktracking

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_TSPBacktracking
    +extends GraphAlgo
    +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem). + Algorithmus: Backtracking
    +
    +
    Version:
    +
    1.0 from 11.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_TSPBacktracking

        +
        public GraphAlgo_TSPBacktracking()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_TSPGenetisch.html b/doc/algorithmen/GraphAlgo_TSPGenetisch.html index 63c9f1c..d5c16e4 100644 --- a/doc/algorithmen/GraphAlgo_TSPGenetisch.html +++ b/doc/algorithmen/GraphAlgo_TSPGenetisch.html @@ -1,500 +1,500 @@ - - - - - -GraphAlgo_TSPGenetisch (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_TSPGenetisch

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_TSPGenetisch
    -extends GraphAlgo
    -
    description
    -
    -
    Version:
    -
    1.0 from 26.04.2019
    -
    Author:
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_TSPGenetisch

        -
        public GraphAlgo_TSPGenetisch()
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - - - - - - - - - -
        -
      • -

        erzeugeZufaelligeRundreise

        -
        public int[] erzeugeZufaelligeRundreise()
        -
      • -
      - - - -
        -
      • -

        kreuze

        -
        public int[] kreuze​(int[] rr1,
        -                    int[] rr2)
        -
      • -
      - - - -
        -
      • -

        mutiere

        -
        public int[] mutiere​(int[] rr)
        -
      • -
      - - - -
        -
      • -

        mutiere2

        -
        public int[] mutiere2​(int[] rr)
        -
      • -
      - - - -
        -
      • -

        showRundreise

        -
        public void showRundreise​(int[] rundreise)
        -
      • -
      - - - -
        -
      • -

        getLaenge

        -
        public double getLaenge​(int[] rundreise)
        -
      • -
      - - - -
        -
      • -

        getInfo

        -
        public String getInfo()
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_TSPGenetisch (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_TSPGenetisch

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_TSPGenetisch
    +extends GraphAlgo
    +
    description
    +
    +
    Version:
    +
    1.0 from 26.04.2019
    +
    Author:
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_TSPGenetisch

        +
        public GraphAlgo_TSPGenetisch()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        erzeugeZufaelligeRundreise

        +
        public int[] erzeugeZufaelligeRundreise()
        +
      • +
      + + + +
        +
      • +

        kreuze

        +
        public int[] kreuze​(int[] rr1,
        +                    int[] rr2)
        +
      • +
      + + + +
        +
      • +

        mutiere

        +
        public int[] mutiere​(int[] rr)
        +
      • +
      + + + +
        +
      • +

        mutiere2

        +
        public int[] mutiere2​(int[] rr)
        +
      • +
      + + + +
        +
      • +

        showRundreise

        +
        public void showRundreise​(int[] rundreise)
        +
      • +
      + + + +
        +
      • +

        getLaenge

        +
        public double getLaenge​(int[] rundreise)
        +
      • +
      + + + +
        +
      • +

        getInfo

        +
        public String getInfo()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_TSPGreedy.html b/doc/algorithmen/GraphAlgo_TSPGreedy.html index 8f9d5cd..9a3d4cf 100644 --- a/doc/algorithmen/GraphAlgo_TSPGreedy.html +++ b/doc/algorithmen/GraphAlgo_TSPGreedy.html @@ -1,419 +1,419 @@ - - - - - -GraphAlgo_TSPGreedy (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_TSPGreedy

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_TSPGreedy
    -extends GraphAlgo
    -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem). - Algorithmus: Greedy - Strategie: Verlängere den Weg immer mit der kürzesten Kante, die vom aktuellen Ende der Route ausgeht. - vlg. Minimal Spanning Tree (Prim)
    -
    -
    Version:
    -
    1.0 from 11.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_TSPGreedy

        -
        public GraphAlgo_TSPGreedy()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_TSPGreedy (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_TSPGreedy

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_TSPGreedy
    +extends GraphAlgo
    +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem). + Algorithmus: Greedy + Strategie: Verlängere den Weg immer mit der kürzesten Kante, die vom aktuellen Ende der Route ausgeht. + vlg. Minimal Spanning Tree (Prim)
    +
    +
    Version:
    +
    1.0 from 11.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_TSPGreedy

        +
        public GraphAlgo_TSPGreedy()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_TSPGreedy2.html b/doc/algorithmen/GraphAlgo_TSPGreedy2.html index 40d5bfe..e0a3a6a 100644 --- a/doc/algorithmen/GraphAlgo_TSPGreedy2.html +++ b/doc/algorithmen/GraphAlgo_TSPGreedy2.html @@ -1,420 +1,420 @@ - - - - - -GraphAlgo_TSPGreedy2 (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_TSPGreedy2

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_TSPGreedy2
    -extends GraphAlgo
    -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem). - Algorithmus: Greedy - Strategie: Sortiere Kanten der Länge nach. Füge sie der Reihe nach der Route hinzu, wenn nicht schon ein - Weg zwischen den beiden Knoten vorhanden ist und die Knoten nicht schon Grad zwei erreicht haben. - vgl. Minimal Spanning Tree (Kruskal)
    -
    -
    Version:
    -
    1.0 from 11.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_TSPGreedy2

        -
        public GraphAlgo_TSPGreedy2()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_TSPGreedy2 (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_TSPGreedy2

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_TSPGreedy2
    +extends GraphAlgo
    +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem). + Algorithmus: Greedy + Strategie: Sortiere Kanten der Länge nach. Füge sie der Reihe nach der Route hinzu, wenn nicht schon ein + Weg zwischen den beiden Knoten vorhanden ist und die Knoten nicht schon Grad zwei erreicht haben. + vgl. Minimal Spanning Tree (Kruskal)
    +
    +
    Version:
    +
    1.0 from 11.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_TSPGreedy2

        +
        public GraphAlgo_TSPGreedy2()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_TSPGreedyOpt.html b/doc/algorithmen/GraphAlgo_TSPGreedyOpt.html index 61c47f3..97d41a9 100644 --- a/doc/algorithmen/GraphAlgo_TSPGreedyOpt.html +++ b/doc/algorithmen/GraphAlgo_TSPGreedyOpt.html @@ -1,433 +1,433 @@ - - - - - -GraphAlgo_TSPGreedyOpt (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_TSPGreedyOpt

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_TSPGreedyOpt
    -extends GraphAlgo
    -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem). - Algorithmus: Greedy mit anschließender Optimierung: - Jeder Knoten wird der Reihe nach aus der Rundreise entfernt und dort wieder eingefügt, wo die Rundreise - sich am wenigsten verlängert. Diese Optimierung wird 5x wiederholt.
    -
    -
    Version:
    -
    1.0 from 11.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_TSPGreedyOpt

        -
        public GraphAlgo_TSPGreedyOpt()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_TSPGreedyOpt (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_TSPGreedyOpt

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_TSPGreedyOpt
    +extends GraphAlgo
    +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem). + Algorithmus: Greedy mit anschließender Optimierung: + Jeder Knoten wird der Reihe nach aus der Rundreise entfernt und dort wieder eingefügt, wo die Rundreise + sich am wenigsten verlängert. Diese Optimierung wird 5x wiederholt.
    +
    +
    Version:
    +
    1.0 from 11.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_TSPGreedyOpt

        +
        public GraphAlgo_TSPGreedyOpt()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_Tiefensuche.html b/doc/algorithmen/GraphAlgo_Tiefensuche.html index 1cb79a7..5325be8 100644 --- a/doc/algorithmen/GraphAlgo_Tiefensuche.html +++ b/doc/algorithmen/GraphAlgo_Tiefensuche.html @@ -1,402 +1,402 @@ - - - - - -GraphAlgo_Tiefensuche (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_Tiefensuche

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_Tiefensuche
    -extends GraphAlgo
    -
    Dieser Algorithmus nummeriert alle Knoten des Graphen. - Algorithmus: Tiefensuche mit ToDo-Liste (Stapel)
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_Tiefensuche

        -
        public GraphAlgo_Tiefensuche()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_Tiefensuche (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_Tiefensuche

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_Tiefensuche
    +extends GraphAlgo
    +
    Dieser Algorithmus nummeriert alle Knoten des Graphen. + Algorithmus: Tiefensuche mit ToDo-Liste (Stapel)
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_Tiefensuche

        +
        public GraphAlgo_Tiefensuche()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_TiefensucheRek.html b/doc/algorithmen/GraphAlgo_TiefensucheRek.html index 47afa72..5f63fb1 100644 --- a/doc/algorithmen/GraphAlgo_TiefensucheRek.html +++ b/doc/algorithmen/GraphAlgo_TiefensucheRek.html @@ -1,402 +1,402 @@ - - - - - -GraphAlgo_TiefensucheRek (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_TiefensucheRek

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_TiefensucheRek
    -extends GraphAlgo
    -
    Dieser Algorithmus nummeriert alle Knoten des Graphen. - Algorithmus: Tiefensuche rekursiv
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_TiefensucheRek

        -
        public GraphAlgo_TiefensucheRek()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_TiefensucheRek (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_TiefensucheRek

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_TiefensucheRek
    +extends GraphAlgo
    +
    Dieser Algorithmus nummeriert alle Knoten des Graphen. + Algorithmus: Tiefensuche rekursiv
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_TiefensucheRek

        +
        public GraphAlgo_TiefensucheRek()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_ZyklusBacktracking.html b/doc/algorithmen/GraphAlgo_ZyklusBacktracking.html index 04b9fbc..0b05140 100644 --- a/doc/algorithmen/GraphAlgo_ZyklusBacktracking.html +++ b/doc/algorithmen/GraphAlgo_ZyklusBacktracking.html @@ -1,417 +1,417 @@ - - - - - -GraphAlgo_ZyklusBacktracking (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_ZyklusBacktracking

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_ZyklusBacktracking
    -extends GraphAlgo
    -
    Dieser Algorithmus ist ein Beispiel für einen Backtracking-Algorithmus. - Er sucht einen Zyklus im Graphen. - Algorithmus: Backtracking
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_ZyklusBacktracking

        -
        public GraphAlgo_ZyklusBacktracking()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_ZyklusBacktracking (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_ZyklusBacktracking

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_ZyklusBacktracking
    +extends GraphAlgo
    +
    Dieser Algorithmus ist ein Beispiel für einen Backtracking-Algorithmus. + Er sucht einen Zyklus im Graphen. + Algorithmus: Backtracking
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_ZyklusBacktracking

        +
        public GraphAlgo_ZyklusBacktracking()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/GraphAlgo_toplogischeSortierung.html b/doc/algorithmen/GraphAlgo_toplogischeSortierung.html index e83e61e..9a1f688 100644 --- a/doc/algorithmen/GraphAlgo_toplogischeSortierung.html +++ b/doc/algorithmen/GraphAlgo_toplogischeSortierung.html @@ -1,401 +1,401 @@ - - - - - -GraphAlgo_toplogischeSortierung (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package algorithmen
-

Class GraphAlgo_toplogischeSortierung

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_toplogischeSortierung
    -extends GraphAlgo
    -
    Dieser Algorithmus findet eine topologische Sortierung des Graphen.
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_toplogischeSortierung

        -
        public GraphAlgo_toplogischeSortierung()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_toplogischeSortierung (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package algorithmen
+

Class GraphAlgo_toplogischeSortierung

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_toplogischeSortierung
    +extends GraphAlgo
    +
    Dieser Algorithmus findet eine topologische Sortierung des Graphen.
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_toplogischeSortierung

        +
        public GraphAlgo_toplogischeSortierung()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/algorithmen/package-summary.html b/doc/algorithmen/package-summary.html index 7e9051f..ee2685f 100644 --- a/doc/algorithmen/package-summary.html +++ b/doc/algorithmen/package-summary.html @@ -1,365 +1,365 @@ - - - - - -algorithmen (1_graphentester) - - - - - - - - - - - - - - - -
- -
-
-
-

Package algorithmen

-
-
-
    -
  • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Class Summary 
    ClassDescription
    GraphAlgo -
    description
    -
    GraphAlgo_BellmanFord -
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    -
    GraphAlgo_Breitensuche -
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    -
    GraphAlgo_ColoringBacktracking -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    GraphAlgo_ColoringGreedy -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    GraphAlgo_ColoringGreedyRandom -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    GraphAlgo_Dijkstra -
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    -
    GraphAlgo_DominatingSetBacktracking -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGenetisch -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyA -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyB -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyC -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyD -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyE -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyF -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyG -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyH -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyI -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_EulerkreisExistenz -
    Dieser Algorithmus testet, ob ein Eulerkreis existiert.
    -
    GraphAlgo_Moore -
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen.
    -
    GraphAlgo_MST_Kruskal -
    Dieser Algorithmus sucht einen minimal Spanning Tree - Algorithmus: Kruskal
    -
    GraphAlgo_MST_Prim -
    Dieser Algorithmus sucht einen minimal Spanning Tree - Algorithmus: Prim
    -
    GraphAlgo_Tiefensuche -
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    -
    GraphAlgo_TiefensucheRek -
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    -
    GraphAlgo_toplogischeSortierung -
    Dieser Algorithmus findet eine topologische Sortierung des Graphen.
    -
    GraphAlgo_TSPBacktracking -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    GraphAlgo_TSPGenetisch -
    description
    -
    GraphAlgo_TSPGreedy -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    GraphAlgo_TSPGreedy2 -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    GraphAlgo_TSPGreedyOpt -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    GraphAlgo_ZyklusBacktracking -
    Dieser Algorithmus ist ein Beispiel für einen Backtracking-Algorithmus.
    -
    -
  • -
-
-
-
- -
- - + + + + + +algorithmen (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package algorithmen

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    GraphAlgo +
    description
    +
    GraphAlgo_BellmanFord +
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    +
    GraphAlgo_Breitensuche +
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    +
    GraphAlgo_ColoringBacktracking +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    GraphAlgo_ColoringGreedy +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    GraphAlgo_ColoringGreedyRandom +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    GraphAlgo_Dijkstra +
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    +
    GraphAlgo_DominatingSetBacktracking +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGenetisch +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyA +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyB +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyC +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyD +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyE +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyF +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyG +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyH +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyI +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_EulerkreisExistenz +
    Dieser Algorithmus testet, ob ein Eulerkreis existiert.
    +
    GraphAlgo_Moore +
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen.
    +
    GraphAlgo_MST_Kruskal +
    Dieser Algorithmus sucht einen minimal Spanning Tree + Algorithmus: Kruskal
    +
    GraphAlgo_MST_Prim +
    Dieser Algorithmus sucht einen minimal Spanning Tree + Algorithmus: Prim
    +
    GraphAlgo_Tiefensuche +
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    +
    GraphAlgo_TiefensucheRek +
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    +
    GraphAlgo_toplogischeSortierung +
    Dieser Algorithmus findet eine topologische Sortierung des Graphen.
    +
    GraphAlgo_TSPBacktracking +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    GraphAlgo_TSPGenetisch +
    description
    +
    GraphAlgo_TSPGreedy +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    GraphAlgo_TSPGreedy2 +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    GraphAlgo_TSPGreedyOpt +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    GraphAlgo_ZyklusBacktracking +
    Dieser Algorithmus ist ein Beispiel für einen Backtracking-Algorithmus.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/doc/algorithmen/package-tree.html b/doc/algorithmen/package-tree.html index 575e6d2..ddc3748 100644 --- a/doc/algorithmen/package-tree.html +++ b/doc/algorithmen/package-tree.html @@ -1,197 +1,197 @@ - - - - - -algorithmen Class Hierarchy (1_graphentester) - - - - - - - - - - - - - - - -
- -
-
-
-

Hierarchy For Package algorithmen

-Package Hierarchies: - -
- -
-
- -
- - + + + + + +algorithmen Class Hierarchy (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package algorithmen

+Package Hierarchies: + +
+ +
+
+ +
+ + diff --git a/doc/allclasses-index.html b/doc/allclasses-index.html index 6b3792e..ca886f2 100644 --- a/doc/allclasses-index.html +++ b/doc/allclasses-index.html @@ -1,504 +1,504 @@ - - - - - -All Classes (1_graphentester) - - - - - - - - - - - - - - - -
- -
-
-
-

All Classes

-
-
-
    -
  • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    All Classes Interface Summary Class Summary 
    ClassDescription
    Controller -
    Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar.
    -
    EditTabMitController -
    Die Klasse EditTabMitController stellt einen Tab inclusive ihres Controllers - zur Editierung eines Graphs dar.
    -
    Graph -
    Dies ist das Herz vom "GraphTester" - der Graph selber, gepeichert als Adjazenzliste.
    -
    GraphAlgo -
    description
    -
    GraphAlgo_BellmanFord -
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    -
    GraphAlgo_Breitensuche -
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    -
    GraphAlgo_Coloring_Schueler -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    GraphAlgo_ColoringBacktracking -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    GraphAlgo_ColoringGreedy -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    GraphAlgo_ColoringGreedyRandom -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    GraphAlgo_Dijkstra -
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    -
    GraphAlgo_DominatingSetBacktracking -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGenetisch -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyA -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyB -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyC -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyD -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyE -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyF -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyG -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyH -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_DominatingSetGreedyI -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    GraphAlgo_EulerkreisExistenz -
    Dieser Algorithmus testet, ob ein Eulerkreis existiert.
    -
    GraphAlgo_Moore -
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen.
    -
    GraphAlgo_MST_Kruskal -
    Dieser Algorithmus sucht einen minimal Spanning Tree - Algorithmus: Kruskal
    -
    GraphAlgo_MST_Prim -
    Dieser Algorithmus sucht einen minimal Spanning Tree - Algorithmus: Prim
    -
    GraphAlgo_Tiefensuche -
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    -
    GraphAlgo_TiefensucheRek -
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    -
    GraphAlgo_toplogischeSortierung -
    Dieser Algorithmus findet eine topologische Sortierung des Graphen.
    -
    GraphAlgo_TSPBacktracking -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    GraphAlgo_TSPGenetisch -
    description
    -
    GraphAlgo_TSPGreedy -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    GraphAlgo_TSPGreedy2 -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    GraphAlgo_TSPGreedyOpt -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    GraphAlgo_ZyklusBacktracking -
    Dieser Algorithmus ist ein Beispiel für einen Backtracking-Algorithmus.
    -
    GraphElement -
    Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten.
    -
    GraphenTester 
    GraphOptions -
    Die Klasse GraphOptions speichert, wie ein Graph in einem Fenster vom - GraphPlotter angezeigt wird.
    -
    GraphPlotter -
    Der GraphPlotter ist das Herzstueck der Visualisierung und dient als Schnittstelle zur GUI.
    -
    HauptTabMitController -
    Die Klasse HauptTabMitController stellt einen Tab inclusive ihres Controllers - für das Hauptfenster des Graphentesters dar.
    -
    Hilfe 
    Hilfefenster -
    Die Klasse Hilfefenster stellt ein Hilfefenster für die Simulation eines - Algorithmus bereit.
    -
    HSB -
    Hilfsklasse für das HSB-Farbmodell
    -
    Kante -
    Die Klasse Kante beschreibt die Datenstruktur einer Kante, bestehend aus Startknoten, Gewicht und Zielknoten.
    -
    Knoten -
    Diese Klasse Knoten definiert einen Knoten.
    -
    NumberField 
    Picture -
    Bildklasse fuer die Simulation von Processing-Befehlen - - Diese Klasse stellt ein BufferedImage bereit, in das mit Processing-Befehlen gezeichnet - werden kann.
    -
    PictureViewer 
    SimulationTabMitController -
    Die Klasse SimulationTabMitController stellt einen Tab inclusive ihres Controllers - zur Simulation eines Algorithmus dar.
    -
    Table 
    TableRow 
    TabMitController -
    Die Klasse TabMitController stellt die Oberklasse für alle Tabs des Graphentesters - dar.
    -
    UnterTabMitController -
    Die Klasse UnterTabMitController stellt einen Tab inclusive ihres Controllers - zur händischen Erforschung eines Algorithmus.
    -
    XML 
    -
  • -
-
-
-
- -
- - + + + + + +All Classes (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    All Classes Interface Summary Class Summary 
    ClassDescription
    Controller +
    Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar.
    +
    EditTabMitController +
    Die Klasse EditTabMitController stellt einen Tab inclusive ihres Controllers + zur Editierung eines Graphs dar.
    +
    Graph +
    Dies ist das Herz vom "GraphTester" - der Graph selber, gepeichert als Adjazenzliste.
    +
    GraphAlgo +
    description
    +
    GraphAlgo_BellmanFord +
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    +
    GraphAlgo_Breitensuche +
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    +
    GraphAlgo_Coloring_Schueler +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    GraphAlgo_ColoringBacktracking +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    GraphAlgo_ColoringGreedy +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    GraphAlgo_ColoringGreedyRandom +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    GraphAlgo_Dijkstra +
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    +
    GraphAlgo_DominatingSetBacktracking +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGenetisch +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyA +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyB +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyC +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyD +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyE +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyF +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyG +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyH +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_DominatingSetGreedyI +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    GraphAlgo_EulerkreisExistenz +
    Dieser Algorithmus testet, ob ein Eulerkreis existiert.
    +
    GraphAlgo_Moore +
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen.
    +
    GraphAlgo_MST_Kruskal +
    Dieser Algorithmus sucht einen minimal Spanning Tree + Algorithmus: Kruskal
    +
    GraphAlgo_MST_Prim +
    Dieser Algorithmus sucht einen minimal Spanning Tree + Algorithmus: Prim
    +
    GraphAlgo_Tiefensuche +
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    +
    GraphAlgo_TiefensucheRek +
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    +
    GraphAlgo_toplogischeSortierung +
    Dieser Algorithmus findet eine topologische Sortierung des Graphen.
    +
    GraphAlgo_TSPBacktracking +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    GraphAlgo_TSPGenetisch +
    description
    +
    GraphAlgo_TSPGreedy +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    GraphAlgo_TSPGreedy2 +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    GraphAlgo_TSPGreedyOpt +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    GraphAlgo_ZyklusBacktracking +
    Dieser Algorithmus ist ein Beispiel für einen Backtracking-Algorithmus.
    +
    GraphElement +
    Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten.
    +
    GraphenTester 
    GraphOptions +
    Die Klasse GraphOptions speichert, wie ein Graph in einem Fenster vom + GraphPlotter angezeigt wird.
    +
    GraphPlotter +
    Der GraphPlotter ist das Herzstueck der Visualisierung und dient als Schnittstelle zur GUI.
    +
    HauptTabMitController +
    Die Klasse HauptTabMitController stellt einen Tab inclusive ihres Controllers + für das Hauptfenster des Graphentesters dar.
    +
    Hilfe 
    Hilfefenster +
    Die Klasse Hilfefenster stellt ein Hilfefenster für die Simulation eines + Algorithmus bereit.
    +
    HSB +
    Hilfsklasse für das HSB-Farbmodell
    +
    Kante +
    Die Klasse Kante beschreibt die Datenstruktur einer Kante, bestehend aus Startknoten, Gewicht und Zielknoten.
    +
    Knoten +
    Diese Klasse Knoten definiert einen Knoten.
    +
    NumberField 
    Picture +
    Bildklasse fuer die Simulation von Processing-Befehlen + + Diese Klasse stellt ein BufferedImage bereit, in das mit Processing-Befehlen gezeichnet + werden kann.
    +
    PictureViewer 
    SimulationTabMitController +
    Die Klasse SimulationTabMitController stellt einen Tab inclusive ihres Controllers + zur Simulation eines Algorithmus dar.
    +
    Table 
    TableRow 
    TabMitController +
    Die Klasse TabMitController stellt die Oberklasse für alle Tabs des Graphentesters + dar.
    +
    UnterTabMitController +
    Die Klasse UnterTabMitController stellt einen Tab inclusive ihres Controllers + zur händischen Erforschung eines Algorithmus.
    +
    XML 
    +
  • +
+
+
+
+ +
+ + diff --git a/doc/allclasses.html b/doc/allclasses.html index 3a9b14b..dd81314 100644 --- a/doc/allclasses.html +++ b/doc/allclasses.html @@ -1,20 +1,20 @@ - - - - - -All Classes - - - - - - -

All Classes

-
- -
- - + + + + + +All Classes + + + + + + +

All Classes

+
+ +
+ + diff --git a/doc/allpackages-index.html b/doc/allpackages-index.html index e4ddd99..aedcc7b 100644 --- a/doc/allpackages-index.html +++ b/doc/allpackages-index.html @@ -1,183 +1,183 @@ - - - - - -All Packages (1_graphentester) - - - - - - - - - - - - - - - -
- -
-
-
-

All Packages

-
-
- -
-
-
- -
- - + + + + + +All Packages (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
+ +
+
+
+ +
+ + diff --git a/doc/constant-values.html b/doc/constant-values.html index 3a2c584..a94bd32 100644 --- a/doc/constant-values.html +++ b/doc/constant-values.html @@ -1,35 +1,35 @@ - - - - - -Constant Field Values - - - - - - - - -
-
-

Constant Field Values

-
-

Contents

-
-
-
- - + + + + + +Constant Field Values + + + + + + + + +
+
+

Constant Field Values

+
+

Contents

+
+
+
+ + diff --git a/doc/control/Controller.html b/doc/control/Controller.html index 3ae3160..fd60ca8 100644 --- a/doc/control/Controller.html +++ b/doc/control/Controller.html @@ -1,688 +1,688 @@ - - - - - -Controller (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package control
-

Class Controller

-
-
- -
-
    -
  • -
    -
    public class Controller
    -extends Object
    -
    Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar.
    -
    -
    Version:
    -
    v6.7 (9.12.2020)
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        Controller

        -
        public Controller()
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        initialize

        -
        public void initialize()
        -
      • -
      - - - -
        -
      • -

        mNeuerGraph

        -
        void mNeuerGraph​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        schliesseTabs

        -
        void schliesseTabs()
        -
      • -
      - - - -
        -
      • -

        mBearbeiten

        -
        void mBearbeiten​(javafx.scene.input.MouseEvent event)
        -
      • -
      - - - -
        -
      • -

        mSimuliere

        -
        void mSimuliere​(javafx.scene.input.MouseEvent event)
        -
      • -
      - - - -
        -
      • -

        mExperimentiereKanten

        -
        void mExperimentiereKanten​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mExperimentiereKnoten

        -
        void mExperimentiereKnoten​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mExperimentiereAuswahl

        -
        void mExperimentiereAuswahl​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mBeenden

        -
        public void mBeenden​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        menuChangeAnsicht

        -
        void menuChangeAnsicht()
        -
      • -
      - - - -
        -
      • -

        mChangeOptionBild

        -
        void mChangeOptionBild​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mChangeOptionKantengewichte

        -
        void mChangeOptionKantengewichte​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mChangeOptionKnoteninfo

        -
        void mChangeOptionKnoteninfo​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mChangeOptionKnotenname

        -
        void mChangeOptionKnotenname​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mChangeOptionKnotenwerte

        -
        void mChangeOptionKnotenwerte​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mChangeHilfefenster

        -
        void mChangeHilfefenster​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mOeffnen

        -
        void mOeffnen​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        graphLaden

        -
        void graphLaden​(String dateiname)
        -
      • -
      - - - -
        -
      • -

        mSchliessen

        -
        void mSchliessen​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mSpeichern

        -
        void mSpeichern​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mUeber

        -
        void mUeber​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mResetAlles

        -
        void mResetAlles​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mResetBesucht

        -
        void mResetBesucht​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mResetFarbe

        -
        void mResetFarbe​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mResetGeloescht

        -
        void mResetGeloescht​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mResetKantenmarkierung

        -
        void mResetKantenmarkierung​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mResetMarkierung

        -
        void mResetMarkierung​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mResetWert

        -
        void mResetWert​(javafx.event.ActionEvent event)
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-
- -
- -
- - + + + + + +Controller (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package control
+

Class Controller

+
+
+ +
+
    +
  • +
    +
    public class Controller
    +extends Object
    +
    Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar.
    +
    +
    Version:
    +
    v6.7 (9.12.2020)
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Controller

        +
        public Controller()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        initialize

        +
        public void initialize()
        +
      • +
      + + + +
        +
      • +

        mNeuerGraph

        +
        void mNeuerGraph​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        schliesseTabs

        +
        void schliesseTabs()
        +
      • +
      + + + +
        +
      • +

        mBearbeiten

        +
        void mBearbeiten​(javafx.scene.input.MouseEvent event)
        +
      • +
      + + + +
        +
      • +

        mSimuliere

        +
        void mSimuliere​(javafx.scene.input.MouseEvent event)
        +
      • +
      + + + +
        +
      • +

        mExperimentiereKanten

        +
        void mExperimentiereKanten​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mExperimentiereKnoten

        +
        void mExperimentiereKnoten​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mExperimentiereAuswahl

        +
        void mExperimentiereAuswahl​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mBeenden

        +
        public void mBeenden​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        menuChangeAnsicht

        +
        void menuChangeAnsicht()
        +
      • +
      + + + +
        +
      • +

        mChangeOptionBild

        +
        void mChangeOptionBild​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mChangeOptionKantengewichte

        +
        void mChangeOptionKantengewichte​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mChangeOptionKnoteninfo

        +
        void mChangeOptionKnoteninfo​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mChangeOptionKnotenname

        +
        void mChangeOptionKnotenname​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mChangeOptionKnotenwerte

        +
        void mChangeOptionKnotenwerte​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mChangeHilfefenster

        +
        void mChangeHilfefenster​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mOeffnen

        +
        void mOeffnen​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        graphLaden

        +
        void graphLaden​(String dateiname)
        +
      • +
      + + + +
        +
      • +

        mSchliessen

        +
        void mSchliessen​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mSpeichern

        +
        void mSpeichern​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mUeber

        +
        void mUeber​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mResetAlles

        +
        void mResetAlles​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mResetBesucht

        +
        void mResetBesucht​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mResetFarbe

        +
        void mResetFarbe​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mResetGeloescht

        +
        void mResetGeloescht​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mResetKantenmarkierung

        +
        void mResetKantenmarkierung​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mResetMarkierung

        +
        void mResetMarkierung​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mResetWert

        +
        void mResetWert​(javafx.event.ActionEvent event)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/doc/control/EditTabMitController.html b/doc/control/EditTabMitController.html index ec4c12b..79433e1 100644 --- a/doc/control/EditTabMitController.html +++ b/doc/control/EditTabMitController.html @@ -1,544 +1,544 @@ - - - - - -EditTabMitController (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package control
-

Class EditTabMitController

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    javafx.css.Styleable, javafx.event.EventTarget
    -
    -
    -
    public class EditTabMitController
    -extends TabMitController
    -
    Die Klasse EditTabMitController stellt einen Tab inclusive ihres Controllers - zur Editierung eines Graphs dar.
    -
    -
    Version:
    -
    v6.7 (9.12.2020)
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Field Summary

      - -
        -
      • - - -

        Fields inherited from class javafx.scene.control.Tab

        -CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • -
      -
    • -
    -
    - -
    - -
    - -
    -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      (package private) voidbBildLaden​(javafx.event.ActionEvent event) 
      (package private) voidbBildLoeschen​(javafx.event.ActionEvent event) 
      (package private) voidbDistanzenBestimmen​(javafx.event.ActionEvent event) 
      (package private) voidgraphClicked​(javafx.scene.input.MouseEvent event) 
      voidinitialize() 
      voidmInfotextAendern() 
      voidmLoesche() 
      voidmWertAendern() 
      (package private) voidsetGerichtet​(boolean gerichtet) 
      (package private) voidsetGewichtet​(boolean gewichtet) 
      (package private) voidsetInfotext​(boolean anzeigen) 
      (package private) voidsetKnotenTyp​(javafx.scene.control.Toggle t) 
      (package private) voidsGroesseAendern​(Number size) 
      - -
        -
      • - - -

        Methods inherited from class javafx.scene.control.Tab

        -buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • -
      - -
        -
      • - - -

        Methods inherited from interface javafx.css.Styleable

        -getStyleableNode
      • -
      -
    • -
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        EditTabMitController

        -
        public EditTabMitController​(Graph graph,
        -                            GraphOptions options)
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - - - - - -
        -
      • -

        sGroesseAendern

        -
        void sGroesseAendern​(Number size)
        -
      • -
      - - - -
        -
      • -

        setGerichtet

        -
        void setGerichtet​(boolean gerichtet)
        -
      • -
      - - - -
        -
      • -

        setGewichtet

        -
        void setGewichtet​(boolean gewichtet)
        -
      • -
      - - - -
        -
      • -

        setInfotext

        -
        void setInfotext​(boolean anzeigen)
        -
      • -
      - - - -
        -
      • -

        setKnotenTyp

        -
        void setKnotenTyp​(javafx.scene.control.Toggle t)
        -
      • -
      - - - -
        -
      • -

        bBildLaden

        -
        void bBildLaden​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bBildLoeschen

        -
        void bBildLoeschen​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bDistanzenBestimmen

        -
        void bDistanzenBestimmen​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        graphClicked

        -
        void graphClicked​(javafx.scene.input.MouseEvent event)
        -
      • -
      - - - -
        -
      • -

        mLoesche

        -
        public void mLoesche()
        -
      • -
      - - - -
        -
      • -

        mWertAendern

        -
        public void mWertAendern()
        -
      • -
      - - - -
        -
      • -

        mInfotextAendern

        -
        public void mInfotextAendern()
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-
- - - - + + + + + +EditTabMitController (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package control
+

Class EditTabMitController

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    javafx.css.Styleable, javafx.event.EventTarget
    +
    +
    +
    public class EditTabMitController
    +extends TabMitController
    +
    Die Klasse EditTabMitController stellt einen Tab inclusive ihres Controllers + zur Editierung eines Graphs dar.
    +
    +
    Version:
    +
    v6.7 (9.12.2020)
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + +
        +
      • + + +

        Fields inherited from class javafx.scene.control.Tab

        +CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      (package private) voidbBildLaden​(javafx.event.ActionEvent event) 
      (package private) voidbBildLoeschen​(javafx.event.ActionEvent event) 
      (package private) voidbDistanzenBestimmen​(javafx.event.ActionEvent event) 
      (package private) voidgraphClicked​(javafx.scene.input.MouseEvent event) 
      voidinitialize() 
      voidmInfotextAendern() 
      voidmLoesche() 
      voidmWertAendern() 
      (package private) voidsetGerichtet​(boolean gerichtet) 
      (package private) voidsetGewichtet​(boolean gewichtet) 
      (package private) voidsetInfotext​(boolean anzeigen) 
      (package private) voidsetKnotenTyp​(javafx.scene.control.Toggle t) 
      (package private) voidsGroesseAendern​(Number size) 
      + +
        +
      • + + +

        Methods inherited from class javafx.scene.control.Tab

        +buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • +
      + +
        +
      • + + +

        Methods inherited from interface javafx.css.Styleable

        +getStyleableNode
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EditTabMitController

        +
        public EditTabMitController​(Graph graph,
        +                            GraphOptions options)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        sGroesseAendern

        +
        void sGroesseAendern​(Number size)
        +
      • +
      + + + +
        +
      • +

        setGerichtet

        +
        void setGerichtet​(boolean gerichtet)
        +
      • +
      + + + +
        +
      • +

        setGewichtet

        +
        void setGewichtet​(boolean gewichtet)
        +
      • +
      + + + +
        +
      • +

        setInfotext

        +
        void setInfotext​(boolean anzeigen)
        +
      • +
      + + + +
        +
      • +

        setKnotenTyp

        +
        void setKnotenTyp​(javafx.scene.control.Toggle t)
        +
      • +
      + + + +
        +
      • +

        bBildLaden

        +
        void bBildLaden​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bBildLoeschen

        +
        void bBildLoeschen​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bDistanzenBestimmen

        +
        void bDistanzenBestimmen​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        graphClicked

        +
        void graphClicked​(javafx.scene.input.MouseEvent event)
        +
      • +
      + + + +
        +
      • +

        mLoesche

        +
        public void mLoesche()
        +
      • +
      + + + +
        +
      • +

        mWertAendern

        +
        public void mWertAendern()
        +
      • +
      + + + +
        +
      • +

        mInfotextAendern

        +
        public void mInfotextAendern()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/doc/control/HauptTabMitController.html b/doc/control/HauptTabMitController.html index cbdfb38..ea36392 100644 --- a/doc/control/HauptTabMitController.html +++ b/doc/control/HauptTabMitController.html @@ -1,377 +1,377 @@ - - - - - -HauptTabMitController (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package control
-

Class HauptTabMitController

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    javafx.css.Styleable, javafx.event.EventTarget
    -
    -
    -
    public class HauptTabMitController
    -extends TabMitController
    -
    Die Klasse HauptTabMitController stellt einen Tab inclusive ihres Controllers - für das Hauptfenster des Graphentesters dar. Einzelne Knoten oder Kanten können - selektiert werden.
    -
    -
    Version:
    -
    v6.7 (9.12.2020)
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Field Summary

      - -
        -
      • - - -

        Fields inherited from class javafx.scene.control.Tab

        -CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • -
      -
    • -
    -
    - -
    - -
    - -
    -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidinitialize() 
      - -
        -
      • - - -

        Methods inherited from class javafx.scene.control.Tab

        -buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • -
      - -
        -
      • - - -

        Methods inherited from interface javafx.css.Styleable

        -getStyleableNode
      • -
      -
    • -
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        HauptTabMitController

        -
        public HauptTabMitController​(Graph graph,
        -                             GraphOptions options)
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +HauptTabMitController (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package control
+

Class HauptTabMitController

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    javafx.css.Styleable, javafx.event.EventTarget
    +
    +
    +
    public class HauptTabMitController
    +extends TabMitController
    +
    Die Klasse HauptTabMitController stellt einen Tab inclusive ihres Controllers + für das Hauptfenster des Graphentesters dar. Einzelne Knoten oder Kanten können + selektiert werden.
    +
    +
    Version:
    +
    v6.7 (9.12.2020)
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + +
        +
      • + + +

        Fields inherited from class javafx.scene.control.Tab

        +CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidinitialize() 
      + +
        +
      • + + +

        Methods inherited from class javafx.scene.control.Tab

        +buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • +
      + +
        +
      • + + +

        Methods inherited from interface javafx.css.Styleable

        +getStyleableNode
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        HauptTabMitController

        +
        public HauptTabMitController​(Graph graph,
        +                             GraphOptions options)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/control/Hilfefenster.html b/doc/control/Hilfefenster.html index 19bf99c..e2f637d 100644 --- a/doc/control/Hilfefenster.html +++ b/doc/control/Hilfefenster.html @@ -1,462 +1,462 @@ - - - - - -Hilfefenster (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package control
-

Class Hilfefenster

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • javafx.stage.Window
    • -
    • -
        -
      • javafx.stage.Stage
      • -
      • -
          -
        • control.Hilfefenster
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Hilfe, javafx.event.EventTarget
    -
    -
    -
    public class Hilfefenster
    -extends javafx.stage.Stage
    -implements Hilfe
    -
    Die Klasse Hilfefenster stellt ein Hilfefenster für die Simulation eines - Algorithmus bereit.
    -
    -
    Version:
    -
    v6.7 (9.12.2020)
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Summary

      - - - - - - - - - - -
      Constructors 
      ConstructorDescription
      Hilfefenster() 
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidappend​(String text) 
      voidindentLess() 
      voidindentMore() 
      voidinitialize() 
      voidloescheAlles() 
      voidsetGraphPlotter​(GraphPlotter gp) 
      voidsetReviewAllowed​(boolean a) 
      voidshowState() 
      -
        -
      • - - -

        Methods inherited from class javafx.stage.Stage

        -alwaysOnTopProperty, close, fullScreenExitHintProperty, fullScreenExitKeyProperty, fullScreenProperty, getFullScreenExitHint, getFullScreenExitKeyCombination, getIcons, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getModality, getOwner, getStyle, getTitle, iconifiedProperty, initModality, initOwner, initStyle, isAlwaysOnTop, isFullScreen, isIconified, isMaximized, isResizable, maxHeightProperty, maximizedProperty, maxWidthProperty, minHeightProperty, minWidthProperty, resizableProperty, setAlwaysOnTop, setFullScreen, setFullScreenExitHint, setFullScreenExitKeyCombination, setIconified, setMaxHeight, setMaximized, setMaxWidth, setMinHeight, setMinWidth, setResizable, setScene, setTitle, show, showAndWait, titleProperty, toBack, toFront
      • -
      -
        -
      • - - -

        Methods inherited from class javafx.stage.Window

        -addEventFilter, addEventHandler, buildEventDispatchChain, centerOnScreen, eventDispatcherProperty, fireEvent, focusedProperty, forceIntegerRenderScaleProperty, getEventDispatcher, getHeight, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOpacity, getOutputScaleX, getOutputScaleY, getProperties, getRenderScaleX, getRenderScaleY, getScene, getUserData, getWidth, getWindows, getX, getY, hasProperties, heightProperty, hide, isFocused, isForceIntegerRenderScale, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, opacityProperty, outputScaleXProperty, outputScaleYProperty, removeEventFilter, removeEventHandler, renderScaleXProperty, renderScaleYProperty, requestFocus, sceneProperty, setEventDispatcher, setEventHandler, setForceIntegerRenderScale, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setOpacity, setRenderScaleX, setRenderScaleY, setUserData, setWidth, setX, setY, showingProperty, sizeToScene, widthProperty, xProperty, yProperty
      • -
      - -
    • -
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        Hilfefenster

        -
        public Hilfefenster()
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        initialize

        -
        public void initialize()
        -
      • -
      - - - - - - - -
        -
      • -

        loescheAlles

        -
        public void loescheAlles()
        -
        -
        Specified by:
        -
        loescheAlles in interface Hilfe
        -
        -
      • -
      - - - -
        -
      • -

        append

        -
        public void append​(String text)
        -
        -
        Specified by:
        -
        append in interface Hilfe
        -
        -
      • -
      - - - -
        -
      • -

        indentMore

        -
        public void indentMore()
        -
        -
        Specified by:
        -
        indentMore in interface Hilfe
        -
        -
      • -
      - - - -
        -
      • -

        indentLess

        -
        public void indentLess()
        -
        -
        Specified by:
        -
        indentLess in interface Hilfe
        -
        -
      • -
      - - - -
        -
      • -

        setReviewAllowed

        -
        public void setReviewAllowed​(boolean a)
        -
        -
        Specified by:
        -
        setReviewAllowed in interface Hilfe
        -
        -
      • -
      - - - -
        -
      • -

        showState

        -
        public void showState()
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-
- -
- -
- - + + + + + +Hilfefenster (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package control
+

Class Hilfefenster

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • javafx.stage.Window
    • +
    • +
        +
      • javafx.stage.Stage
      • +
      • +
          +
        • control.Hilfefenster
        • +
        +
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Hilfe, javafx.event.EventTarget
    +
    +
    +
    public class Hilfefenster
    +extends javafx.stage.Stage
    +implements Hilfe
    +
    Die Klasse Hilfefenster stellt ein Hilfefenster für die Simulation eines + Algorithmus bereit.
    +
    +
    Version:
    +
    v6.7 (9.12.2020)
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Hilfefenster() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidappend​(String text) 
      voidindentLess() 
      voidindentMore() 
      voidinitialize() 
      voidloescheAlles() 
      voidsetGraphPlotter​(GraphPlotter gp) 
      voidsetReviewAllowed​(boolean a) 
      voidshowState() 
      +
        +
      • + + +

        Methods inherited from class javafx.stage.Stage

        +alwaysOnTopProperty, close, fullScreenExitHintProperty, fullScreenExitKeyProperty, fullScreenProperty, getFullScreenExitHint, getFullScreenExitKeyCombination, getIcons, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getModality, getOwner, getStyle, getTitle, iconifiedProperty, initModality, initOwner, initStyle, isAlwaysOnTop, isFullScreen, isIconified, isMaximized, isResizable, maxHeightProperty, maximizedProperty, maxWidthProperty, minHeightProperty, minWidthProperty, resizableProperty, setAlwaysOnTop, setFullScreen, setFullScreenExitHint, setFullScreenExitKeyCombination, setIconified, setMaxHeight, setMaximized, setMaxWidth, setMinHeight, setMinWidth, setResizable, setScene, setTitle, show, showAndWait, titleProperty, toBack, toFront
      • +
      +
        +
      • + + +

        Methods inherited from class javafx.stage.Window

        +addEventFilter, addEventHandler, buildEventDispatchChain, centerOnScreen, eventDispatcherProperty, fireEvent, focusedProperty, forceIntegerRenderScaleProperty, getEventDispatcher, getHeight, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOpacity, getOutputScaleX, getOutputScaleY, getProperties, getRenderScaleX, getRenderScaleY, getScene, getUserData, getWidth, getWindows, getX, getY, hasProperties, heightProperty, hide, isFocused, isForceIntegerRenderScale, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, opacityProperty, outputScaleXProperty, outputScaleYProperty, removeEventFilter, removeEventHandler, renderScaleXProperty, renderScaleYProperty, requestFocus, sceneProperty, setEventDispatcher, setEventHandler, setForceIntegerRenderScale, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setOpacity, setRenderScaleX, setRenderScaleY, setUserData, setWidth, setX, setY, showingProperty, sizeToScene, widthProperty, xProperty, yProperty
      • +
      + +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Hilfefenster

        +
        public Hilfefenster()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        initialize

        +
        public void initialize()
        +
      • +
      + + + + + + + +
        +
      • +

        loescheAlles

        +
        public void loescheAlles()
        +
        +
        Specified by:
        +
        loescheAlles in interface Hilfe
        +
        +
      • +
      + + + +
        +
      • +

        append

        +
        public void append​(String text)
        +
        +
        Specified by:
        +
        append in interface Hilfe
        +
        +
      • +
      + + + +
        +
      • +

        indentMore

        +
        public void indentMore()
        +
        +
        Specified by:
        +
        indentMore in interface Hilfe
        +
        +
      • +
      + + + +
        +
      • +

        indentLess

        +
        public void indentLess()
        +
        +
        Specified by:
        +
        indentLess in interface Hilfe
        +
        +
      • +
      + + + +
        +
      • +

        setReviewAllowed

        +
        public void setReviewAllowed​(boolean a)
        +
        +
        Specified by:
        +
        setReviewAllowed in interface Hilfe
        +
        +
      • +
      + + + +
        +
      • +

        showState

        +
        public void showState()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/doc/control/SimulationTabMitController.html b/doc/control/SimulationTabMitController.html index 011a2f1..d0ae88f 100644 --- a/doc/control/SimulationTabMitController.html +++ b/doc/control/SimulationTabMitController.html @@ -1,467 +1,467 @@ - - - - - -SimulationTabMitController (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package control
-

Class SimulationTabMitController

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    javafx.css.Styleable, javafx.event.EventTarget
    -
    -
    -
    public class SimulationTabMitController
    -extends TabMitController
    -
    Die Klasse SimulationTabMitController stellt einen Tab inclusive ihres Controllers - zur Simulation eines Algorithmus dar. Der Algorithmus kann ausgewählt und schrittweise - durchgeführt werden.
    -
    -
    Version:
    -
    v6.7 (9.12.2020)
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Field Summary

      - -
        -
      • - - -

        Fields inherited from class javafx.scene.control.Tab

        -CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • -
      -
    • -
    -
    - -
    - -
    - -
    -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidinitialize() 
      voidmBreak​(javafx.event.ActionEvent event) 
      (package private) voidmReset​(javafx.event.ActionEvent event) 
      (package private) voidmStart​(javafx.event.ActionEvent event) 
      (package private) voidmStep​(javafx.event.ActionEvent event) 
      voidsetGraph​(Graph graph, - GraphOptions options) 
      voidshowHilfe​(boolean b) 
      - -
        -
      • - - -

        Methods inherited from class javafx.scene.control.Tab

        -buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • -
      - -
        -
      • - - -

        Methods inherited from interface javafx.css.Styleable

        -getStyleableNode
      • -
      -
    • -
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        SimulationTabMitController

        -
        public SimulationTabMitController​(Graph graph,
        -                                  GraphOptions options)
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - - - - - -
        -
      • -

        showHilfe

        -
        public void showHilfe​(boolean b)
        -
      • -
      - - - - - - - -
        -
      • -

        mReset

        -
        void mReset​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mStep

        -
        void mStep​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mStart

        -
        void mStart​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mBreak

        -
        public void mBreak​(javafx.event.ActionEvent event)
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-
- - - - + + + + + +SimulationTabMitController (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package control
+

Class SimulationTabMitController

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    javafx.css.Styleable, javafx.event.EventTarget
    +
    +
    +
    public class SimulationTabMitController
    +extends TabMitController
    +
    Die Klasse SimulationTabMitController stellt einen Tab inclusive ihres Controllers + zur Simulation eines Algorithmus dar. Der Algorithmus kann ausgewählt und schrittweise + durchgeführt werden.
    +
    +
    Version:
    +
    v6.7 (9.12.2020)
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + +
        +
      • + + +

        Fields inherited from class javafx.scene.control.Tab

        +CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidinitialize() 
      voidmBreak​(javafx.event.ActionEvent event) 
      (package private) voidmReset​(javafx.event.ActionEvent event) 
      (package private) voidmStart​(javafx.event.ActionEvent event) 
      (package private) voidmStep​(javafx.event.ActionEvent event) 
      voidsetGraph​(Graph graph, + GraphOptions options) 
      voidshowHilfe​(boolean b) 
      + +
        +
      • + + +

        Methods inherited from class javafx.scene.control.Tab

        +buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • +
      + +
        +
      • + + +

        Methods inherited from interface javafx.css.Styleable

        +getStyleableNode
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SimulationTabMitController

        +
        public SimulationTabMitController​(Graph graph,
        +                                  GraphOptions options)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        showHilfe

        +
        public void showHilfe​(boolean b)
        +
      • +
      + + + + + + + +
        +
      • +

        mReset

        +
        void mReset​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mStep

        +
        void mStep​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mStart

        +
        void mStart​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mBreak

        +
        public void mBreak​(javafx.event.ActionEvent event)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/doc/control/TabMitController.html b/doc/control/TabMitController.html index b7357f2..c06a4ca 100644 --- a/doc/control/TabMitController.html +++ b/doc/control/TabMitController.html @@ -1,487 +1,487 @@ - - - - - -TabMitController (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package control
-

Class TabMitController

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • javafx.scene.control.Tab
    • -
    • -
        -
      • control.TabMitController
      • -
      -
    • -
    -
  • -
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Field Summary

      - - - - - - - - - - - - - - - - - - - - - - -
      Fields 
      Modifier and TypeFieldDescription
      protected Graphgraph 
      protected GraphOptionsoptions 
      protected GraphPlotterviewer 
      -
        -
      • - - -

        Fields inherited from class javafx.scene.control.Tab

        -CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Constructor Summary

      - - - - - - - - - - -
      Constructors 
      ConstructorDescription
      TabMitController() 
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      GraphOptionsgetGraphOptions() 
      GraphPlottergetViewer() 
      voidinitialize() 
      voidsetGraph​(Graph graph, - GraphOptions options) 
      protected voidtabOeffnen​(GraphOptions taboptions) 
      voidupdate() 
      -
        -
      • - - -

        Methods inherited from class javafx.scene.control.Tab

        -buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • -
      - -
        -
      • - - -

        Methods inherited from interface javafx.css.Styleable

        -getStyleableNode
      • -
      -
    • -
    -
    -
  • -
-
-
-
    -
  • - -
    - -
    - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        TabMitController

        -
        public TabMitController()
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        initialize

        -
        public void initialize()
        -
      • -
      - - - -
        -
      • -

        tabOeffnen

        -
        protected void tabOeffnen​(GraphOptions taboptions)
        -
      • -
      - - - -
        -
      • -

        getGraphOptions

        -
        public GraphOptions getGraphOptions()
        -
      • -
      - - - -
        -
      • -

        update

        -
        public void update()
        -
      • -
      - - - - - - - - -
    • -
    -
    -
  • -
-
-
-
- - - - + + + + + +TabMitController (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package control
+

Class TabMitController

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • javafx.scene.control.Tab
    • +
    • +
        +
      • control.TabMitController
      • +
      +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected Graphgraph 
      protected GraphOptionsoptions 
      protected GraphPlotterviewer 
      +
        +
      • + + +

        Fields inherited from class javafx.scene.control.Tab

        +CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      TabMitController() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      GraphOptionsgetGraphOptions() 
      GraphPlottergetViewer() 
      voidinitialize() 
      voidsetGraph​(Graph graph, + GraphOptions options) 
      protected voidtabOeffnen​(GraphOptions taboptions) 
      voidupdate() 
      +
        +
      • + + +

        Methods inherited from class javafx.scene.control.Tab

        +buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • +
      + +
        +
      • + + +

        Methods inherited from interface javafx.css.Styleable

        +getStyleableNode
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TabMitController

        +
        public TabMitController()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        initialize

        +
        public void initialize()
        +
      • +
      + + + +
        +
      • +

        tabOeffnen

        +
        protected void tabOeffnen​(GraphOptions taboptions)
        +
      • +
      + + + +
        +
      • +

        getGraphOptions

        +
        public GraphOptions getGraphOptions()
        +
      • +
      + + + +
        +
      • +

        update

        +
        public void update()
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/doc/control/UnterTabMitController.html b/doc/control/UnterTabMitController.html index 13f0a66..1f69eef 100644 --- a/doc/control/UnterTabMitController.html +++ b/doc/control/UnterTabMitController.html @@ -1,937 +1,937 @@ - - - - - -UnterTabMitController (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
-
Package control
-

Class UnterTabMitController

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    javafx.css.Styleable, javafx.event.EventTarget
    -
    -
    -
    public class UnterTabMitController
    -extends TabMitController
    -
    Die Klasse UnterTabMitController stellt einen Tab inclusive ihres Controllers - zur händischen Erforschung eines Algorithmus. Es wird immer ein einzelner Knoten - oder eine Kante fokussiert.
    -
    -
    Version:
    -
    v6.7 (9.12.2020)
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Field Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Fields 
      Modifier and TypeFieldDescription
      (package private) javafx.scene.control.ButtonbAnfang 
      (package private) javafx.scene.control.ButtonbEnde 
      (package private) javafx.scene.control.ButtonbGehezu 
      (package private) javafx.scene.control.ButtonbSortieren 
      (package private) javafx.scene.control.ButtonbStatus 
      - -
        -
      • - - -

        Fields inherited from class javafx.scene.control.Tab

        -CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • -
      -
    • -
    -
    - -
    - -
    - -
    -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      (package private) voidbAnfang​(javafx.event.ActionEvent event) 
      (package private) voidbBesucht​(javafx.event.ActionEvent event) 
      (package private) voidbEnde​(javafx.event.ActionEvent event) 
      (package private) voidbGeheZu​(javafx.event.ActionEvent event) 
      (package private) voidbHinzufuegenAnfang​(javafx.event.ActionEvent event) 
      (package private) voidbHinzufuegenEnde​(javafx.event.ActionEvent event) 
      (package private) voidbLoeschenAusListe​(javafx.event.ActionEvent event) 
      (package private) voidbMarkieren​(javafx.event.ActionEvent event) 
      (package private) voidbNaechster​(javafx.event.ActionEvent event) 
      (package private) voidbSort​(javafx.event.ActionEvent event) 
      (package private) voidbStatusRestore​(javafx.event.ActionEvent event) 
      (package private) voidbStatusSave​(javafx.event.ActionEvent event) 
      voidbuildAuswahl() 
      (package private) voidbVoheriger​(javafx.event.ActionEvent event) 
      (package private) voidbWertAendern​(javafx.event.ActionEvent event) 
      (package private) voidgraphClicked​(javafx.scene.input.MouseEvent event) 
      voidinitialize() 
      (package private) voidknotenFarbe​(javafx.scene.input.MouseEvent event) 
      (package private) voidmBeenden​(javafx.event.ActionEvent event) 
      (package private) voidmBesucheKnoten​(javafx.event.ActionEvent event) 
      (package private) voidmBesuchtLoeschen​(javafx.event.ActionEvent event) 
      (package private) voidmFaerbeKnoten​(javafx.event.ActionEvent event) 
      (package private) voidmMarkiereKnoten​(javafx.event.ActionEvent event) 
      (package private) voidmMarkierungenLoeschen​(javafx.event.ActionEvent event) 
      (package private) voidmOeffnen​(javafx.event.ActionEvent event) 
      (package private) voidmSchliessen​(javafx.event.ActionEvent event) 
      (package private) voidmSpeichern​(javafx.event.ActionEvent event) 
      (package private) voidmUeber​(javafx.event.ActionEvent event) 
      (package private) voidmWertSetzen​(javafx.event.ActionEvent event) 
      (package private) voidmZurueck​(javafx.event.ActionEvent event) 
      voidsetAuswahl​(List<GraphElement> auswahl) 
      voidsetGraph​(Graph graph, - GraphOptions options) 
      voidupdate() 
      voidupdateInfofeld() 
      - -
        -
      • - - -

        Methods inherited from class javafx.scene.control.Tab

        -buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • -
      - -
        -
      • - - -

        Methods inherited from interface javafx.css.Styleable

        -getStyleableNode
      • -
      -
    • -
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        bStatus

        -
        javafx.scene.control.Button bStatus
        -
      • -
      - - - -
        -
      • -

        bGehezu

        -
        javafx.scene.control.Button bGehezu
        -
      • -
      - - - -
        -
      • -

        bAnfang

        -
        javafx.scene.control.Button bAnfang
        -
      • -
      - - - -
        -
      • -

        bEnde

        -
        javafx.scene.control.Button bEnde
        -
      • -
      - - - -
        -
      • -

        bSortieren

        -
        javafx.scene.control.Button bSortieren
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        UnterTabMitController

        -
        public UnterTabMitController​(Graph graph,
        -                             GraphOptions options)
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - - - - - - - - - -
        -
      • -

        buildAuswahl

        -
        public void buildAuswahl()
        -
      • -
      - - - - - - - - - - - -
        -
      • -

        bAnfang

        -
        void bAnfang​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bBesucht

        -
        void bBesucht​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bEnde

        -
        void bEnde​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        knotenFarbe

        -
        void knotenFarbe​(javafx.scene.input.MouseEvent event)
        -
      • -
      - - - -
        -
      • -

        bMarkieren

        -
        void bMarkieren​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        updateInfofeld

        -
        public void updateInfofeld()
        -
      • -
      - - - -
        -
      • -

        graphClicked

        -
        void graphClicked​(javafx.scene.input.MouseEvent event)
        -
      • -
      - - - -
        -
      • -

        bHinzufuegenAnfang

        -
        void bHinzufuegenAnfang​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bHinzufuegenEnde

        -
        void bHinzufuegenEnde​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bLoeschenAusListe

        -
        void bLoeschenAusListe​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bNaechster

        -
        void bNaechster​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bSort

        -
        void bSort​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bVoheriger

        -
        void bVoheriger​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bWertAendern

        -
        void bWertAendern​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bGeheZu

        -
        void bGeheZu​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mBeenden

        -
        void mBeenden​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mBesucheKnoten

        -
        void mBesucheKnoten​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mBesuchtLoeschen

        -
        void mBesuchtLoeschen​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mFaerbeKnoten

        -
        void mFaerbeKnoten​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mMarkiereKnoten

        -
        void mMarkiereKnoten​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mMarkierungenLoeschen

        -
        void mMarkierungenLoeschen​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mOeffnen

        -
        void mOeffnen​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mSchliessen

        -
        void mSchliessen​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mSpeichern

        -
        void mSpeichern​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mUeber

        -
        void mUeber​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mWertSetzen

        -
        void mWertSetzen​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        mZurueck

        -
        void mZurueck​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bStatusRestore

        -
        void bStatusRestore​(javafx.event.ActionEvent event)
        -
      • -
      - - - -
        -
      • -

        bStatusSave

        -
        void bStatusSave​(javafx.event.ActionEvent event)
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-
- - - - + + + + + +UnterTabMitController (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package control
+

Class UnterTabMitController

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    javafx.css.Styleable, javafx.event.EventTarget
    +
    +
    +
    public class UnterTabMitController
    +extends TabMitController
    +
    Die Klasse UnterTabMitController stellt einen Tab inclusive ihres Controllers + zur händischen Erforschung eines Algorithmus. Es wird immer ein einzelner Knoten + oder eine Kante fokussiert.
    +
    +
    Version:
    +
    v6.7 (9.12.2020)
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      (package private) javafx.scene.control.ButtonbAnfang 
      (package private) javafx.scene.control.ButtonbEnde 
      (package private) javafx.scene.control.ButtonbGehezu 
      (package private) javafx.scene.control.ButtonbSortieren 
      (package private) javafx.scene.control.ButtonbStatus 
      + +
        +
      • + + +

        Fields inherited from class javafx.scene.control.Tab

        +CLOSED_EVENT, SELECTION_CHANGED_EVENT, TAB_CLOSE_REQUEST_EVENT
      • +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      (package private) voidbAnfang​(javafx.event.ActionEvent event) 
      (package private) voidbBesucht​(javafx.event.ActionEvent event) 
      (package private) voidbEnde​(javafx.event.ActionEvent event) 
      (package private) voidbGeheZu​(javafx.event.ActionEvent event) 
      (package private) voidbHinzufuegenAnfang​(javafx.event.ActionEvent event) 
      (package private) voidbHinzufuegenEnde​(javafx.event.ActionEvent event) 
      (package private) voidbLoeschenAusListe​(javafx.event.ActionEvent event) 
      (package private) voidbMarkieren​(javafx.event.ActionEvent event) 
      (package private) voidbNaechster​(javafx.event.ActionEvent event) 
      (package private) voidbSort​(javafx.event.ActionEvent event) 
      (package private) voidbStatusRestore​(javafx.event.ActionEvent event) 
      (package private) voidbStatusSave​(javafx.event.ActionEvent event) 
      voidbuildAuswahl() 
      (package private) voidbVoheriger​(javafx.event.ActionEvent event) 
      (package private) voidbWertAendern​(javafx.event.ActionEvent event) 
      (package private) voidgraphClicked​(javafx.scene.input.MouseEvent event) 
      voidinitialize() 
      (package private) voidknotenFarbe​(javafx.scene.input.MouseEvent event) 
      (package private) voidmBeenden​(javafx.event.ActionEvent event) 
      (package private) voidmBesucheKnoten​(javafx.event.ActionEvent event) 
      (package private) voidmBesuchtLoeschen​(javafx.event.ActionEvent event) 
      (package private) voidmFaerbeKnoten​(javafx.event.ActionEvent event) 
      (package private) voidmMarkiereKnoten​(javafx.event.ActionEvent event) 
      (package private) voidmMarkierungenLoeschen​(javafx.event.ActionEvent event) 
      (package private) voidmOeffnen​(javafx.event.ActionEvent event) 
      (package private) voidmSchliessen​(javafx.event.ActionEvent event) 
      (package private) voidmSpeichern​(javafx.event.ActionEvent event) 
      (package private) voidmUeber​(javafx.event.ActionEvent event) 
      (package private) voidmWertSetzen​(javafx.event.ActionEvent event) 
      (package private) voidmZurueck​(javafx.event.ActionEvent event) 
      voidsetAuswahl​(List<GraphElement> auswahl) 
      voidsetGraph​(Graph graph, + GraphOptions options) 
      voidupdate() 
      voidupdateInfofeld() 
      + +
        +
      • + + +

        Methods inherited from class javafx.scene.control.Tab

        +buildEventDispatchChain, closableProperty, contentProperty, contextMenuProperty, disabledProperty, disableProperty, getClassCssMetaData, getContent, getContextMenu, getCssMetaData, getGraphic, getId, getOnClosed, getOnCloseRequest, getOnSelectionChanged, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTabPane, getText, getTooltip, getTypeSelector, getUserData, graphicProperty, hasProperties, idProperty, isClosable, isDisable, isDisabled, isSelected, onClosedProperty, onCloseRequestProperty, onSelectionChangedProperty, selectedProperty, setClosable, setContent, setContextMenu, setDisable, setGraphic, setId, setOnClosed, setOnCloseRequest, setOnSelectionChanged, setStyle, setText, setTooltip, setUserData, styleProperty, tabPaneProperty, textProperty, tooltipProperty
      • +
      + +
        +
      • + + +

        Methods inherited from interface javafx.css.Styleable

        +getStyleableNode
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        bStatus

        +
        javafx.scene.control.Button bStatus
        +
      • +
      + + + +
        +
      • +

        bGehezu

        +
        javafx.scene.control.Button bGehezu
        +
      • +
      + + + +
        +
      • +

        bAnfang

        +
        javafx.scene.control.Button bAnfang
        +
      • +
      + + + +
        +
      • +

        bEnde

        +
        javafx.scene.control.Button bEnde
        +
      • +
      + + + +
        +
      • +

        bSortieren

        +
        javafx.scene.control.Button bSortieren
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UnterTabMitController

        +
        public UnterTabMitController​(Graph graph,
        +                             GraphOptions options)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        buildAuswahl

        +
        public void buildAuswahl()
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        bAnfang

        +
        void bAnfang​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bBesucht

        +
        void bBesucht​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bEnde

        +
        void bEnde​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        knotenFarbe

        +
        void knotenFarbe​(javafx.scene.input.MouseEvent event)
        +
      • +
      + + + +
        +
      • +

        bMarkieren

        +
        void bMarkieren​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        updateInfofeld

        +
        public void updateInfofeld()
        +
      • +
      + + + +
        +
      • +

        graphClicked

        +
        void graphClicked​(javafx.scene.input.MouseEvent event)
        +
      • +
      + + + +
        +
      • +

        bHinzufuegenAnfang

        +
        void bHinzufuegenAnfang​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bHinzufuegenEnde

        +
        void bHinzufuegenEnde​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bLoeschenAusListe

        +
        void bLoeschenAusListe​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bNaechster

        +
        void bNaechster​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bSort

        +
        void bSort​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bVoheriger

        +
        void bVoheriger​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bWertAendern

        +
        void bWertAendern​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bGeheZu

        +
        void bGeheZu​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mBeenden

        +
        void mBeenden​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mBesucheKnoten

        +
        void mBesucheKnoten​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mBesuchtLoeschen

        +
        void mBesuchtLoeschen​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mFaerbeKnoten

        +
        void mFaerbeKnoten​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mMarkiereKnoten

        +
        void mMarkiereKnoten​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mMarkierungenLoeschen

        +
        void mMarkierungenLoeschen​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mOeffnen

        +
        void mOeffnen​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mSchliessen

        +
        void mSchliessen​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mSpeichern

        +
        void mSpeichern​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mUeber

        +
        void mUeber​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mWertSetzen

        +
        void mWertSetzen​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        mZurueck

        +
        void mZurueck​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bStatusRestore

        +
        void bStatusRestore​(javafx.event.ActionEvent event)
        +
      • +
      + + + +
        +
      • +

        bStatusSave

        +
        void bStatusSave​(javafx.event.ActionEvent event)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/doc/control/package-summary.html b/doc/control/package-summary.html index 0c357f0..348c2e1 100644 --- a/doc/control/package-summary.html +++ b/doc/control/package-summary.html @@ -1,207 +1,207 @@ - - - - - -control (1_graphentester) - - - - - - - - - - - - - - - -
- -
-
-
-

Package control

-
-
-
    -
  • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Class Summary 
    ClassDescription
    Controller -
    Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar.
    -
    EditTabMitController -
    Die Klasse EditTabMitController stellt einen Tab inclusive ihres Controllers - zur Editierung eines Graphs dar.
    -
    HauptTabMitController -
    Die Klasse HauptTabMitController stellt einen Tab inclusive ihres Controllers - für das Hauptfenster des Graphentesters dar.
    -
    Hilfefenster -
    Die Klasse Hilfefenster stellt ein Hilfefenster für die Simulation eines - Algorithmus bereit.
    -
    SimulationTabMitController -
    Die Klasse SimulationTabMitController stellt einen Tab inclusive ihres Controllers - zur Simulation eines Algorithmus dar.
    -
    TabMitController -
    Die Klasse TabMitController stellt die Oberklasse für alle Tabs des Graphentesters - dar.
    -
    UnterTabMitController -
    Die Klasse UnterTabMitController stellt einen Tab inclusive ihres Controllers - zur händischen Erforschung eines Algorithmus.
    -
    -
  • -
-
-
-
- -
- - + + + + + +control (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package control

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    Controller +
    Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar.
    +
    EditTabMitController +
    Die Klasse EditTabMitController stellt einen Tab inclusive ihres Controllers + zur Editierung eines Graphs dar.
    +
    HauptTabMitController +
    Die Klasse HauptTabMitController stellt einen Tab inclusive ihres Controllers + für das Hauptfenster des Graphentesters dar.
    +
    Hilfefenster +
    Die Klasse Hilfefenster stellt ein Hilfefenster für die Simulation eines + Algorithmus bereit.
    +
    SimulationTabMitController +
    Die Klasse SimulationTabMitController stellt einen Tab inclusive ihres Controllers + zur Simulation eines Algorithmus dar.
    +
    TabMitController +
    Die Klasse TabMitController stellt die Oberklasse für alle Tabs des Graphentesters + dar.
    +
    UnterTabMitController +
    Die Klasse UnterTabMitController stellt einen Tab inclusive ihres Controllers + zur händischen Erforschung eines Algorithmus.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/doc/control/package-tree.html b/doc/control/package-tree.html index f68bef1..fd20dbe 100644 --- a/doc/control/package-tree.html +++ b/doc/control/package-tree.html @@ -1,181 +1,181 @@ - - - - - -control Class Hierarchy (1_graphentester) - - - - - - - - - - - - - - - -
- -
-
-
-

Hierarchy For Package control

-Package Hierarchies: - -
-
-
-

Class Hierarchy

- -
-
-
-
- -
- - + + + + + +control Class Hierarchy (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package control

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+
+ +
+ + diff --git a/doc/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.html b/doc/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.html index 161bea9..b6c31cc 100644 --- a/doc/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.html +++ b/doc/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.html @@ -1,403 +1,403 @@ - - - - - -GraphAlgo_Coloring_Schueler (1_graphentester) - - - - - - - - - - - - - - - -
- -
- -
-
- -

Class GraphAlgo_Coloring_Schueler

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    Runnable
    -
    -
    -
    public class GraphAlgo_Coloring_Schueler
    -extends GraphAlgo
    -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden. - Algorithmus: Beispieldatei, in der Schüler den Algorithmus selbst umsetzen können
    -
    -
    Version:
    -
    1.0 from 10.12.2020
    -
    Author:
    -
    Thomas Schaller
    -
    -
  • -
-
-
- -
-
-
    -
  • - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GraphAlgo_Coloring_Schueler

        -
        public GraphAlgo_Coloring_Schueler()
        -
      • -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
- - - - + + + + + +GraphAlgo_Coloring_Schueler (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class GraphAlgo_Coloring_Schueler

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    public class GraphAlgo_Coloring_Schueler
    +extends GraphAlgo
    +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden. + Algorithmus: Beispieldatei, in der Schüler den Algorithmus selbst umsetzen können
    +
    +
    Version:
    +
    1.0 from 10.12.2020
    +
    Author:
    +
    Thomas Schaller
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GraphAlgo_Coloring_Schueler

        +
        public GraphAlgo_Coloring_Schueler()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/doc/eigeneAlgorithmen/package-summary.html b/doc/eigeneAlgorithmen/package-summary.html index 705979b..6c5c475 100644 --- a/doc/eigeneAlgorithmen/package-summary.html +++ b/doc/eigeneAlgorithmen/package-summary.html @@ -1,166 +1,166 @@ - - - - - -eigeneAlgorithmen (1_graphentester) - - - - - - - - - - - - - - - -
- -
-
-
-

Package eigeneAlgorithmen

-
-
-
    -
  • - - - - - - - - - - - - -
    Class Summary 
    ClassDescription
    GraphAlgo_Coloring_Schueler -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    -
  • -
-
-
-
- -
- - + + + + + +eigeneAlgorithmen (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package eigeneAlgorithmen

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    GraphAlgo_Coloring_Schueler +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/doc/eigeneAlgorithmen/package-tree.html b/doc/eigeneAlgorithmen/package-tree.html index 379ec06..fa740d1 100644 --- a/doc/eigeneAlgorithmen/package-tree.html +++ b/doc/eigeneAlgorithmen/package-tree.html @@ -1,168 +1,168 @@ - - - - - -eigeneAlgorithmen Class Hierarchy (1_graphentester) - - - - - - - - - - - - - - - -
- -
-
-
-

Hierarchy For Package eigeneAlgorithmen

-Package Hierarchies: - -
-
-
-

Class Hierarchy

- -
-
-
-
- -
- - + + + + + +eigeneAlgorithmen Class Hierarchy (1_graphentester) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package eigeneAlgorithmen

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+
+ +
+ + diff --git a/doc/element-list b/doc/element-list index 52fdfdd..082d709 100644 --- a/doc/element-list +++ b/doc/element-list @@ -1 +1 @@ -graph +graph diff --git a/doc/graph/Graph.html b/doc/graph/Graph.html index ebe68e4..f813a43 100644 --- a/doc/graph/Graph.html +++ b/doc/graph/Graph.html @@ -1,40 +1,138 @@ + - -Graph - + +Graph (1_graphentester) - - - + + + + + + + + - - + +
+ +
+
-
Package graph
-

Class Graph

+
Package graph
+

Class Graph

-
java.lang.Object -
graph.Graph
-
-
+
+ +
+
    +

  • -
    public class Graph -extends Object
    +
    public class Graph
    +extends Object
    Dies ist das Herz vom "GraphTester" - der Graph selber, gepeichert als Adjazenzliste. Die Klasse erlaubt durch geeignete Methoden: - die Speicherung als Adjazenzmatrix, @@ -42,873 +140,1178 @@ var activeTableTab = "active-table-tab"; - das Markieren von Knoten und Kanten, - eine Aussage darueber, ob Knoten oder Kanten enthalten sind und - eine Ausgabe des Graphen in textueller Form sowie als csv-Datei.
    -
    -
    Version:
    +
    +
    Version:
    31.01.2021 (v6.5)
    -
    Author:
    +
    Author:
    Dirk Zechnall, Thomas Schaller
    -
-
-
    - -
  • -
    -

    Constructor Summary

    -
    Constructors
    -
    -
    Constructor
    -
    Description
    - -
    -
    Der Konstruktor erstellt einen neuen ungerichteten, ungewichteten Graphen (genauer eine neue Adjazenzliste)
    -
    -
    Graph(boolean isGerichtet, - boolean isGewichtet)
    -
    -
    Der Konstruktor erstellt einen neuen Graphen (genauer eine neue Adjazenzliste)
    -
    -
    -
  • - -
  • -
    -

    Method Summary

    -
    -
    -
    -
    -
    Modifier and Type
    -
    Method
    -
    Description
    -
    void
    - -
    -
    Konsolenausgabe der textuellen Repraesentation des Graphen.
    +
-
void
-
entferneKante(int startnr, - int zielnr)
-
-
Entfernt eine Kante aus dem Graphen.
-
-
void
-
entferneKante(graph.Kante e)
-
-
Entfernt eine Kante aus dem Graphen.
-
-
void
-
entferneKante(graph.Knoten start, - graph.Knoten ziel)
-
-
Entfernt eine Kante aus dem Graphen.
-
-
void
-
entferneKnoten(int knotennr)
-
-
Entfernt einen Knoten aus dem Graphen
-
-
boolean
-
entferneKnoten(graph.Knoten k)
-
-
Entfernt einen Knoten aus dem Graphen
-
-
void
- -
-
Entfernt die Markierung bei allen Knoten des Graphen.
-
-
double[][]
- -
-
Die Methode getAdjazenzMatrix() gibt die Adjazenzmatrix zurueck.
-
-
List<graph.Kante>
-
getAlleKanten(Predicate<graph.Kante>... filter)
-
-
Gibt eine Liste aller Kanten des Graphen zurück.
-
-
List<graph.Knoten>
-
getAlleKnoten(Predicate<graph.Knoten>... filter)
-
-
Gibt eine Liste aller Knoten des Graphen zurueck.
-
-
int
- -
-
Gibt die Anzahl der Knoten im Graph zurueck
-
-
List<graph.Kante>
-
getAusgehendeKanten(int knotennr, - Predicate<graph.Kante>... filter)
-
-
Gibt eine Liste der ausgehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
-
-
List<graph.Kante>
-
getAusgehendeKanten(graph.Knoten k, - Predicate<graph.Kante>... filter)
-
-
Gibt eine Liste der ausgehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
-
-
List<graph.Kante>
-
getEingehendeKanten(int knotennr, - Predicate<graph.Kante>... filter)
-
-
Gibt eine Liste der eingehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
-
-
List<graph.Kante>
-
getEingehendeKanten(graph.Knoten k, - Predicate<graph.Kante>... filter)
-
-
Gibt eine Liste der eingehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
-
-
graph.Kante
-
getKante(int startnr, - int zielnr)
-
-
Gibt eine gesuchte Kante aus dem Graphen zurueck.
-
-
graph.Kante
-
getKante(graph.Knoten start, - graph.Knoten ziel)
-
-
Gibt eine gesuchte Kante aus dem Graphen zurueck.
-
-
graph.Knoten
-
getKnoten(int knotennr)
-
-
Liefert einen Knoten des Graphen
-
- -
getKnoteninfo(graph.Knoten k, - boolean zeigeWert)
-
-
Info über einen Knoten zurückgeben
-
-
List<graph.Knoten>
-
getNachbarknoten(graph.Knoten k, - Predicate<graph.Knoten>... filter)
-
-
Gibt die Liste aller Nachbarknoten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
-
-
int
-
getNummer(graph.Kante k)
-
-
Gibt die Nummer einer Kante zurück
-
-
int
-
getNummer(graph.Knoten k)
-
-
Gibt die Nummer eines Knotens im Graphen zurück
-
- - -
-
Speichert den Zustand des Graphen als String-List
-
-
void
- -
-
Initialisiert alle Kanten des Graphen.
-
-
void
- -
-
Initialisiert alle Knoten des Graphen.
-
-
boolean
- -
-
Gibt zurueck, ob der Graph gerichtet oder ungerichtet ist.
-
-
boolean
- -
-
Gibt zurueck, ob der Graph gewichtet oder ungewichtet ist
-
-
boolean
-
isKanteEnthalten(int startNr, - int zielNr)
-
-
Ueberprueft, ob eine Kante im Graphen enthalten ist.
-
-
boolean
-
isKanteEnthalten(graph.Kante e)
-
-
Ueberprueft, ob eine Kante im Graphen enthalten ist.
-
-
boolean
-
isKanteEnthalten(graph.Knoten start, - graph.Knoten ziel)
-
-
Ueberprueft, ob eine Kante im Graphen enthalten ist.
-
-
boolean
-
isKnotenEnthalten(graph.Knoten k)
-
-
Ueberprueft, ob ein Knoten in der Knotenliste enthalten ist.
-
-
boolean
- -
-
Ueberprueft, ob die Adjazenzliste leer ist, d.h. keine Knoten im Graphen enthalten sind.
-
-
boolean
-
ladeGraph(imp.Table csvParser)
-
-
Ein Graph wird aus einer csv-Datei erstellt, die entweder - eine Matrix oder eine Adjazenzliste enthält, die den Graph beschreibt.
-
-
void
- -
-
Loescht den gesamten Graphen
-
-
void
- -
-
Löscht alle Knoten und Kanten eines Graphen und stellt auf ungerichtet und ungewichtet zurück.
-
-
void
-
neueKante(graph.Kante e)
-
-
Fuegt eine Kante dem Graphen hinzu.
-
-
void
-
neueKante(graph.Knoten start, - graph.Knoten ziel, - double gewicht)
-
-
Fuegt eine Kante dem Graphen hinzu.
-
-
void
-
neuerKnoten(graph.Knoten k)
-
-
Fügt einen Knoten dem Graph hinzu.
-
-
void
-
setGerichtet(boolean isGerichtet)
-
-
Legt fest, ob der Graph gerichtet oder ungerichtet ist.
-
-
void
-
setGewichtet(boolean isGewichtet)
-
-
Legt fest, ob der Graph gewichtet oder ungewichtet ist.
-
-
void
- -
-
Stellt den Zustand des Graphen aus String-List wieder her
-
- -
toCSVString(boolean asMatrix)
-
-
Die Methode erstellt eine CSV-Ausgabe des Graphen entweder als Adjazenzliste oder als Adjazenzmatrix.
-
- - -
-
Textuelle Repraesentation des Graphen.
-
- - - -
-

Methods inherited from class java.lang.Object

-clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Graph() +
      Der Konstruktor erstellt einen neuen ungerichteten, ungewichteten Graphen (genauer eine neue Adjazenzliste)
      +
      Graph​(boolean isGerichtet, + boolean isGewichtet) +
      Der Konstruktor erstellt einen neuen Graphen (genauer eine neue Adjazenzliste)
      +
    -
    - +
+
+
    +
  • -
  • -
    -

    Constructor Details

    -
      -
    • -
      -

      Graph

      -
      public Graph(boolean isGerichtet, - boolean isGewichtet)
      +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Graph

          +
          public Graph​(boolean isGerichtet,
          +             boolean isGewichtet)
          Der Konstruktor erstellt einen neuen Graphen (genauer eine neue Adjazenzliste)
          -
          -
          Parameters:
          +
          +
          Parameters:
          isGerichtet - gibt an, ob es sich um einen gerichteten Graphen handelt
          isGewichtet - gibt an, ob die Kanten gewichtet sind.
          -
    • -
    • -
      -

      Graph

      -
      public Graph()
      +
    + + + +
      +
    • +

      Graph

      +
      public Graph()
      Der Konstruktor erstellt einen neuen ungerichteten, ungewichteten Graphen (genauer eine neue Adjazenzliste)
      -
    +
  • +
- -
  • -
    -

    Method Details

    -
      -
    • -
      -

      loescheGraph

      -
      public void loescheGraph()
      +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          loescheGraph

          +
          public void loescheGraph()
          Löscht alle Knoten und Kanten eines Graphen und stellt auf ungerichtet und ungewichtet zurück.
          -
    • -
    • -
      -

      ladeGraph

      -
      public boolean ladeGraph(imp.Table csvParser)
      +
    + + + +
      +
    • +

      ladeGraph

      +
      public boolean ladeGraph​(Table csvParser)
      Ein Graph wird aus einer csv-Datei erstellt, die entweder eine Matrix oder eine Adjazenzliste enthält, die den Graph beschreibt.
      -
      -
      Parameters:
      +
      +
      Parameters:
      csvParser - Eine CSV-Datei als Table-Objekt
      -
      Returns:
      +
      Returns:
      gibt zurück, ob das Laden erfolgreich war
      -
  • -
  • -
    -

    setGewichtet

    -
    public void setGewichtet(boolean isGewichtet)
    + + + + +
      +
    • +

      setGewichtet

      +
      public void setGewichtet​(boolean isGewichtet)
      Legt fest, ob der Graph gewichtet oder ungewichtet ist.
      -
      -
      Parameters:
      +
      +
      Parameters:
      isGewichtet - neuer Wert
      -
  • -
  • -
    -

    isGewichtet

    -
    public boolean isGewichtet()
    + + + + +
      +
    • +

      isGewichtet

      +
      public boolean isGewichtet()
      Gibt zurueck, ob der Graph gewichtet oder ungewichtet ist
      -
      -
      Returns:
      +
      +
      Returns:
      gewichtet? (true/false)
      -
  • -
  • -
    -

    setGerichtet

    -
    public void setGerichtet(boolean isGerichtet)
    + + + + +
      +
    • +

      setGerichtet

      +
      public void setGerichtet​(boolean isGerichtet)
      Legt fest, ob der Graph gerichtet oder ungerichtet ist.
      -
      -
      Parameters:
      +
      +
      Parameters:
      isGerichtet - neuer Wert
      -
  • -
  • -
    -

    isGerichtet

    -
    public boolean isGerichtet()
    + + + + +
      +
    • +

      isGerichtet

      +
      public boolean isGerichtet()
      Gibt zurueck, ob der Graph gerichtet oder ungerichtet ist.
      -
      -
      Returns:
      +
      +
      Returns:
      gerichtet? (true/false)
      -
  • -
  • -
    -

    getNummer

    -
    public int getNummer(graph.Knoten k)
    + + + + +
      +
    • +

      getNummer

      +
      public int getNummer​(Knoten k)
      Gibt die Nummer eines Knotens im Graphen zurück
      -
      -
      Parameters:
      +
      +
      Parameters:
      k - gesuchter Knoten
      -
      Returns:
      +
      Returns:
      Nummer des Knotens (mit 0 beginnend)
      -
  • -
  • -
    -

    getNummer

    -
    public int getNummer(graph.Kante k)
    + + + + +
      +
    • +

      getNummer

      +
      public int getNummer​(Kante k)
      Gibt die Nummer einer Kante zurück
      -
      -
      Parameters:
      +
      +
      Parameters:
      k - gesuchte Kante
      -
      Returns:
      +
      Returns:
      Nummer der Kante (mit 0 beginnend)
      -
  • -
  • -
    -

    getAdjazenzMatrix

    -
    public double[][] getAdjazenzMatrix()
    + + + + +
      +
    • +

      getAdjazenzMatrix

      +
      public double[][] getAdjazenzMatrix()
      Die Methode getAdjazenzMatrix() gibt die Adjazenzmatrix zurueck.
      -
      -
      Returns:
      +
      +
      Returns:
      double[][] Die AdjazenzMatrix als zweidimensionales Array
      -
  • -
  • -
    -

    getAlleKanten

    -
    public List<graph.Kante> getAlleKanten(Predicate<graph.Kante>... filter)
    + + + + +
      +
    • +

      getAlleKanten

      +
      public List<Kante> getAlleKanten​(Predicate<Kante>... filter)
      Gibt eine Liste aller Kanten des Graphen zurück.
      -
      -
      Parameters:
      -
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      -
      Returns:
      +
      +
      Parameters:
      +
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      +
      Returns:
      Liste aller Kanten
      -
  • -
  • -
    -

    entferneMarkierungBeiAllenKnoten

    -
    public void entferneMarkierungBeiAllenKnoten()
    + + + + +
      +
    • +

      entferneMarkierungBeiAllenKnoten

      +
      public void entferneMarkierungBeiAllenKnoten()
      Entfernt die Markierung bei allen Knoten des Graphen.
      -
  • -
  • -
    -

    initialisiereAlleKnoten

    -
    public void initialisiereAlleKnoten()
    + + + + +
      +
    • +

      initialisiereAlleKnoten

      +
      public void initialisiereAlleKnoten()
      Initialisiert alle Knoten des Graphen.
      -
  • -
  • -
    -

    initialisiereAlleKanten

    -
    public void initialisiereAlleKanten()
    + + + + +
      +
    • +

      initialisiereAlleKanten

      +
      public void initialisiereAlleKanten()
      Initialisiert alle Kanten des Graphen.
      -
  • -
  • -
    -

    isKnotenEnthalten

    -
    public boolean isKnotenEnthalten(graph.Knoten k)
    + + + + +
      +
    • +

      isKnotenEnthalten

      +
      public boolean isKnotenEnthalten​(Knoten k)
      Ueberprueft, ob ein Knoten in der Knotenliste enthalten ist. Sobald in der Knotenliste der Knoten k gefunden wird, wird true ausgegeben.
      -
      -
      Parameters:
      +
      +
      Parameters:
      k - Der gesuchte Knoten
      -
      Returns:
      +
      Returns:
      true= ist enthalten, false = ist nicht enthalten
      -
  • -
  • -
    -

    getAnzahlKnoten

    -
    public int getAnzahlKnoten()
    + + + + +
      +
    • +

      getAnzahlKnoten

      +
      public int getAnzahlKnoten()
      Gibt die Anzahl der Knoten im Graph zurueck
      -
      -
      Returns:
      +
      +
      Returns:
      Anzahl der Knoten
      -
  • -
  • -
    -

    getAlleKnoten

    -
    public List<graph.Knoten> getAlleKnoten(Predicate<graph.Knoten>... filter)
    + + + + +
      +
    • +

      getAlleKnoten

      +
      public List<Knoten> getAlleKnoten​(Predicate<Knoten>... filter)
      Gibt eine Liste aller Knoten des Graphen zurueck.
      -
      -
      Parameters:
      -
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      -
      Returns:
      +
      +
      Parameters:
      +
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      +
      Returns:
      Die Knotenliste. Falls leer wird eine leere Liste zurueckgegeben
      -
  • -
  • -
    -

    getNachbarknoten

    -
    public List<graph.Knoten> getNachbarknoten(graph.Knoten k, - Predicate<graph.Knoten>... filter)
    + + + + +
      +
    • +

      getNachbarknoten

      +
      public List<Knoten> getNachbarknoten​(Knoten k,
      +                                     Predicate<Knoten>... filter)
      Gibt die Liste aller Nachbarknoten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
      -
      -
      Parameters:
      +
      +
      Parameters:
      k - Der Knoten, zu dem die Adjazenzliste gesucht wird
      -
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      -
      Returns:
      +
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      +
      Returns:
      Liste der Nachbarknoten
      -
  • -
  • -
    -

    getAusgehendeKanten

    -
    public List<graph.Kante> getAusgehendeKanten(graph.Knoten k, - Predicate<graph.Kante>... filter)
    + + + + +
      +
    • +

      getAusgehendeKanten

      +
      public List<Kante> getAusgehendeKanten​(Knoten k,
      +                                       Predicate<Kante>... filter)
      Gibt eine Liste der ausgehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist. Bei ungerichteten Graphen wird nicht zwischen eingehenden und ausgehenden Kanten unterschieden.
      -
      -
      Parameters:
      +
      +
      Parameters:
      k - Der Knoten, zu dem die Kanten gesucht werden
      -
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      -
      Returns:
      +
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      +
      Returns:
      Liste der ausgehenden Kanten.
      -
  • -
  • -
    -

    getAusgehendeKanten

    -
    public List<graph.Kante> getAusgehendeKanten(int knotennr, - Predicate<graph.Kante>... filter)
    + + + + +
      +
    • +

      getAusgehendeKanten

      +
      public List<Kante> getAusgehendeKanten​(int knotennr,
      +                                       Predicate<Kante>... filter)
      Gibt eine Liste der ausgehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist. Bei ungerichteten Graphen wird nicht zwischen eingehenden und ausgehenden Kanten unterschieden.
      -
      -
      Parameters:
      +
      +
      Parameters:
      knotennr - Nummer des Knoten, zu dem die Kanten gesucht werden
      -
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      -
      Returns:
      +
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      +
      Returns:
      Liste der ausgehenden Kanten.
      -
  • -
  • -
    -

    getEingehendeKanten

    -
    public List<graph.Kante> getEingehendeKanten(int knotennr, - Predicate<graph.Kante>... filter)
    + + + + +
      +
    • +

      getEingehendeKanten

      +
      public List<Kante> getEingehendeKanten​(int knotennr,
      +                                       Predicate<Kante>... filter)
      Gibt eine Liste der eingehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist. Bei ungerichteten Graphen wird nicht zwischen eingehenden und ausgehenden Kanten unterschieden.
      -
      -
      Parameters:
      +
      +
      Parameters:
      knotennr - Die Nummer des Knotens, zu dem die Kanten gesucht werden
      -
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      -
      Returns:
      +
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      +
      Returns:
      Liste der eingehenden Kanten.
      -
  • -
  • -
    -

    getEingehendeKanten

    -
    public List<graph.Kante> getEingehendeKanten(graph.Knoten k, - Predicate<graph.Kante>... filter)
    + + + + +
      +
    • +

      getEingehendeKanten

      +
      public List<Kante> getEingehendeKanten​(Knoten k,
      +                                       Predicate<Kante>... filter)
      Gibt eine Liste der eingehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist. Bei ungerichteten Graphen wird nicht zwischen eingehenden und ausgehenden Kanten unterschieden.
      -
      -
      Parameters:
      +
      +
      Parameters:
      k - Knoten, zu dem die Kanten gesucht werden
      -
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      -
      Returns:
      +
      filter - optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()}
      +
      Returns:
      Liste der eingehenden Kanten.
      -
  • -
  • -
    -

    getKnoten

    -
    public graph.Knoten getKnoten(int knotennr)
    + + + + +
      +
    • +

      getKnoten

      +
      public Knoten getKnoten​(int knotennr)
      Liefert einen Knoten des Graphen
      -
      -
      Parameters:
      +
      +
      Parameters:
      knotennr - Nummer der Knoten (beginnend mit 0)
      -
      Returns:
      +
      Returns:
      liefert den Knoten mit dieser Nummer
      -
  • -
  • -
    -

    neuerKnoten

    -
    public void neuerKnoten(graph.Knoten k)
    + + + + +
      +
    • +

      neuerKnoten

      +
      public void neuerKnoten​(Knoten k)
      Fügt einen Knoten dem Graph hinzu.
      -
      -
      Parameters:
      +
      +
      Parameters:
      k - Der Knoten, der hinzugefuegt werden soll
      -
  • -
  • -
    -

    entferneKnoten

    -
    public void entferneKnoten(int knotennr)
    + + + + +
      +
    • +

      entferneKnoten

      +
      public void entferneKnoten​(int knotennr)
      Entfernt einen Knoten aus dem Graphen
      -
      -
      Parameters:
      +
      +
      Parameters:
      knotennr - Nummer des Knotens, der geloescht werden soll
      -
  • -
  • -
    -

    entferneKnoten

    -
    public boolean entferneKnoten(graph.Knoten k)
    + + + + +
      +
    • +

      entferneKnoten

      +
      public boolean entferneKnoten​(Knoten k)
      Entfernt einen Knoten aus dem Graphen
      -
      -
      Parameters:
      +
      +
      Parameters:
      k - Knoten, der geloescht werden soll
      -
      Returns:
      +
      Returns:
      gibt zurück, ob der Knoten erfolgreich entfernt wurde.
      -
  • -
  • -
    -

    isKanteEnthalten

    -
    public boolean isKanteEnthalten(graph.Kante e)
    + + + + +
      +
    • +

      isKanteEnthalten

      +
      public boolean isKanteEnthalten​(Kante e)
      Ueberprueft, ob eine Kante im Graphen enthalten ist.
      -
      -
      Parameters:
      +
      +
      Parameters:
      e - Die zu suchende Kante
      -
      Returns:
      +
      Returns:
      Kante enthalten (true) oder nicht (false)
      -
  • -
  • -
    -

    isKanteEnthalten

    -
    public boolean isKanteEnthalten(int startNr, - int zielNr)
    + + + + +
      +
    • +

      isKanteEnthalten

      +
      public boolean isKanteEnthalten​(int startNr,
      +                                int zielNr)
      Ueberprueft, ob eine Kante im Graphen enthalten ist. In ungerichteten Graphen wird nicht zwischen Start- und Zielknoten unterschieden
      -
      -
      Parameters:
      +
      +
      Parameters:
      startNr - Nummer des Startknotens
      zielNr - Nummer des Zielknotens
      -
      Returns:
      +
      Returns:
      boolean Kante enthalten (true) oder nicht (false)
      -
  • -
  • -
    -

    isKanteEnthalten

    -
    public boolean isKanteEnthalten(graph.Knoten start, - graph.Knoten ziel)
    + + + + +
      +
    • +

      isKanteEnthalten

      +
      public boolean isKanteEnthalten​(Knoten start,
      +                                Knoten ziel)
      Ueberprueft, ob eine Kante im Graphen enthalten ist. In ungerichteten Graphen wird nicht zwischen Start- und Zielknoten unterschieden
      -
      -
      Parameters:
      +
      +
      Parameters:
      start - Startknoten
      ziel - Zielknoten
      -
      Returns:
      +
      Returns:
      boolean Kante enthalten (true) oder nicht (false)
      -
  • -
  • -
    -

    getKante

    -
    public graph.Kante getKante(graph.Knoten start, - graph.Knoten ziel)
    + + + + +
      +
    • +

      getKante

      +
      public Kante getKante​(Knoten start,
      +                      Knoten ziel)
      Gibt eine gesuchte Kante aus dem Graphen zurueck. In ungerichteten Graphen wird nicht zwischen Start- und Zielknoten unterschieden
      -
      -
      Parameters:
      +
      +
      Parameters:
      start - Der StartKnoten
      ziel - Der StartKnoten
      -
      Returns:
      +
      Returns:
      Die gesuchte Kante
      -
  • -
  • -
    -

    getKante

    -
    public graph.Kante getKante(int startnr, - int zielnr)
    + + + + +
      +
    • +

      getKante

      +
      public Kante getKante​(int startnr,
      +                      int zielnr)
      Gibt eine gesuchte Kante aus dem Graphen zurueck. In ungerichteten Graphen wird nicht zwischen Start- und Zielknoten unterschieden
      -
      -
      Parameters:
      +
      +
      Parameters:
      startnr - Der Nummer des StartKnoten
      zielnr - Die Nummer des Zielknoten
      -
      Returns:
      +
      Returns:
      Die gesuchte Kante
      -
  • -
  • -
    -

    neueKante

    -
    public void neueKante(graph.Kante e)
    + + + + +
      +
    • +

      neueKante

      +
      public void neueKante​(Kante e)
      Fuegt eine Kante dem Graphen hinzu. Dabei wird ueberprueft, ob die Kante schon im Graphen enthalten ist. Ist der Graph ungerichtet, werden sowohl "Hin-" und "RueckKante" erstellt.
      -
      -
      Parameters:
      +
      +
      Parameters:
      e - Die Kante, die hinzugefuegt werden soll
      -
  • -
  • -
    -

    neueKante

    -
    public void neueKante(graph.Knoten start, - graph.Knoten ziel, - double gewicht)
    + + + + +
      +
    • +

      neueKante

      +
      public void neueKante​(Knoten start,
      +                      Knoten ziel,
      +                      double gewicht)
      Fuegt eine Kante dem Graphen hinzu. Dabei wird ueberprueft, ob die Kante schon im Graphen enthalten ist. Ist der Graph ungerichtet, werden sowohl "Hin-" und "RueckKante" erstellt.
      -
      -
      Parameters:
      +
      +
      Parameters:
      start - Der StartKnoten der Kante, die hinzugefuegt werden soll
      ziel - Der ZielKnoten der Kante, die hinzugefuegt werden soll
      gewicht - Das Gewicht der Kante, die hinzugefuegt werden soll
      -
  • -
  • -
    -

    entferneKante

    -
    public void entferneKante(graph.Kante e)
    + + + + +
      +
    • +

      entferneKante

      +
      public void entferneKante​(Kante e)
      Entfernt eine Kante aus dem Graphen. Ist der Graph ungerichtet, werden sowohl "Hin-" und "RueckKante" entfernt.
      -
      -
      Parameters:
      +
      +
      Parameters:
      e - Die zu entfernende Kante
      -
  • -
  • -
    -

    entferneKante

    -
    public void entferneKante(graph.Knoten start, - graph.Knoten ziel)
    + + + + +
      +
    • +

      entferneKante

      +
      public void entferneKante​(Knoten start,
      +                          Knoten ziel)
      Entfernt eine Kante aus dem Graphen. Dabei wird ueberprueft, ob die Kante ueberhaupt im Graphen enthalten ist. Ist der Graph ungerichtet, werden sowohl "Hin-" und "RueckKante" entfernt.
      -
      -
      Parameters:
      +
      +
      Parameters:
      start - StartKnotens
      ziel - ZielKnotens
      -
  • -
  • -
    -

    entferneKante

    -
    public void entferneKante(int startnr, - int zielnr)
    + + + + +
      +
    • +

      entferneKante

      +
      public void entferneKante​(int startnr,
      +                          int zielnr)
      Entfernt eine Kante aus dem Graphen. Ist der Graph ungerichtet, werden sowohl "Hin-" und "RueckKante" entfernt.
      -
      -
      Parameters:
      +
      +
      Parameters:
      startnr - Nummer des StartKnotens
      zielnr - Nummer des ZielKnotens
      -
  • -
  • -
    -

    isLeer

    -
    public boolean isLeer()
    + + + + +
      +
    • +

      isLeer

      +
      public boolean isLeer()
      Ueberprueft, ob die Adjazenzliste leer ist, d.h. keine Knoten im Graphen enthalten sind.
      -
      -
      Returns:
      +
      +
      Returns:
      true, wenn die Liste leer ist, sonst false
      -
  • -
  • -
    -

    loescheAlles

    -
    public void loescheAlles()
    + + + + +
      +
    • +

      loescheAlles

      +
      public void loescheAlles()
      Loescht den gesamten Graphen
      -
  • -
  • -
    -

    toCSVString

    -
    public String toCSVString(boolean asMatrix)
    + + + + +
      +
    • +

      toCSVString

      +
      public String toCSVString​(boolean asMatrix)
      Die Methode erstellt eine CSV-Ausgabe des Graphen entweder als Adjazenzliste oder als Adjazenzmatrix.
      -
      -
      Parameters:
      +
      +
      Parameters:
      asMatrix - true, falls die CSV-Ausgabe eine AdjazenzMatrix sein soll, sonst false
      -
      Returns:
      +
      Returns:
      CSV-Ausgabe
      -
  • -
  • -
    -

    toString

    -
    public String toString()
    + + + + +
      +
    • +

      toString

      +
      public String toString()
      Textuelle Repraesentation des Graphen.
      -
      -
      Overrides:
      -
      toString in class Object
      -
      Returns:
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      Der Graph als Stringrepraesentation
      -
  • -
  • -
    -

    ausgabe

    -
    public void ausgabe()
    + + + + +
      +
    • +

      ausgabe

      +
      public void ausgabe()
      Konsolenausgabe der textuellen Repraesentation des Graphen.
      -
  • -
  • -
    -

    getKnoteninfo

    -
    public String getKnoteninfo(graph.Knoten k, - boolean zeigeWert)
    + + + + +
      +
    • +

      getKnoteninfo

      +
      public String getKnoteninfo​(Knoten k,
      +                            boolean zeigeWert)
      Info über einen Knoten zurückgeben
      -
      -
      Parameters:
      +
      +
      Parameters:
      k - Knoten, des Info ermittelt werden soll
      zeigeWert - Soll der Wert des Knoten in der Info enthalten sein
      -
      Returns:
      +
      Returns:
      Infotext oder Nummer des Knoten und ggf. sein Wert
      -
  • -
  • -
    -

    getStatus

    -
    public List<String> getStatus()
    + + + + +
      +
    • +

      getStatus

      +
      public List<String> getStatus()
      Speichert den Zustand des Graphen als String-List
      -
      -
      Returns:
      +
      +
      Returns:
      List mit Zustand
      -
  • -
  • -
    -

    setStatus

    -
    public void setStatus(List<String> status)
    + + + + +
      +
    • +

      setStatus

      +
      public void setStatus​(List<String> status)
      Stellt den Zustand des Graphen aus String-List wieder her
      -
      -
      Parameters:
      +
      +
      Parameters:
      status - List mit Zustand
      -
    +
  • + - - +
    +
    + +
    + +
    diff --git a/doc/graph/GraphElement.html b/doc/graph/GraphElement.html index c3382a1..fbdbada 100644 --- a/doc/graph/GraphElement.html +++ b/doc/graph/GraphElement.html @@ -2,116 +2,33 @@ - -GraphElement (1_graphentester) + +GraphElement - + - - - - - - - - -
    - -
    @@ -120,7 +37,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
      -
    • java.lang.Object
    • +
    • java.lang.Object
      • graph.GraphElement
      • @@ -132,21 +49,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
      • All Implemented Interfaces:
        -
        Comparable<GraphElement>
        -
        -
        -
        Direct Known Subclasses:
        -
        Kante, Knoten
        +
        java.lang.Comparable<GraphElement>

        public abstract class GraphElement
        -extends Object
        -implements Comparable<GraphElement>
        +extends java.lang.Object +implements java.lang.Comparable<GraphElement>
        Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten. Sie ist nur für die interne Verarbeitung wichtig.
        Version:
        -
        v1.1
        +
        28.02.2023 (v7.0) + v7.0: Die am Element gespeicherten Informationen werden in einer Hashmap gespeichert. Daher können beliebige weitere Informationen abgelegt werden. + Es wird auch gespeichert, als welcher Typ die Information übergeben wurde.
        Author:
        Thomas Schaller
        @@ -156,6 +71,44 @@ implements
        • + +
          +
            +
          • + + +

            Field Summary

            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            Fields 
            Modifier and TypeFieldDescription
            protected java.util.HashMap<java.lang.String,​java.lang.String>daten 
            protected graph.Graphg 
            protected java.lang.StringsortierKriterium 
            protected java.util.HashMap<java.lang.String,​java.lang.String>typen 
            +
          • +
          +
            @@ -185,34 +138,133 @@ implements -All Methods Instance Methods Abstract Methods  +All Methods Instance Methods Abstract Methods Concrete Methods  Modifier and Type Method Description -abstract int +int compareTo​(GraphElement e) -  + +
            Vergleicht den Knoten/Kante mit einem anderen Knoten/Kante bezüglich seines Sortierkriteriums + Das Sortierkriterium ist normalerweise der "Wert", kann aber mit setSortierkriterium gesetzt werden.
            + -abstract String -getStatus() -  +boolean +getBoolean​(java.lang.String name) + +
            Gibt zusätzliche Daten als int zurück
            + -abstract void -setStatus​(String status) -  +double +getDouble​(java.lang.String name) + +
            Gibt zusätzliche Daten als int zurück
            + + + +int +getInt​(java.lang.String name) + +
            Gibt zusätzliche Daten als int zurück
            + + + +abstract java.util.List<java.lang.String> +getKurztext​(java.lang.String[] namen) + +
            Gibt die Beschreibung des Knoten / der Kante als Kurztext für die Anzeige im + Kreis bzw.
            + + + +abstract java.util.List<java.lang.String> +getLangtext​(java.lang.String[] namen) + +
            Gibt die Beschreibung des Knoten / der Kante als Langtext für die Anzeige im + Tooltip-Fenster zurück.
            + + + +java.lang.String +getStatus() + +
            Liefert den Status einer Kante als String.
            + + + +java.lang.String +getString​(java.lang.String name) + +
            Gibt zusätzliche Daten als String zurück
            + + + +void +set​(java.lang.String name, + boolean wert) + +
            Speichert zusätzliche Daten am Knoten oder der Kante
            + + + +void +set​(java.lang.String name, + double wert) + +
            Speichert zusätzliche Daten am Knoten oder der Kante + Double.POSITIVE_INFINITY bzw.
            + + + +void +set​(java.lang.String name, + int wert) + +
            Speichert zusätzliche Daten am Knoten oder der Kante + Integer.MAX_VALUE bzw.
            + + + +void +set​(java.lang.String name, + java.lang.String wert) + +
            Speichert zusätzliche Daten am Knoten oder der Kante
            + + + +void +setGraph​(graph.Graph g) + +
            Speichert den Graphen, in den Knoten/Kante eingefügt wurde.
            + + + +void +setSortierkriterium​(java.lang.String name) + +
            Setzt das Sortierkriterium des Knoten/der Kante.
            + + + +void +setStatus​(java.lang.String status) + +
            Setzt den Status einer Kante, der in einem String gespeichert ist.
            +
          @@ -223,6 +275,52 @@ implements
          • + +
            +
              +
            • + + +

              Field Detail

              + + + +
                +
              • +

                daten

                +
                protected java.util.HashMap<java.lang.String,​java.lang.String> daten
                +
              • +
              + + + +
                +
              • +

                typen

                +
                protected java.util.HashMap<java.lang.String,​java.lang.String> typen
                +
              • +
              + + + +
                +
              • +

                g

                +
                protected graph.Graph g
                +
              • +
              + + + +
                +
              • +

                sortierKriterium

                +
                protected java.lang.String sortierKriterium
                +
              • +
              +
            • +
            +
              @@ -249,16 +347,20 @@ implements +
              • -

                compareTo

                -
                public abstract int compareTo​(GraphElement e)
                +

                setStatus

                +
                public void setStatus​(java.lang.String status)
                +
                Setzt den Status einer Kante, der in einem String gespeichert ist. + Form: markiert,geloescht,farbe + Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und + die farbe eine Zahl
                -
                Specified by:
                -
                compareTo in interface Comparable<GraphElement>
                +
                Parameters:
                +
                status - Statusstring
              @@ -268,16 +370,225 @@ implements
            • getStatus

              -
              public abstract String getStatus()
              +
              public java.lang.String getStatus()
              +
              Liefert den Status einer Kante als String. + Form: markiert,geloescht,farbe + Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und + die farbe eine Zahl
              +
              +
              Returns:
              +
              Statusstring
              +
            - + + + +
              +
            • +

              setSortierkriterium

              +
              public void setSortierkriterium​(java.lang.String name)
              +
              Setzt das Sortierkriterium des Knoten/der Kante.
              +
              +
              Parameters:
              +
              name - Bezeichnung des Wertes nach dem sortiert werden soll
              +
              +
            • +
            + + + +
              +
            • +

              getKurztext

              +
              public abstract java.util.List<java.lang.String> getKurztext​(java.lang.String[] namen)
              +
              Gibt die Beschreibung des Knoten / der Kante als Kurztext für die Anzeige im + Kreis bzw. Kasten zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile + dargestellt. Es werden nur die Werte angezeigt. Es sind max. 2 Zeilen zulässig.
              +
              +
              Parameters:
              +
              namen - Namen der Werte, die im Kurztext angezeigt werden sollen.
              +
              +
            • +
            + + + +
              +
            • +

              getLangtext

              +
              public abstract java.util.List<java.lang.String> getLangtext​(java.lang.String[] namen)
              +
              Gibt die Beschreibung des Knoten / der Kante als Langtext für die Anzeige im + Tooltip-Fenster zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile + dargestellt. Es wird jeweils die Bezeichnung und der Wert ausgegeben.
              +
              +
              Parameters:
              +
              namen - Namen der Werte, die im Tooltip angezeigt werden sollen.
              +
              +
            • +
            + + + +
              +
            • +

              setGraph

              +
              public void setGraph​(graph.Graph g)
              +
              Speichert den Graphen, in den Knoten/Kante eingefügt wurde. Damit kann er selbst seine Nummer + ermitteln.
              +
              +
              Parameters:
              +
              g - Graph
              +
              +
            • +
            + + + +
              +
            • +

              set

              +
              public void set​(java.lang.String name,
              +                java.lang.String wert)
              +
              Speichert zusätzliche Daten am Knoten oder der Kante
              +
              +
              Parameters:
              +
              name - Bezeichnung der Art der Daten
              +
              wert - Wert der zu speichernden Daten
              +
              +
            • +
            + + + +
              +
            • +

              set

              +
              public void set​(java.lang.String name,
              +                double wert)
              +
              Speichert zusätzliche Daten am Knoten oder der Kante + Double.POSITIVE_INFINITY bzw. NEGATIVE_INFINITY wird als +/- unendlich dargestellt
              +
              +
              Parameters:
              +
              name - Bezeichnung der Art der Daten
              +
              wert - Wert der zu speichernden Daten
              +
              +
            • +
            + + + +
              +
            • +

              set

              +
              public void set​(java.lang.String name,
              +                int wert)
              +
              Speichert zusätzliche Daten am Knoten oder der Kante + Integer.MAX_VALUE bzw. MIN_VALUE werden als +/- unendlich dargestellt.
              +
              +
              Parameters:
              +
              name - Bezeichnung der Art der Daten
              +
              wert - Wert der zu speichernden Daten
              +
              +
            • +
            + + + +
              +
            • +

              set

              +
              public void set​(java.lang.String name,
              +                boolean wert)
              +
              Speichert zusätzliche Daten am Knoten oder der Kante
              +
              +
              Parameters:
              +
              name - Bezeichnung der Art der Daten
              +
              wert - Wert der zu speichernden Daten
              +
              +
            • +
            + + + +
              +
            • +

              getString

              +
              public java.lang.String getString​(java.lang.String name)
              +
              Gibt zusätzliche Daten als String zurück
              +
              +
              Parameters:
              +
              name - Bezeichnung der zusätzlichen Daten
              +
              Returns:
              +
              Wert von "name" oder "", wenn name nicht gespeichert ist
              +
              +
            • +
            + + + +
              +
            • +

              getInt

              +
              public int getInt​(java.lang.String name)
              +
              Gibt zusätzliche Daten als int zurück
              +
              +
              Parameters:
              +
              name - Bezeichnung der zusätzlichen Daten
              +
              Returns:
              +
              Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist
              +
              +
            • +
            + + + +
              +
            • +

              getDouble

              +
              public double getDouble​(java.lang.String name)
              +
              Gibt zusätzliche Daten als int zurück
              +
              +
              Parameters:
              +
              name - Bezeichnung der zusätzlichen Daten
              +
              Returns:
              +
              Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist
              +
              +
            • +
            + + + +
              +
            • +

              getBoolean

              +
              public boolean getBoolean​(java.lang.String name)
              +
              Gibt zusätzliche Daten als int zurück
              +
              +
              Parameters:
              +
              name - Bezeichnung der zusätzlichen Daten
              +
              Returns:
              +
              Wert von "name" oder false, wenn name nicht gespeichert ist oder kein Boolean ist
              +
              +
            • +
            +
            • -

              setStatus

              -
              public abstract void setStatus​(String status)
              +

              compareTo

              +
              public int compareTo​(GraphElement e)
              +
              Vergleicht den Knoten/Kante mit einem anderen Knoten/Kante bezüglich seines Sortierkriteriums + Das Sortierkriterium ist normalerweise der "Wert", kann aber mit setSortierkriterium gesetzt werden.
              +
              +
              Specified by:
              +
              compareTo in interface java.lang.Comparable<GraphElement>
              +
              Parameters:
              +
              e - anderer Knoten
              +
              Returns:
              +
              kleiner 0 der andere Knoten hat einen größeren Wert, größer 0 der andere Knoten hat einen kleineren Wert, gleich 0 beide sind gleich
              +
          • @@ -289,64 +600,5 @@ implements - - diff --git a/doc/graph/GraphOptions.html b/doc/graph/GraphOptions.html index d5fa8f0..d725772 100644 --- a/doc/graph/GraphOptions.html +++ b/doc/graph/GraphOptions.html @@ -1,577 +1,577 @@ - - - - - -GraphOptions (1_graphentester) - - - - - - - - - - - - - - - -
            - -
            - -
            -
            -
            Package graph
            -

            Class GraphOptions

            -
            -
            - -
            -
              -
            • -
              -
              public class GraphOptions
              -extends Object
              -
              Die Klasse GraphOptions speichert, wie ein Graph in einem Fenster vom - GraphPlotter angezeigt wird.
              -
              -
              Version:
              -
              v6.7 (9.12.2020)
              -
              Author:
              -
              Thomas Schaller
              -
              -
            • -
            -
            -
            - -
            -
            -
              -
            • - -
              -
                -
              • - - -

                Field Detail

                - - - -
                  -
                • -

                  bildDatei

                  -
                  public String bildDatei
                  -
                • -
                - - - -
                  -
                • -

                  bildAnzeigen

                  -
                  public boolean bildAnzeigen
                  -
                • -
                - - - -
                  -
                • -

                  vertexSize

                  -
                  public int vertexSize
                  -
                • -
                - - - -
                  -
                • -

                  showEdgeWeights

                  -
                  public boolean showEdgeWeights
                  -
                • -
                - - - -
                  -
                • -

                  showVertexValue

                  -
                  public boolean showVertexValue
                  -
                • -
                - - - -
                  -
                • -

                  showVertexText

                  -
                  public boolean showVertexText
                  -
                • -
                - - - -
                  -
                • -

                  showVertexInfo

                  -
                  public boolean showVertexInfo
                  -
                • -
                - - - -
                  -
                • -

                  saveAsMatrix

                  -
                  public boolean saveAsMatrix
                  -
                • -
                - - - -
                  -
                • -

                  stdFarbenKnoten

                  -
                  public String[] stdFarbenKnoten
                  -
                • -
                - - - -
                  -
                • -

                  stdFarbenKanten

                  -
                  public String[] stdFarbenKanten
                  -
                • -
                - - - -
                  -
                • -

                  farbenKnoten

                  -
                  public String[] farbenKnoten
                  -
                • -
                - - - -
                  -
                • -

                  farbenKanten

                  -
                  public String[] farbenKanten
                  -
                • -
                - - - -
                  -
                • -

                  fokusArt

                  -
                  public int fokusArt
                  -
                • -
                - - - - - - - -
                  -
                • -

                  auswahl

                  -
                  public int auswahl
                  -
                • -
                -
              • -
              -
              - -
              -
                -
              • - - -

                Constructor Detail

                - - - -
                  -
                • -

                  GraphOptions

                  -
                  public GraphOptions()
                  -
                • -
                -
              • -
              -
              - -
              -
                -
              • - - -

                Method Detail

                - - - -
                  -
                • -

                  ladeGraph

                  -
                  public void ladeGraph​(Table csvParser)
                  -
                • -
                - - - -
                  -
                • -

                  getText

                  -
                  public String getText()
                  -
                • -
                - - - - -
              • -
              -
              -
            • -
            -
            -
            -
            - - - - + + + + + +GraphOptions (1_graphentester) + + + + + + + + + + + + + + + +
            + +
            + +
            +
            +
            Package graph
            +

            Class GraphOptions

            +
            +
            + +
            +
              +
            • +
              +
              public class GraphOptions
              +extends Object
              +
              Die Klasse GraphOptions speichert, wie ein Graph in einem Fenster vom + GraphPlotter angezeigt wird.
              +
              +
              Version:
              +
              v6.7 (9.12.2020)
              +
              Author:
              +
              Thomas Schaller
              +
              +
            • +
            +
            +
            + +
            +
            +
              +
            • + +
              +
                +
              • + + +

                Field Detail

                + + + +
                  +
                • +

                  bildDatei

                  +
                  public String bildDatei
                  +
                • +
                + + + +
                  +
                • +

                  bildAnzeigen

                  +
                  public boolean bildAnzeigen
                  +
                • +
                + + + +
                  +
                • +

                  vertexSize

                  +
                  public int vertexSize
                  +
                • +
                + + + +
                  +
                • +

                  showEdgeWeights

                  +
                  public boolean showEdgeWeights
                  +
                • +
                + + + +
                  +
                • +

                  showVertexValue

                  +
                  public boolean showVertexValue
                  +
                • +
                + + + +
                  +
                • +

                  showVertexText

                  +
                  public boolean showVertexText
                  +
                • +
                + + + +
                  +
                • +

                  showVertexInfo

                  +
                  public boolean showVertexInfo
                  +
                • +
                + + + +
                  +
                • +

                  saveAsMatrix

                  +
                  public boolean saveAsMatrix
                  +
                • +
                + + + +
                  +
                • +

                  stdFarbenKnoten

                  +
                  public String[] stdFarbenKnoten
                  +
                • +
                + + + +
                  +
                • +

                  stdFarbenKanten

                  +
                  public String[] stdFarbenKanten
                  +
                • +
                + + + +
                  +
                • +

                  farbenKnoten

                  +
                  public String[] farbenKnoten
                  +
                • +
                + + + +
                  +
                • +

                  farbenKanten

                  +
                  public String[] farbenKanten
                  +
                • +
                + + + +
                  +
                • +

                  fokusArt

                  +
                  public int fokusArt
                  +
                • +
                + + + + + + + +
                  +
                • +

                  auswahl

                  +
                  public int auswahl
                  +
                • +
                +
              • +
              +
              + +
              +
                +
              • + + +

                Constructor Detail

                + + + +
                  +
                • +

                  GraphOptions

                  +
                  public GraphOptions()
                  +
                • +
                +
              • +
              +
              + +
              +
                +
              • + + +

                Method Detail

                + + + +
                  +
                • +

                  ladeGraph

                  +
                  public void ladeGraph​(Table csvParser)
                  +
                • +
                + + + +
                  +
                • +

                  getText

                  +
                  public String getText()
                  +
                • +
                + + + + +
              • +
              +
              +
            • +
            +
            +
            +
            + + + + diff --git a/doc/graph/GraphPlotter.html b/doc/graph/GraphPlotter.html index f513e78..b26e18e 100644 --- a/doc/graph/GraphPlotter.html +++ b/doc/graph/GraphPlotter.html @@ -1,560 +1,560 @@ - - - - - -GraphPlotter - - - - - - - - - -
            -
            -
            Package graph
            -

            Class GraphPlotter

            -
            -
            -
              -
            • java.lang.Object
            • -
            • -
                -
              • javafx.scene.Node
              • -
              • -
                  -
                • javafx.scene.Parent
                • -
                • -
                    -
                  • javafx.scene.layout.Region
                  • -
                  • -
                      -
                    • javafx.scene.control.Control
                    • -
                    • -
                        -
                      • javafx.scene.control.ScrollPane
                      • -
                      • -
                          -
                        • imp.PictureViewer
                        • -
                        • -
                            -
                          • graph.GraphPlotter
                          • -
                          -
                        • -
                        -
                      • -
                      -
                    • -
                    -
                  • -
                  -
                • -
                -
              • -
              -
            • -
            -
            -
              -
            • -
              -
              All Implemented Interfaces:
              -
              javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
              -
              -
              -
              public class GraphPlotter
              -extends imp.PictureViewer
              -
              Der GraphPlotter ist das Herzstueck der Visualisierung und dient als Schnittstelle zur GUI.
              -
              -
              Version:
              -
              09.12.2020 (v6.7)
              -
              Author:
              -
              Thomas Schaller
              -
              -
            • -
            -
            -
            -
              -
            • - -
              -
                -
              • - - -

                Nested Class Summary

                -
                  -
                • - - -

                  Nested classes/interfaces inherited from class javafx.scene.control.ScrollPane

                  -javafx.scene.control.ScrollPane.ScrollBarPolicy
                • -
                -
              • -
              -
              - -
              -
                -
              • - - -

                Field Summary

                -
                  -
                • - - -

                  Fields inherited from class imp.PictureViewer

                  -FIT, NORMAL
                • -
                -
                  -
                • - - -

                  Fields inherited from class javafx.scene.layout.Region

                  -USE_COMPUTED_SIZE, USE_PREF_SIZE
                • -
                -
                  -
                • - - -

                  Fields inherited from class javafx.scene.Node

                  -BASELINE_OFFSET_SAME_AS_HEIGHT
                • -
                -
              • -
              -
              - -
              -
                -
              • - - -

                Constructor Summary

                - - - - - - - - - - -
                Constructors 
                ConstructorDescription
                GraphPlotter() -
                Der Konstruktor legt sowohl Einstellungen des mxGraphen (Drag&Drop, Editable, ...) als auch des Graphen (gewichtet, gerichtet, ...) fest.
                -
                -
              • -
              -
              - -
              -
                -
              • - - -

                Method Summary

                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                All Methods Instance Methods Concrete Methods 
                Modifier and TypeMethodDescription
                voidausgabe() -
                Gibt die String-Repraesentation des GraphPlotters auf der Konsole aus.
                -
                graph.GraphgetGraph() -
                Gibt den Graphen zurueck.
                -
                graph.GraphOptionsgetGraphOptions() 
                graph.GraphElementgetRestrictTo() 
                graph.KantegetSelectedKante() -
                Gibt das selektierte Kantenobjekt zurueck.
                -
                graph.KnotengetSelectedKnoten() -
                Gibt das selektierte Knotenobjekt zurueck.
                -
                java.util.List<graph.Knoten>getSelectedKnotenListe() -
                Gibt die selektierte KnotenobjektListe (als Array) zurueck.
                -
                voidmouseClicked​(javafx.scene.input.MouseEvent mouseEvent) 
                voidmouseDown​(javafx.scene.input.MouseEvent mouseEvent) 
                voidmouseDragged​(javafx.scene.input.MouseEvent mouseEvent) 
                voidmouseUp​(javafx.scene.input.MouseEvent mouseEvent) 
                voidsetEditable() 
                voidsetGraph​(graph.Graph graph, - graph.GraphOptions options) 
                voidsetRestrictTo​(graph.GraphElement k) 
                java.lang.StringtoString() -
                Ueberschreibt die Methode toString.
                -
                voidupdateImage() 
                -
                  -
                • - - -

                  Methods inherited from class imp.PictureViewer

                  -back, getImage, pushImage, repaint, setImage, setZoom
                • -
                -
                  -
                • - - -

                  Methods inherited from class javafx.scene.control.ScrollPane

                  -contentProperty, createDefaultSkin, fitToHeightProperty, fitToWidthProperty, getClassCssMetaData, getContent, getControlCssMetaData, getHbarPolicy, getHmax, getHmin, getHvalue, getInitialFocusTraversable, getMinViewportHeight, getMinViewportWidth, getPrefViewportHeight, getPrefViewportWidth, getVbarPolicy, getViewportBounds, getVmax, getVmin, getVvalue, hbarPolicyProperty, hmaxProperty, hminProperty, hvalueProperty, isFitToHeight, isFitToWidth, isPannable, minViewportHeightProperty, minViewportWidthProperty, pannableProperty, prefViewportHeightProperty, prefViewportWidthProperty, queryAccessibleAttribute, setContent, setFitToHeight, setFitToWidth, setHbarPolicy, setHmax, setHmin, setHvalue, setMinViewportHeight, setMinViewportWidth, setPannable, setPrefViewportHeight, setPrefViewportWidth, setVbarPolicy, setViewportBounds, setVmax, setVmin, setVvalue, vbarPolicyProperty, viewportBoundsProperty, vmaxProperty, vminProperty, vvalueProperty
                • -
                -
                  -
                • - - -

                  Methods inherited from class javafx.scene.control.Control

                  -computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
                • -
                -
                  -
                • - - -

                  Methods inherited from class javafx.scene.layout.Region

                  -backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPositionX, snapPositionY, snapSizeX, snapSizeY, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
                • -
                -
                  -
                • - - -

                  Methods inherited from class javafx.scene.Parent

                  -getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
                • -
                -
                  -
                • - - -

                  Methods inherited from class javafx.scene.Node

                  -accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
                • -
                -
                  -
                • - - -

                  Methods inherited from class java.lang.Object

                  -clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
                • -
                -
                  -
                • - - -

                  Methods inherited from interface javafx.css.Styleable

                  -getStyleableNode
                • -
                -
              • -
              -
              -
            • -
            -
            -
            -
              -
            • - -
              -
                -
              • - - -

                Constructor Detail

                - - - -
                  -
                • -

                  GraphPlotter

                  -
                  public GraphPlotter()
                  -
                  Der Konstruktor legt sowohl Einstellungen des mxGraphen (Drag&Drop, Editable, ...) als auch des Graphen (gewichtet, gerichtet, ...) fest.
                  -
                  -
                  Parameters:
                  -
                  boolean - isDirected Gibt an, ob der Graph gerichtet oder ungerichtet ist
                  -
                  boolean - isWeighted Gibt an, ob der Graph gewichtet oder ungewichtet ist
                  -
                  String - hintergrundBild Gibt den Namen eines Hintergrundbildes an
                  -
                  -
                • -
                -
              • -
              -
              - -
              -
                -
              • - - -

                Method Detail

                - - - -
                  -
                • -

                  setEditable

                  -
                  public void setEditable()
                  -
                • -
                - - - -
                  -
                • -

                  setGraph

                  -
                  public void setGraph​(graph.Graph graph,
                  -                     graph.GraphOptions options)
                  -
                • -
                - - - -
                  -
                • -

                  setRestrictTo

                  -
                  public void setRestrictTo​(graph.GraphElement k)
                  -
                • -
                - - - -
                  -
                • -

                  getRestrictTo

                  -
                  public graph.GraphElement getRestrictTo()
                  -
                • -
                - - - -
                  -
                • -

                  mouseClicked

                  -
                  public void mouseClicked​(javafx.scene.input.MouseEvent mouseEvent)
                  -
                • -
                - - - -
                  -
                • -

                  mouseDown

                  -
                  public void mouseDown​(javafx.scene.input.MouseEvent mouseEvent)
                  -
                • -
                - - - -
                  -
                • -

                  mouseDragged

                  -
                  public void mouseDragged​(javafx.scene.input.MouseEvent mouseEvent)
                  -
                • -
                - - - -
                  -
                • -

                  mouseUp

                  -
                  public void mouseUp​(javafx.scene.input.MouseEvent mouseEvent)
                  -
                • -
                - - - -
                  -
                • -

                  updateImage

                  -
                  public void updateImage()
                  -
                • -
                - - - -
                  -
                • -

                  getGraphOptions

                  -
                  public graph.GraphOptions getGraphOptions()
                  -
                • -
                - - - -
                  -
                • -

                  getGraph

                  -
                  public graph.Graph getGraph()
                  -
                  Gibt den Graphen zurueck.
                  -
                  -
                  Returns:
                  -
                  Graph
                  -
                  -
                • -
                - - - -
                  -
                • -

                  getSelectedKnoten

                  -
                  public graph.Knoten getSelectedKnoten()
                  -
                  Gibt das selektierte Knotenobjekt zurueck.
                  -
                  -
                  Returns:
                  -
                  Object
                  -
                  -
                • -
                - - - -
                  -
                • -

                  getSelectedKnotenListe

                  -
                  public java.util.List<graph.Knoten> getSelectedKnotenListe()
                  -
                  Gibt die selektierte KnotenobjektListe (als Array) zurueck.
                  -
                  -
                  Returns:
                  -
                  Object[]
                  -
                  -
                • -
                - - - -
                  -
                • -

                  getSelectedKante

                  -
                  public graph.Kante getSelectedKante()
                  -
                  Gibt das selektierte Kantenobjekt zurueck.
                  -
                  -
                  Returns:
                  -
                  Object
                  -
                  -
                • -
                - - - -
                  -
                • -

                  toString

                  -
                  public java.lang.String toString()
                  -
                  Ueberschreibt die Methode toString. Eine String-Repraesentation des GraphPlotters wird ausgegeben.
                  -
                  -
                  Overrides:
                  -
                  toString in class javafx.scene.Node
                  -
                  Returns:
                  -
                  String Die String-Repraesentation des GraphPlotters
                  -
                  -
                • -
                - - - -
                  -
                • -

                  ausgabe

                  -
                  public void ausgabe()
                  -
                  Gibt die String-Repraesentation des GraphPlotters auf der Konsole aus.
                  -
                • -
                -
              • -
              -
              -
            • -
            -
            -
            -
            - - - + + + + + +GraphPlotter + + + + + + + + + +
            +
            +
            Package graph
            +

            Class GraphPlotter

            +
            +
            +
              +
            • java.lang.Object
            • +
            • +
                +
              • javafx.scene.Node
              • +
              • +
                  +
                • javafx.scene.Parent
                • +
                • +
                    +
                  • javafx.scene.layout.Region
                  • +
                  • +
                      +
                    • javafx.scene.control.Control
                    • +
                    • +
                        +
                      • javafx.scene.control.ScrollPane
                      • +
                      • +
                          +
                        • imp.PictureViewer
                        • +
                        • +
                            +
                          • graph.GraphPlotter
                          • +
                          +
                        • +
                        +
                      • +
                      +
                    • +
                    +
                  • +
                  +
                • +
                +
              • +
              +
            • +
            +
            +
              +
            • +
              +
              All Implemented Interfaces:
              +
              javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
              +
              +
              +
              public class GraphPlotter
              +extends imp.PictureViewer
              +
              Der GraphPlotter ist das Herzstueck der Visualisierung und dient als Schnittstelle zur GUI.
              +
              +
              Version:
              +
              09.12.2020 (v6.7)
              +
              Author:
              +
              Thomas Schaller
              +
              +
            • +
            +
            +
            +
              +
            • + +
              +
                +
              • + + +

                Nested Class Summary

                +
                  +
                • + + +

                  Nested classes/interfaces inherited from class javafx.scene.control.ScrollPane

                  +javafx.scene.control.ScrollPane.ScrollBarPolicy
                • +
                +
              • +
              +
              + +
              +
                +
              • + + +

                Field Summary

                +
                  +
                • + + +

                  Fields inherited from class imp.PictureViewer

                  +FIT, NORMAL
                • +
                +
                  +
                • + + +

                  Fields inherited from class javafx.scene.layout.Region

                  +USE_COMPUTED_SIZE, USE_PREF_SIZE
                • +
                +
                  +
                • + + +

                  Fields inherited from class javafx.scene.Node

                  +BASELINE_OFFSET_SAME_AS_HEIGHT
                • +
                +
              • +
              +
              + +
              +
                +
              • + + +

                Constructor Summary

                + + + + + + + + + + +
                Constructors 
                ConstructorDescription
                GraphPlotter() +
                Der Konstruktor legt sowohl Einstellungen des mxGraphen (Drag&Drop, Editable, ...) als auch des Graphen (gewichtet, gerichtet, ...) fest.
                +
                +
              • +
              +
              + +
              +
                +
              • + + +

                Method Summary

                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                All Methods Instance Methods Concrete Methods 
                Modifier and TypeMethodDescription
                voidausgabe() +
                Gibt die String-Repraesentation des GraphPlotters auf der Konsole aus.
                +
                graph.GraphgetGraph() +
                Gibt den Graphen zurueck.
                +
                graph.GraphOptionsgetGraphOptions() 
                graph.GraphElementgetRestrictTo() 
                graph.KantegetSelectedKante() +
                Gibt das selektierte Kantenobjekt zurueck.
                +
                graph.KnotengetSelectedKnoten() +
                Gibt das selektierte Knotenobjekt zurueck.
                +
                java.util.List<graph.Knoten>getSelectedKnotenListe() +
                Gibt die selektierte KnotenobjektListe (als Array) zurueck.
                +
                voidmouseClicked​(javafx.scene.input.MouseEvent mouseEvent) 
                voidmouseDown​(javafx.scene.input.MouseEvent mouseEvent) 
                voidmouseDragged​(javafx.scene.input.MouseEvent mouseEvent) 
                voidmouseUp​(javafx.scene.input.MouseEvent mouseEvent) 
                voidsetEditable() 
                voidsetGraph​(graph.Graph graph, + graph.GraphOptions options) 
                voidsetRestrictTo​(graph.GraphElement k) 
                java.lang.StringtoString() +
                Ueberschreibt die Methode toString.
                +
                voidupdateImage() 
                +
                  +
                • + + +

                  Methods inherited from class imp.PictureViewer

                  +back, getImage, pushImage, repaint, setImage, setZoom
                • +
                +
                  +
                • + + +

                  Methods inherited from class javafx.scene.control.ScrollPane

                  +contentProperty, createDefaultSkin, fitToHeightProperty, fitToWidthProperty, getClassCssMetaData, getContent, getControlCssMetaData, getHbarPolicy, getHmax, getHmin, getHvalue, getInitialFocusTraversable, getMinViewportHeight, getMinViewportWidth, getPrefViewportHeight, getPrefViewportWidth, getVbarPolicy, getViewportBounds, getVmax, getVmin, getVvalue, hbarPolicyProperty, hmaxProperty, hminProperty, hvalueProperty, isFitToHeight, isFitToWidth, isPannable, minViewportHeightProperty, minViewportWidthProperty, pannableProperty, prefViewportHeightProperty, prefViewportWidthProperty, queryAccessibleAttribute, setContent, setFitToHeight, setFitToWidth, setHbarPolicy, setHmax, setHmin, setHvalue, setMinViewportHeight, setMinViewportWidth, setPannable, setPrefViewportHeight, setPrefViewportWidth, setVbarPolicy, setViewportBounds, setVmax, setVmin, setVvalue, vbarPolicyProperty, viewportBoundsProperty, vmaxProperty, vminProperty, vvalueProperty
                • +
                +
                  +
                • + + +

                  Methods inherited from class javafx.scene.control.Control

                  +computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
                • +
                +
                  +
                • + + +

                  Methods inherited from class javafx.scene.layout.Region

                  +backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPositionX, snapPositionY, snapSizeX, snapSizeY, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
                • +
                +
                  +
                • + + +

                  Methods inherited from class javafx.scene.Parent

                  +getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
                • +
                +
                  +
                • + + +

                  Methods inherited from class javafx.scene.Node

                  +accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
                • +
                +
                  +
                • + + +

                  Methods inherited from class java.lang.Object

                  +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
                • +
                +
                  +
                • + + +

                  Methods inherited from interface javafx.css.Styleable

                  +getStyleableNode
                • +
                +
              • +
              +
              +
            • +
            +
            +
            +
              +
            • + +
              +
                +
              • + + +

                Constructor Detail

                + + + +
                  +
                • +

                  GraphPlotter

                  +
                  public GraphPlotter()
                  +
                  Der Konstruktor legt sowohl Einstellungen des mxGraphen (Drag&Drop, Editable, ...) als auch des Graphen (gewichtet, gerichtet, ...) fest.
                  +
                  +
                  Parameters:
                  +
                  boolean - isDirected Gibt an, ob der Graph gerichtet oder ungerichtet ist
                  +
                  boolean - isWeighted Gibt an, ob der Graph gewichtet oder ungewichtet ist
                  +
                  String - hintergrundBild Gibt den Namen eines Hintergrundbildes an
                  +
                  +
                • +
                +
              • +
              +
              + +
              +
                +
              • + + +

                Method Detail

                + + + +
                  +
                • +

                  setEditable

                  +
                  public void setEditable()
                  +
                • +
                + + + +
                  +
                • +

                  setGraph

                  +
                  public void setGraph​(graph.Graph graph,
                  +                     graph.GraphOptions options)
                  +
                • +
                + + + +
                  +
                • +

                  setRestrictTo

                  +
                  public void setRestrictTo​(graph.GraphElement k)
                  +
                • +
                + + + +
                  +
                • +

                  getRestrictTo

                  +
                  public graph.GraphElement getRestrictTo()
                  +
                • +
                + + + +
                  +
                • +

                  mouseClicked

                  +
                  public void mouseClicked​(javafx.scene.input.MouseEvent mouseEvent)
                  +
                • +
                + + + +
                  +
                • +

                  mouseDown

                  +
                  public void mouseDown​(javafx.scene.input.MouseEvent mouseEvent)
                  +
                • +
                + + + +
                  +
                • +

                  mouseDragged

                  +
                  public void mouseDragged​(javafx.scene.input.MouseEvent mouseEvent)
                  +
                • +
                + + + +
                  +
                • +

                  mouseUp

                  +
                  public void mouseUp​(javafx.scene.input.MouseEvent mouseEvent)
                  +
                • +
                + + + +
                  +
                • +

                  updateImage

                  +
                  public void updateImage()
                  +
                • +
                + + + +
                  +
                • +

                  getGraphOptions

                  +
                  public graph.GraphOptions getGraphOptions()
                  +
                • +
                + + + +
                  +
                • +

                  getGraph

                  +
                  public graph.Graph getGraph()
                  +
                  Gibt den Graphen zurueck.
                  +
                  +
                  Returns:
                  +
                  Graph
                  +
                  +
                • +
                + + + +
                  +
                • +

                  getSelectedKnoten

                  +
                  public graph.Knoten getSelectedKnoten()
                  +
                  Gibt das selektierte Knotenobjekt zurueck.
                  +
                  +
                  Returns:
                  +
                  Object
                  +
                  +
                • +
                + + + +
                  +
                • +

                  getSelectedKnotenListe

                  +
                  public java.util.List<graph.Knoten> getSelectedKnotenListe()
                  +
                  Gibt die selektierte KnotenobjektListe (als Array) zurueck.
                  +
                  +
                  Returns:
                  +
                  Object[]
                  +
                  +
                • +
                + + + +
                  +
                • +

                  getSelectedKante

                  +
                  public graph.Kante getSelectedKante()
                  +
                  Gibt das selektierte Kantenobjekt zurueck.
                  +
                  +
                  Returns:
                  +
                  Object
                  +
                  +
                • +
                + + + +
                  +
                • +

                  toString

                  +
                  public java.lang.String toString()
                  +
                  Ueberschreibt die Methode toString. Eine String-Repraesentation des GraphPlotters wird ausgegeben.
                  +
                  +
                  Overrides:
                  +
                  toString in class javafx.scene.Node
                  +
                  Returns:
                  +
                  String Die String-Repraesentation des GraphPlotters
                  +
                  +
                • +
                + + + +
                  +
                • +

                  ausgabe

                  +
                  public void ausgabe()
                  +
                  Gibt die String-Repraesentation des GraphPlotters auf der Konsole aus.
                  +
                • +
                +
              • +
              +
              +
            • +
            +
            +
            +
            + + + diff --git a/doc/graph/Hilfe.html b/doc/graph/Hilfe.html index b74fec9..4d9e77b 100644 --- a/doc/graph/Hilfe.html +++ b/doc/graph/Hilfe.html @@ -1,321 +1,321 @@ - - - - - -Hilfe (1_graphentester) - - - - - - - - - - - - - - - -
            - -
            - -
            -
            -
            Package graph
            -

            Interface Hilfe

            -
            -
            -
            -
              -
            • -
              -
              All Known Implementing Classes:
              -
              Hilfefenster
              -
              -
              -
              public interface Hilfe
              -
            • -
            -
            -
            - -
            -
            -
              -
            • - -
              -
                -
              • - - -

                Method Detail

                - - - -
                  -
                • -

                  loescheAlles

                  -
                  void loescheAlles()
                  -
                • -
                - - - -
                  -
                • -

                  append

                  -
                  void append​(String text)
                  -
                • -
                - - - -
                  -
                • -

                  indentMore

                  -
                  void indentMore()
                  -
                • -
                - - - -
                  -
                • -

                  indentLess

                  -
                  void indentLess()
                  -
                • -
                - - - -
                  -
                • -

                  setGraphPlotter

                  -
                  void setGraphPlotter​(GraphPlotter gp)
                  -
                • -
                - - - -
                  -
                • -

                  setReviewAllowed

                  -
                  void setReviewAllowed​(boolean a)
                  -
                • -
                -
              • -
              -
              -
            • -
            -
            -
            -
            - -
            - -
            - - + + + + + +Hilfe (1_graphentester) + + + + + + + + + + + + + + + +
            + +
            + +
            +
            +
            Package graph
            +

            Interface Hilfe

            +
            +
            +
            +
              +
            • +
              +
              All Known Implementing Classes:
              +
              Hilfefenster
              +
              +
              +
              public interface Hilfe
              +
            • +
            +
            +
            + +
            +
            +
              +
            • + +
              +
                +
              • + + +

                Method Detail

                + + + +
                  +
                • +

                  loescheAlles

                  +
                  void loescheAlles()
                  +
                • +
                + + + +
                  +
                • +

                  append

                  +
                  void append​(String text)
                  +
                • +
                + + + +
                  +
                • +

                  indentMore

                  +
                  void indentMore()
                  +
                • +
                + + + +
                  +
                • +

                  indentLess

                  +
                  void indentLess()
                  +
                • +
                + + + +
                  +
                • +

                  setGraphPlotter

                  +
                  void setGraphPlotter​(GraphPlotter gp)
                  +
                • +
                + + + +
                  +
                • +

                  setReviewAllowed

                  +
                  void setReviewAllowed​(boolean a)
                  +
                • +
                +
              • +
              +
              +
            • +
            +
            +
            +
            + +
            + +
            + + diff --git a/doc/graph/Kante.html b/doc/graph/Kante.html index 5d010ea..dcfe254 100644 --- a/doc/graph/Kante.html +++ b/doc/graph/Kante.html @@ -1,735 +1,446 @@ - - -Kante (1_graphentester) + +Kante + - + + + - - - - - - - - - - -
            - -
            - +
            +
            +
            -
            Package graph
            -

            Class Kante

            +
            Package graph
            +

            Class Kante

            -
            - -
            -
              -
            • -
              +
              java.lang.Object +
              graph.GraphElement +
              graph.Kante
              +
              +
              +
              +
              All Implemented Interfaces:
              -
              Comparable<GraphElement>
              +
              Comparable<graph.GraphElement>

              -
              public class Kante
              -extends GraphElement
              +
              public class Kante +extends graph.GraphElement
              Die Klasse Kante beschreibt die Datenstruktur einer Kante, bestehend aus Startknoten, Gewicht und Zielknoten. Da Kanten innerhalb von Adjazenzlisten und -Matrizen repraesentiert werden, ist diese Klasse eigentlich unnoetig! Sie wurde zum Zweck der Vereinfachung - sozusagen als Zwischenspeicher von Kanten - eingefuehrt. Auch soll sie das Kantengewicht verwalten und Aufschluss darueber geben, ob sie gefaerbt/geloescht ist oder nicht.
              -
              -
              Version:
              -
              22.07.2020 (v6.4)
              -
              Author:
              +
              +
              Version:
              +
              28.02.2023 (v7.0) + v7.0: Die Kanteninformationen werden in einer Hashmap gespeichert. Daher können beliebige weitere Informationen abgelegt werden.
              +
              Author:
              Dirk Zechnall, Thomas Schaller
              +
              +
              +
                + +
              • +
                +

                Field Summary

                +
                +

                Fields inherited from class graph.GraphElement

                +daten, g, sortierKriterium, typen
                +
              • -
              -
            -
            -
              -
            • -
              -
                -
              • - - -

                Constructor Summary

                - - - - - - - - - - -
                Constructors 
                ConstructorDescription
                Kante​(Knoten neuerStart, - Knoten neuerZiel, - double neuesGewicht) +
              • +
                +

                Constructor Summary

                +
                Constructors
                +
                +
                Constructor
                +
                Description
                +
                Kante(graph.Knoten neuerStart, + graph.Knoten neuerZiel, + double neuesGewicht)
                +
                Der Konstruktor erstellt eine neue Kante mit Start- und Zielknoten und Kantengewicht.
                -
              • -
              • -
              -
              - -
              -
                -
              • - - -

                Method Summary

                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                All Methods Instance Methods Concrete Methods 
                Modifier and TypeMethodDescription
                intcompareTo​(GraphElement e) -
                Vergleicht die Kante mit einer anderen Kante bezüglich ihres Gewichts
                -
                KnotengetAnderesEnde​(Knoten k) -
                Gibt Knoten am anderen Ende der Kante zurueck
                -
                intgetFarbe() -
                Gibt zurueck, in welcher Farbe die Kante gezeichnet werden soll.
                -
                doublegetGewicht() -
                Gibt das Gewicht der Kante zurueck
                -
                KnotengetStart() -
                Gibt den Startknoten der Kante zurueck
                -
                StringgetStatus() -
                Liefert den Status einer Kante als String.
                -
                KnotengetZiel() -
                Gibt den Zielknoten der Kante zurueck
                -
                protected voidinit() -
                Die Methode init initialisiert die Kantenfaerbung (auf unmarkiert)
                -
                booleanisGeloescht() -
                Gibt den gelöscht-Wert der Kante zurueck
                -
                booleanisMarkiert() -
                Gibt zurück, ob die Kanten markiert ist
                -
                voidsetFarbe​(int farbe) -
                Setzt die Farbe auf einen bestimmten Farbindex
                -
                voidsetGeloescht​(boolean wert) -
                Setzt das gelöscht-Attribut der Kante
                -
                voidsetGewicht​(double neuesGewicht) -
                Setzt das Gewicht der Kante
                -
                voidsetMarkiert​(boolean wert) -
                Setzt das markiert-Attribut der Kante
                -
                voidsetStandardFarbe() -
                Setzt die Farbe auf die Standardfarbgebung zurück
                -
                voidsetStart​(Knoten neuerSatrtKnoten) -
                Setzt den Startknoten der Kante
                -
                voidsetStatus​(String status) -
                Setzt den Status einer Kante, der in einem String gespeichert ist.
                -
                voidsetZiel​(Knoten neuerZielKnoten) -
                Setzt den Zielknoten der Kante
                -
                StringtoString() -
                Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation einer Kante zurueck
                -
                - -
              • -
              -
              -
            • -
            -
            -
              -
            • +
            +
          +
        • + +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          graph.Knoten
          +
          getAnderesEnde(graph.Knoten k)
          +
          +
          Gibt Knoten am anderen Ende der Kante zurueck
          +
          +
          int
          + +
          +
          Gibt zurueck, in welcher Farbe die Kante gezeichnet werden soll.
          +
          +
          double
          + +
          +
          Gibt das Gewicht der Kante zurueck
          +
          + + +
          +
          Liefert einen kurzen Text, der den Wert des Knotens angibt und innerhalb der Kreises + des Knotens angezeigt werden kann.
          +
          + + +
          +
          Liefert eine ausführliche Beschreibung der Werte des Knoten.
          +
          +
          graph.Knoten
          + +
          +
          Gibt den Startknoten der Kante zurueck
          +
          +
          graph.Knoten
          + +
          +
          Gibt den Zielknoten der Kante zurueck
          +
          +
          protected void
          + +
          +
          Die Methode init initialisiert die Kantenfaerbung (auf unmarkiert)
          +
          +
          boolean
          + +
          +
          Gibt den gelöscht-Wert der Kante zurueck
          +
          +
          boolean
          + +
          +
          Gibt zurück, ob die Kanten markiert ist
          +
          +
          void
          +
          setFarbe(int farbe)
          +
          +
          Setzt die Farbe auf einen bestimmten Farbindex
          +
          +
          void
          +
          setGeloescht(boolean wert)
          +
          +
          Setzt das gelöscht-Attribut der Kante
          +
          +
          void
          +
          setGewicht(double neuesGewicht)
          +
          +
          Setzt das Gewicht der Kante
          +
          +
          void
          +
          setMarkiert(boolean wert)
          +
          +
          Setzt das markiert-Attribut der Kante
          +
          +
          void
          + +
          +
          Setzt die Farbe auf die Standardfarbgebung zurück
          +
          +
          void
          +
          setStart(graph.Knoten neuerStartKnoten)
          +
          +
          Setzt den Startknoten der Kante
          +
          +
          void
          +
          setZiel(graph.Knoten neuerZielKnoten)
          +
          +
          Setzt den Zielknoten der Kante
          +
          + + +
          +
          Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation einer Kante zurueck
          +
          +
          +
          +
          +
          +

          Methods inherited from class graph.GraphElement

          +compareTo, getBoolean, getDouble, getInt, getStatus, getString, set, set, set, set, setGraph, setSortierkriterium, setStatus
          +
          +

          Methods inherited from class java.lang.Object

          +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
          +
          +
        • +
        + +
        +
          -
          -
            -
          • - - -

            Constructor Detail

            - - - -
              -
            • -

              Kante

              -
              public Kante​(Knoten neuerStart,
              -             Knoten neuerZiel,
              -             double neuesGewicht)
              +
            • +
              +

              Constructor Details

              +
                +
              • +
                +

                Kante

                +
                public Kante(graph.Knoten neuerStart, + graph.Knoten neuerZiel, + double neuesGewicht)
                Der Konstruktor erstellt eine neue Kante mit Start- und Zielknoten und Kantengewicht. Die Kante ist zu Beginn ungefaerbt.
                -
                -
                Parameters:
                +
                +
                Parameters:
                neuerStart - Der neue Startknoten
                neuerZiel - Der neue Zielknoten
                neuesGewicht - Das neue Kantengewicht
                -
              • -
              +
          + -
          -
            -
          • - - -

            Method Detail

            - - - -
              -
            • -

              init

              -
              protected void init()
              +
            • +
              +

              Method Details

              +
                +
              • +
                +

                init

                +
                protected void init()
                Die Methode init initialisiert die Kantenfaerbung (auf unmarkiert)
                +
              • -
              - - - -
                -
              • -

                setStatus

                -
                public void setStatus​(String status)
                -
                Setzt den Status einer Kante, der in einem String gespeichert ist. - Form: markiert,geloescht,farbe - Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und - die farbe eine Zahl
                -
                -
                Specified by:
                -
                setStatus in class GraphElement
                -
                Parameters:
                -
                status - Statusstring
                +
              • +
                +

                getKurztext

                +
                public List<String> getKurztext(String[] namen)
                +
                Liefert einen kurzen Text, der den Wert des Knotens angibt und innerhalb der Kreises + des Knotens angezeigt werden kann.
                +
                +
                Specified by:
                +
                getKurztext in class graph.GraphElement
                +
                Parameters:
                +
                namen - Namen der Werte, die im Kurztext angezeigt werden sollen.
                +
                Returns:
                +
                Array von Anzeigezeilen (dürfen max. 2 sein)
                +
              • -
              - - - -
                -
              • -

                getStatus

                -
                public String getStatus()
                -
                Liefert den Status einer Kante als String. - Form: markiert,geloescht,farbe - Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und - die farbe eine Zahl
                -
                -
                Specified by:
                -
                getStatus in class GraphElement
                -
                Returns:
                -
                Statusstring
                +
              • +
                +

                getLangtext

                +
                public List<String> getLangtext(String[] namen)
                +
                Liefert eine ausführliche Beschreibung der Werte des Knoten. Wird in dem Tooltext Fenster + angezeigt, wenn man mit der Maus über den Knoten geht.
                +
                +
                Specified by:
                +
                getLangtext in class graph.GraphElement
                +
                Parameters:
                +
                namen - Namen der Werte, die im Tooltip angezeigt werden sollen.
                +
                Returns:
                +
                Array von Anzeigezeilen
                +
              • -
              - - - -
                -
              • -

                setGewicht

                -
                public void setGewicht​(double neuesGewicht)
                +
              • +
                +

                setGewicht

                +
                public void setGewicht(double neuesGewicht)
                Setzt das Gewicht der Kante
                -
                -
                Parameters:
                +
                +
                Parameters:
                neuesGewicht - Das neu zu setzende Gewicht
                +
              • -
              - - - -
                -
              • -

                getGewicht

                -
                public double getGewicht()
                +
              • +
                +

                getGewicht

                +
                public double getGewicht()
                Gibt das Gewicht der Kante zurueck
                -
                -
                Returns:
                +
                +
                Returns:
                Gewicht der Kante
                +
              • -
              - - - -
                -
              • -

                setStart

                -
                public void setStart​(Knoten neuerSatrtKnoten)
                +
              • +
                +

                setStart

                +
                public void setStart(graph.Knoten neuerStartKnoten)
                Setzt den Startknoten der Kante
                -
                -
                Parameters:
                +
                +
                Parameters:
                neuerSatrtKnoten - Der neu zu setzende Startknoten
                +
              • -
              - - - -
                -
              • -

                getStart

                -
                public Knoten getStart()
                +
              • +
                +

                getStart

                +
                public graph.Knoten getStart()
                Gibt den Startknoten der Kante zurueck
                -
                -
                Returns:
                +
                +
                Returns:
                Startknoten
                +
              • -
              - - - -
                -
              • -

                setZiel

                -
                public void setZiel​(Knoten neuerZielKnoten)
                +
              • +
                +

                setZiel

                +
                public void setZiel(graph.Knoten neuerZielKnoten)
                Setzt den Zielknoten der Kante
                -
                -
                Parameters:
                +
                +
                Parameters:
                neuerZielKnoten - Der neu zu setzende Zielknoten
                +
              • -
              - - - -
                -
              • -

                getZiel

                -
                public Knoten getZiel()
                +
              • +
                +

                getZiel

                +
                public graph.Knoten getZiel()
                Gibt den Zielknoten der Kante zurueck
                -
                -
                Returns:
                +
                +
                Returns:
                Zielknoten
                +
              • -
              - - - -
                -
              • -

                getAnderesEnde

                -
                public Knoten getAnderesEnde​(Knoten k)
                +
              • +
                +

                getAnderesEnde

                +
                public graph.Knoten getAnderesEnde(graph.Knoten k)
                Gibt Knoten am anderen Ende der Kante zurueck
                -
                -
                Parameters:
                +
                +
                Parameters:
                k - Knoten am ersten Ende der Kante
                -
                Returns:
                +
                Returns:
                Knoten am anderen Ende
                +
              • -
              - - - -
                -
              • -

                setMarkiert

                -
                public void setMarkiert​(boolean wert)
                +
              • +
                +

                setMarkiert

                +
                public void setMarkiert(boolean wert)
                Setzt das markiert-Attribut der Kante
                -
                -
                Parameters:
                +
                +
                Parameters:
                wert - Der neu zu setzende markiert-Wert
                +
              • -
              - - - -
                -
              • -

                isMarkiert

                -
                public boolean isMarkiert()
                +
              • +
                +

                isMarkiert

                +
                public boolean isMarkiert()
                Gibt zurück, ob die Kanten markiert ist
                -
                -
                Returns:
                +
                +
                Returns:
                markiert?
                +
              • -
              - - - -
                -
              • -

                setGeloescht

                -
                public void setGeloescht​(boolean wert)
                +
              • +
                +

                setGeloescht

                +
                public void setGeloescht(boolean wert)
                Setzt das gelöscht-Attribut der Kante
                -
                -
                Parameters:
                +
                +
                Parameters:
                wert - Der neu zu setzende gelöscht-Wert
                +
              • -
              - - - -
                -
              • -

                isGeloescht

                -
                public boolean isGeloescht()
                +
              • +
                +

                isGeloescht

                +
                public boolean isGeloescht()
                Gibt den gelöscht-Wert der Kante zurueck
                -
                -
                Returns:
                +
                +
                Returns:
                gelöscht?
                +
              • -
              - - - -
                -
              • -

                getFarbe

                -
                public int getFarbe()
                +
              • +
                +

                getFarbe

                +
                public int getFarbe()
                Gibt zurueck, in welcher Farbe die Kante gezeichnet werden soll. Ist die Farbe nicht gesetzt, dann wird eine unmarkierte Kante in Farbe 1 und eine markierte in Farbe 2 gezeichnet.
                -
                -
                Returns:
                +
                +
                Returns:
                Nummer der Farbe
                +
              • -
              - - - -
                -
              • -

                setFarbe

                -
                public void setFarbe​(int farbe)
                +
              • +
                +

                setFarbe

                +
                public void setFarbe(int farbe)
                Setzt die Farbe auf einen bestimmten Farbindex
                -
                -
                Parameters:
                +
                +
                Parameters:
                farbe - Index der Farbe (0-19)
                +
              • -
              - - - -
                -
              • -

                setStandardFarbe

                -
                public void setStandardFarbe()
                +
              • +
                +

                setStandardFarbe

                +
                public void setStandardFarbe()
                Setzt die Farbe auf die Standardfarbgebung zurück
                +
              • -
              - - - -
                -
              • -

                compareTo

                -
                public int compareTo​(GraphElement e)
                -
                Vergleicht die Kante mit einer anderen Kante bezüglich ihres Gewichts
                -
                -
                Specified by:
                -
                compareTo in interface Comparable<GraphElement>
                -
                Specified by:
                -
                compareTo in class GraphElement
                -
                Parameters:
                -
                e - andere Kante
                -
                Returns:
                -
                kleiner 0 die andere Kante hat ein größeres Gewicht, größer 0 die andere Kante hat ein kleineres Gewicht, gleich 0 beides sind gleich
                -
                -
              • -
              - - - -
                -
              • -

                toString

                -
                public String toString()
                +
              • +
                +

                toString

                +
                public String toString()
                Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation einer Kante zurueck
                -
                -
                Overrides:
                -
                toString in class Object
                -
                Returns:
                +
                +
                Overrides:
                +
                toString in class Object
                +
                Returns:
                String-Raepraesentation der Kante
                -
              • -
              +
        -
    - -
    + -
    - -
    diff --git a/doc/graph/Knoten.html b/doc/graph/Knoten.html index 1aba571..23f0850 100644 --- a/doc/graph/Knoten.html +++ b/doc/graph/Knoten.html @@ -1,830 +1,830 @@ - - - - - -Knoten (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    Package graph
    -

    Class Knoten

    -
    -
    - -
    -
      -
    • -
      -
      All Implemented Interfaces:
      -
      Comparable<GraphElement>
      -
      -
      -
      public class Knoten
      -extends GraphElement
      -
      Diese Klasse Knoten definiert einen Knoten. - Knoten haben eine Position, eine Farbe und einen Wert für sonstige Codierungszwecke und sind markiert und/oder besucht. - Im Infotext kann eine zusätzliche Information für die Anzeige gespeichert werden.
      -
      -
      Version:
      -
      22.07.2020 (v6.4)
      -
      Author:
      -
      Dirk Zechnall, Thomas Schaller
      -
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Constructor Summary

        - - - - - - - - - - - - - - -
        Constructors 
        ConstructorDescription
        Knoten​(int x, - int y) -
        Der Konstruktor erstellt einen neuen Knoten mit einem neuen Namen
        -
        Knoten​(int x, - int y, - double neuerWert) -
        Der Konstruktor erstellt einen neuen Knoten mit einem Startwert
        -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Summary

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        intcompareTo​(GraphElement e) -
        Vergleicht den Knoten mit einem anderen Knoten bezüglich seines Werts
        -
        doublegetDoubleWert() -
        Gibt den Wert vom Knoten als Double-Wert zurueck
        -
        intgetFarbe() -
        Gibt den Index der Farbe des Knoten zurück.
        -
        StringgetInfotext() -
        Liefert den Infotext des Knotens
        -
        intgetIntWert() -
        Gibt den Wert vom Knoten als Integer-Wert zurueck
        -
        StringgetStatus() -
        Liefert den Status eines Knotens als Status-String - Format: wert,markiert,besucht,farbe - wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und - farbe eine zahl ist.
        -
        intgetX() -
        Liefert die x-Position des Knotens
        -
        intgetY() -
        Liefert die y-Position des Knotens
        -
        protected voidinit() -
        Die Methode init initialisiert den Zustand eines Knotens
        -
        booleanisBesucht() -
        Gibt den Besuchtwert vom Knoten zurueck
        -
        booleanisFarbeAutomatisch() -
        Gibt zurück, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
        -
        booleanisMarkiert() -
        Gibt den Markiertwert vom Knoten zurueck
        -
        voidsetBesucht​(boolean markiert) -
        Setzt das Besuchtattribut vom Knoten
        -
        voidsetFarbe​(int farbe) -
        Setzt den Index der Farbe des Knoten.
        -
        voidsetFarbeAutomatisch​(boolean auto) -
        Legt fest, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
        -
        voidsetInfotext​(String infotext) -
        Setzt den Infotext für einen Knoten
        -
        voidsetMarkiert​(boolean markiert) -
        Setzt das Markiertattribut vom Knoten
        -
        voidsetStatus​(String status) -
        Setzt den Status eines Knotens aus einem Status-String - Format: wert,markiert,besucht,farbe - wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und - farbe eine zahl ist.
        -
        voidsetWert​(double neuerWert) -
        Setzt den Wert beim Knoten
        -
        voidsetX​(int x) -
        Setzt die x-Position des Knotens
        -
        voidsetY​(int y) -
        Setzt die y-Position des Knotens
        -
        StringtoString() -
        Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation eines Knotens zurueck
        -
        - -
      • -
      -
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          Knoten

          -
          public Knoten​(int x,
          -              int y)
          -
          Der Konstruktor erstellt einen neuen Knoten mit einem neuen Namen
          -
          -
          Parameters:
          -
          x - x-Position des Knotens
          -
          y - y-Position des Knotens
          -
          -
        • -
        - - - -
          -
        • -

          Knoten

          -
          public Knoten​(int x,
          -              int y,
          -              double neuerWert)
          -
          Der Konstruktor erstellt einen neuen Knoten mit einem Startwert
          -
          -
          Parameters:
          -
          x - x-Position des Knotens
          -
          y - y-Position des Knotens
          -
          neuerWert - Der neue Wert des Knotens
          -
          -
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          setStatus

          -
          public void setStatus​(String status)
          -
          Setzt den Status eines Knotens aus einem Status-String - Format: wert,markiert,besucht,farbe - wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und - farbe eine zahl ist.
          -
          -
          Specified by:
          -
          setStatus in class GraphElement
          -
          Parameters:
          -
          status - Der Statusstring
          -
          -
        • -
        - - - -
          -
        • -

          getStatus

          -
          public String getStatus()
          -
          Liefert den Status eines Knotens als Status-String - Format: wert,markiert,besucht,farbe - wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und - farbe eine zahl ist.
          -
          -
          Specified by:
          -
          getStatus in class GraphElement
          -
          Returns:
          -
          Der Statusstring
          -
          -
        • -
        - - - -
          -
        • -

          init

          -
          protected void init()
          -
          Die Methode init initialisiert den Zustand eines Knotens
          -
        • -
        - - - -
          -
        • -

          setInfotext

          -
          public void setInfotext​(String infotext)
          -
          Setzt den Infotext für einen Knoten
          -
          -
          Parameters:
          -
          infotext - Der neue Text
          -
          -
        • -
        - - - -
          -
        • -

          getInfotext

          -
          public String getInfotext()
          -
          Liefert den Infotext des Knotens
          -
          -
          Returns:
          -
          Der Infotext
          -
          -
        • -
        - - - -
          -
        • -

          setWert

          -
          public void setWert​(double neuerWert)
          -
          Setzt den Wert beim Knoten
          -
          -
          Parameters:
          -
          neuerWert - Der neu zu setzende Wert
          -
          -
        • -
        - - - -
          -
        • -

          getIntWert

          -
          public int getIntWert()
          -
          Gibt den Wert vom Knoten als Integer-Wert zurueck
          -
          -
          Returns:
          -
          Wert des Knotens
          -
          -
        • -
        - - - -
          -
        • -

          getDoubleWert

          -
          public double getDoubleWert()
          -
          Gibt den Wert vom Knoten als Double-Wert zurueck
          -
          -
          Returns:
          -
          Wert des Knotens
          -
          -
        • -
        - - - -
          -
        • -

          setMarkiert

          -
          public void setMarkiert​(boolean markiert)
          -
          Setzt das Markiertattribut vom Knoten
          -
          -
          Parameters:
          -
          markiert - Der neu zu setzende Markiertwert
          -
          -
        • -
        - - - -
          -
        • -

          isMarkiert

          -
          public boolean isMarkiert()
          -
          Gibt den Markiertwert vom Knoten zurueck
          -
          -
          Returns:
          -
          markiert?
          -
          -
        • -
        - - - -
          -
        • -

          setBesucht

          -
          public void setBesucht​(boolean markiert)
          -
          Setzt das Besuchtattribut vom Knoten
          -
          -
          Parameters:
          -
          markiert - Der neu zu setzende Besuchtwert
          -
          -
        • -
        - - - -
          -
        • -

          isBesucht

          -
          public boolean isBesucht()
          -
          Gibt den Besuchtwert vom Knoten zurueck
          -
          -
          Returns:
          -
          besucht?
          -
          -
        • -
        - - - -
          -
        • -

          getFarbe

          -
          public int getFarbe()
          -
          Gibt den Index der Farbe des Knoten zurück. - Standardmäßig hängt die Farbe von den Attributen markiert und besucht ab. - Durch Setzen der Farbe kann die Farbe gezielt gesetzt werden.
          -
          -
          Returns:
          -
          Farbe des Knotens
          -
          -
        • -
        - - - -
          -
        • -

          setFarbe

          -
          public void setFarbe​(int farbe)
          -
          Setzt den Index der Farbe des Knoten. - Standardmäßig hängt die Farbe von den Attributen markiert, besucht und beendet ab. - Durch Setzen der Farbe kann die Farbe gezielt gesetzt werden.
          -
          -
          Parameters:
          -
          farbe - Index der Farbe (0-19)
          -
          -
        • -
        - - - -
          -
        • -

          isFarbeAutomatisch

          -
          public boolean isFarbeAutomatisch()
          -
          Gibt zurück, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
          -
          -
          Returns:
          -
          true=Farbe wird automatisch bestimmt, false=Farbe wurde explizit gesetzt.
          -
          -
        • -
        - - - -
          -
        • -

          setFarbeAutomatisch

          -
          public void setFarbeAutomatisch​(boolean auto)
          -
          Legt fest, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
          -
          -
          Parameters:
          -
          auto - true=Farbe wird automatisch bestimmt, - false=Farbe wird explizit gesetzt.
          -
          -
        • -
        - - - -
          -
        • -

          getX

          -
          public int getX()
          -
          Liefert die x-Position des Knotens
          -
          -
          Returns:
          -
          x-Postion
          -
          -
        • -
        - - - -
          -
        • -

          getY

          -
          public int getY()
          -
          Liefert die y-Position des Knotens
          -
          -
          Returns:
          -
          y-Postion
          -
          -
        • -
        - - - -
          -
        • -

          setX

          -
          public void setX​(int x)
          -
          Setzt die x-Position des Knotens
          -
          -
          Parameters:
          -
          x - x-Postion
          -
          -
        • -
        - - - -
          -
        • -

          setY

          -
          public void setY​(int y)
          -
          Setzt die y-Position des Knotens
          -
          -
          Parameters:
          -
          y - y-Postion
          -
          -
        • -
        - - - -
          -
        • -

          compareTo

          -
          public int compareTo​(GraphElement e)
          -
          Vergleicht den Knoten mit einem anderen Knoten bezüglich seines Werts
          -
          -
          Specified by:
          -
          compareTo in interface Comparable<GraphElement>
          -
          Specified by:
          -
          compareTo in class GraphElement
          -
          Parameters:
          -
          e - anderer Knoten
          -
          Returns:
          -
          kleiner 0 der andere Knoten hat einen größeren Wert, größer 0 der andere Knoten hat einen kleineren Wert, gleich 0 beide sind gleich
          -
          -
        • -
        - - - -
          -
        • -

          toString

          -
          public String toString()
          -
          Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation eines Knotens zurueck
          -
          -
          Overrides:
          -
          toString in class Object
          -
          Returns:
          -
          String-Raepraesentation des Knotens
          -
          -
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
    - -
    - -
    - - + + + + + +Knoten (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package graph
    +

    Class Knoten

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Comparable<GraphElement>
      +
      +
      +
      public class Knoten
      +extends GraphElement
      +
      Diese Klasse Knoten definiert einen Knoten. + Knoten haben eine Position, eine Farbe und einen Wert für sonstige Codierungszwecke und sind markiert und/oder besucht. + Im Infotext kann eine zusätzliche Information für die Anzeige gespeichert werden.
      +
      +
      Version:
      +
      22.07.2020 (v6.4)
      +
      Author:
      +
      Dirk Zechnall, Thomas Schaller
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Knoten​(int x, + int y) +
        Der Konstruktor erstellt einen neuen Knoten mit einem neuen Namen
        +
        Knoten​(int x, + int y, + double neuerWert) +
        Der Konstruktor erstellt einen neuen Knoten mit einem Startwert
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        intcompareTo​(GraphElement e) +
        Vergleicht den Knoten mit einem anderen Knoten bezüglich seines Werts
        +
        doublegetDoubleWert() +
        Gibt den Wert vom Knoten als Double-Wert zurueck
        +
        intgetFarbe() +
        Gibt den Index der Farbe des Knoten zurück.
        +
        StringgetInfotext() +
        Liefert den Infotext des Knotens
        +
        intgetIntWert() +
        Gibt den Wert vom Knoten als Integer-Wert zurueck
        +
        StringgetStatus() +
        Liefert den Status eines Knotens als Status-String + Format: wert,markiert,besucht,farbe + wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und + farbe eine zahl ist.
        +
        intgetX() +
        Liefert die x-Position des Knotens
        +
        intgetY() +
        Liefert die y-Position des Knotens
        +
        protected voidinit() +
        Die Methode init initialisiert den Zustand eines Knotens
        +
        booleanisBesucht() +
        Gibt den Besuchtwert vom Knoten zurueck
        +
        booleanisFarbeAutomatisch() +
        Gibt zurück, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
        +
        booleanisMarkiert() +
        Gibt den Markiertwert vom Knoten zurueck
        +
        voidsetBesucht​(boolean markiert) +
        Setzt das Besuchtattribut vom Knoten
        +
        voidsetFarbe​(int farbe) +
        Setzt den Index der Farbe des Knoten.
        +
        voidsetFarbeAutomatisch​(boolean auto) +
        Legt fest, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
        +
        voidsetInfotext​(String infotext) +
        Setzt den Infotext für einen Knoten
        +
        voidsetMarkiert​(boolean markiert) +
        Setzt das Markiertattribut vom Knoten
        +
        voidsetStatus​(String status) +
        Setzt den Status eines Knotens aus einem Status-String + Format: wert,markiert,besucht,farbe + wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und + farbe eine zahl ist.
        +
        voidsetWert​(double neuerWert) +
        Setzt den Wert beim Knoten
        +
        voidsetX​(int x) +
        Setzt die x-Position des Knotens
        +
        voidsetY​(int y) +
        Setzt die y-Position des Knotens
        +
        StringtoString() +
        Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation eines Knotens zurueck
        +
        + +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Knoten

          +
          public Knoten​(int x,
          +              int y)
          +
          Der Konstruktor erstellt einen neuen Knoten mit einem neuen Namen
          +
          +
          Parameters:
          +
          x - x-Position des Knotens
          +
          y - y-Position des Knotens
          +
          +
        • +
        + + + +
          +
        • +

          Knoten

          +
          public Knoten​(int x,
          +              int y,
          +              double neuerWert)
          +
          Der Konstruktor erstellt einen neuen Knoten mit einem Startwert
          +
          +
          Parameters:
          +
          x - x-Position des Knotens
          +
          y - y-Position des Knotens
          +
          neuerWert - Der neue Wert des Knotens
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setStatus

          +
          public void setStatus​(String status)
          +
          Setzt den Status eines Knotens aus einem Status-String + Format: wert,markiert,besucht,farbe + wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und + farbe eine zahl ist.
          +
          +
          Specified by:
          +
          setStatus in class GraphElement
          +
          Parameters:
          +
          status - Der Statusstring
          +
          +
        • +
        + + + +
          +
        • +

          getStatus

          +
          public String getStatus()
          +
          Liefert den Status eines Knotens als Status-String + Format: wert,markiert,besucht,farbe + wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und + farbe eine zahl ist.
          +
          +
          Specified by:
          +
          getStatus in class GraphElement
          +
          Returns:
          +
          Der Statusstring
          +
          +
        • +
        + + + +
          +
        • +

          init

          +
          protected void init()
          +
          Die Methode init initialisiert den Zustand eines Knotens
          +
        • +
        + + + +
          +
        • +

          setInfotext

          +
          public void setInfotext​(String infotext)
          +
          Setzt den Infotext für einen Knoten
          +
          +
          Parameters:
          +
          infotext - Der neue Text
          +
          +
        • +
        + + + +
          +
        • +

          getInfotext

          +
          public String getInfotext()
          +
          Liefert den Infotext des Knotens
          +
          +
          Returns:
          +
          Der Infotext
          +
          +
        • +
        + + + +
          +
        • +

          setWert

          +
          public void setWert​(double neuerWert)
          +
          Setzt den Wert beim Knoten
          +
          +
          Parameters:
          +
          neuerWert - Der neu zu setzende Wert
          +
          +
        • +
        + + + +
          +
        • +

          getIntWert

          +
          public int getIntWert()
          +
          Gibt den Wert vom Knoten als Integer-Wert zurueck
          +
          +
          Returns:
          +
          Wert des Knotens
          +
          +
        • +
        + + + +
          +
        • +

          getDoubleWert

          +
          public double getDoubleWert()
          +
          Gibt den Wert vom Knoten als Double-Wert zurueck
          +
          +
          Returns:
          +
          Wert des Knotens
          +
          +
        • +
        + + + +
          +
        • +

          setMarkiert

          +
          public void setMarkiert​(boolean markiert)
          +
          Setzt das Markiertattribut vom Knoten
          +
          +
          Parameters:
          +
          markiert - Der neu zu setzende Markiertwert
          +
          +
        • +
        + + + +
          +
        • +

          isMarkiert

          +
          public boolean isMarkiert()
          +
          Gibt den Markiertwert vom Knoten zurueck
          +
          +
          Returns:
          +
          markiert?
          +
          +
        • +
        + + + +
          +
        • +

          setBesucht

          +
          public void setBesucht​(boolean markiert)
          +
          Setzt das Besuchtattribut vom Knoten
          +
          +
          Parameters:
          +
          markiert - Der neu zu setzende Besuchtwert
          +
          +
        • +
        + + + +
          +
        • +

          isBesucht

          +
          public boolean isBesucht()
          +
          Gibt den Besuchtwert vom Knoten zurueck
          +
          +
          Returns:
          +
          besucht?
          +
          +
        • +
        + + + +
          +
        • +

          getFarbe

          +
          public int getFarbe()
          +
          Gibt den Index der Farbe des Knoten zurück. + Standardmäßig hängt die Farbe von den Attributen markiert und besucht ab. + Durch Setzen der Farbe kann die Farbe gezielt gesetzt werden.
          +
          +
          Returns:
          +
          Farbe des Knotens
          +
          +
        • +
        + + + +
          +
        • +

          setFarbe

          +
          public void setFarbe​(int farbe)
          +
          Setzt den Index der Farbe des Knoten. + Standardmäßig hängt die Farbe von den Attributen markiert, besucht und beendet ab. + Durch Setzen der Farbe kann die Farbe gezielt gesetzt werden.
          +
          +
          Parameters:
          +
          farbe - Index der Farbe (0-19)
          +
          +
        • +
        + + + +
          +
        • +

          isFarbeAutomatisch

          +
          public boolean isFarbeAutomatisch()
          +
          Gibt zurück, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
          +
          +
          Returns:
          +
          true=Farbe wird automatisch bestimmt, false=Farbe wurde explizit gesetzt.
          +
          +
        • +
        + + + +
          +
        • +

          setFarbeAutomatisch

          +
          public void setFarbeAutomatisch​(boolean auto)
          +
          Legt fest, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
          +
          +
          Parameters:
          +
          auto - true=Farbe wird automatisch bestimmt, + false=Farbe wird explizit gesetzt.
          +
          +
        • +
        + + + +
          +
        • +

          getX

          +
          public int getX()
          +
          Liefert die x-Position des Knotens
          +
          +
          Returns:
          +
          x-Postion
          +
          +
        • +
        + + + +
          +
        • +

          getY

          +
          public int getY()
          +
          Liefert die y-Position des Knotens
          +
          +
          Returns:
          +
          y-Postion
          +
          +
        • +
        + + + +
          +
        • +

          setX

          +
          public void setX​(int x)
          +
          Setzt die x-Position des Knotens
          +
          +
          Parameters:
          +
          x - x-Postion
          +
          +
        • +
        + + + +
          +
        • +

          setY

          +
          public void setY​(int y)
          +
          Setzt die y-Position des Knotens
          +
          +
          Parameters:
          +
          y - y-Postion
          +
          +
        • +
        + + + +
          +
        • +

          compareTo

          +
          public int compareTo​(GraphElement e)
          +
          Vergleicht den Knoten mit einem anderen Knoten bezüglich seines Werts
          +
          +
          Specified by:
          +
          compareTo in interface Comparable<GraphElement>
          +
          Specified by:
          +
          compareTo in class GraphElement
          +
          Parameters:
          +
          e - anderer Knoten
          +
          Returns:
          +
          kleiner 0 der andere Knoten hat einen größeren Wert, größer 0 der andere Knoten hat einen kleineren Wert, gleich 0 beide sind gleich
          +
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public String toString()
          +
          Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation eines Knotens zurueck
          +
          +
          Overrides:
          +
          toString in class Object
          +
          Returns:
          +
          String-Raepraesentation des Knotens
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + +
    + +
    + + diff --git a/doc/graph/package-summary.html b/doc/graph/package-summary.html index 646f996..b990424 100644 --- a/doc/graph/package-summary.html +++ b/doc/graph/package-summary.html @@ -1,48 +1,53 @@ - - - - -graph - - - - - - - - - - - -
    -
    -
    -
    -

    Package graph

    -
    -
    -
    package graph
    -
    -
      -
    • -
      -
      Classes
      -
      -
      Class
      -
      Description
      - -
      -
      Dies ist das Herz vom "GraphTester" - der Graph selber, gepeichert als Adjazenzliste.
      -
      -
      -
      -
    • -
    -
    -
    -
    -
    - - + + + + + +graph + + + + + + + + +
    +
    +

    Package graph

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      GraphElement +
      Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten.
      +
      +
    • +
    +
    +
    + + diff --git a/doc/graph/package-tree.html b/doc/graph/package-tree.html index 7f4e5d1..10a9dae 100644 --- a/doc/graph/package-tree.html +++ b/doc/graph/package-tree.html @@ -1,198 +1,198 @@ - - - - - -graph Class Hierarchy (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    -
    -
    -

    Hierarchy For Package graph

    -Package Hierarchies: - -
    -
    -
    -

    Class Hierarchy

    -
      -
    • java.lang.Object -
        -
      • graph.Graph
      • -
      • graph.GraphElement (implements java.lang.Comparable<T>) - -
      • -
      • graph.GraphOptions
      • -
      • javafx.scene.Node (implements javafx.event.EventTarget, javafx.css.Styleable) -
          -
        • javafx.scene.Parent -
            -
          • javafx.scene.layout.Region -
              -
            • javafx.scene.control.Control (implements javafx.scene.control.Skinnable) - -
            • -
            -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
    -
    -

    Interface Hierarchy

    - -
    -
    -
    -
    - -
    - - + + + + + +graph Class Hierarchy (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package graph

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • graph.Graph
      • +
      • graph.GraphElement (implements java.lang.Comparable<T>) + +
      • +
      • graph.GraphOptions
      • +
      • javafx.scene.Node (implements javafx.event.EventTarget, javafx.css.Styleable) +
          +
        • javafx.scene.Parent +
            +
          • javafx.scene.layout.Region +
              +
            • javafx.scene.control.Control (implements javafx.scene.control.Skinnable) + +
            • +
            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    +

    Interface Hierarchy

    + +
    +
    +
    +
    + +
    + + diff --git a/doc/help-doc.html b/doc/help-doc.html index 58c399c..c4bb86b 100644 --- a/doc/help-doc.html +++ b/doc/help-doc.html @@ -1,265 +1,265 @@ - - - - - -API Help (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    -
    -
    -

    How This API Document Is Organized

    -
    This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
    -
    -
    -
      -
    • -
      -

      Overview

      -

      The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

      -
      -
    • -
    • -
      -

      Package

      -

      Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:

      -
        -
      • Interfaces
      • -
      • Classes
      • -
      • Enums
      • -
      • Exceptions
      • -
      • Errors
      • -
      • Annotation Types
      • -
      -
      -
    • -
    • -
      -

      Class or Interface

      -

      Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      -
        -
      • Class Inheritance Diagram
      • -
      • Direct Subclasses
      • -
      • All Known Subinterfaces
      • -
      • All Known Implementing Classes
      • -
      • Class or Interface Declaration
      • -
      • Class or Interface Description
      • -
      -
      -
        -
      • Nested Class Summary
      • -
      • Field Summary
      • -
      • Property Summary
      • -
      • Constructor Summary
      • -
      • Method Summary
      • -
      -
      -
        -
      • Field Detail
      • -
      • Property Detail
      • -
      • Constructor Detail
      • -
      • Method Detail
      • -
      -

      Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

      -
      -
    • -
    • -
      -

      Annotation Type

      -

      Each annotation type has its own separate page with the following sections:

      -
        -
      • Annotation Type Declaration
      • -
      • Annotation Type Description
      • -
      • Required Element Summary
      • -
      • Optional Element Summary
      • -
      • Element Detail
      • -
      -
      -
    • -
    • -
      -

      Enum

      -

      Each enum has its own separate page with the following sections:

      -
        -
      • Enum Declaration
      • -
      • Enum Description
      • -
      • Enum Constant Summary
      • -
      • Enum Constant Detail
      • -
      -
      -
    • -
    • -
      -

      Tree (Class Hierarchy)

      -

      There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

      -
        -
      • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
      • -
      • When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.
      • -
      -
      -
    • -
    • -
      -

      Index

      -

      The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.

      -
      -
    • -
    • -
      -

      All Classes

      -

      The All Classes link shows all classes and interfaces except non-static nested types.

      -
      -
    • -
    • -
      -

      Serialized Form

      -

      Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

      -
      -
    • -
    • -
      -

      Constant Field Values

      -

      The Constant Field Values page lists the static final fields and their values.

      -
      -
    • -
    • -
      -

      Search

      -

      You can search for definitions of modules, packages, types, fields, methods and other terms defined in the API, using some or all of the name. "Camel-case" abbreviations are supported: for example, "InpStr" will find "InputStream" and "InputStreamReader".

      -
      -
    • -
    -
    -This help file applies to API documentation generated by the standard doclet.
    -
    -
    - -
    - - + + + + + +API Help (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    How This API Document Is Organized

    +
    This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
    +
    +
    +
      +
    • +
      +

      Overview

      +

      The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

      +
      +
    • +
    • +
      +

      Package

      +

      Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:

      +
        +
      • Interfaces
      • +
      • Classes
      • +
      • Enums
      • +
      • Exceptions
      • +
      • Errors
      • +
      • Annotation Types
      • +
      +
      +
    • +
    • +
      +

      Class or Interface

      +

      Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      +
        +
      • Class Inheritance Diagram
      • +
      • Direct Subclasses
      • +
      • All Known Subinterfaces
      • +
      • All Known Implementing Classes
      • +
      • Class or Interface Declaration
      • +
      • Class or Interface Description
      • +
      +
      +
        +
      • Nested Class Summary
      • +
      • Field Summary
      • +
      • Property Summary
      • +
      • Constructor Summary
      • +
      • Method Summary
      • +
      +
      +
        +
      • Field Detail
      • +
      • Property Detail
      • +
      • Constructor Detail
      • +
      • Method Detail
      • +
      +

      Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

      +
      +
    • +
    • +
      +

      Annotation Type

      +

      Each annotation type has its own separate page with the following sections:

      +
        +
      • Annotation Type Declaration
      • +
      • Annotation Type Description
      • +
      • Required Element Summary
      • +
      • Optional Element Summary
      • +
      • Element Detail
      • +
      +
      +
    • +
    • +
      +

      Enum

      +

      Each enum has its own separate page with the following sections:

      +
        +
      • Enum Declaration
      • +
      • Enum Description
      • +
      • Enum Constant Summary
      • +
      • Enum Constant Detail
      • +
      +
      +
    • +
    • +
      +

      Tree (Class Hierarchy)

      +

      There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

      +
        +
      • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
      • +
      • When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.
      • +
      +
      +
    • +
    • +
      +

      Index

      +

      The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.

      +
      +
    • +
    • +
      +

      All Classes

      +

      The All Classes link shows all classes and interfaces except non-static nested types.

      +
      +
    • +
    • +
      +

      Serialized Form

      +

      Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

      +
      +
    • +
    • +
      +

      Constant Field Values

      +

      The Constant Field Values page lists the static final fields and their values.

      +
      +
    • +
    • +
      +

      Search

      +

      You can search for definitions of modules, packages, types, fields, methods and other terms defined in the API, using some or all of the name. "Camel-case" abbreviations are supported: for example, "InpStr" will find "InputStream" and "InputStreamReader".

      +
      +
    • +
    +
    +This help file applies to API documentation generated by the standard doclet.
    +
    +
    + +
    + + diff --git a/doc/imp/HSB.html b/doc/imp/HSB.html index b7592cd..d10b234 100644 --- a/doc/imp/HSB.html +++ b/doc/imp/HSB.html @@ -1,394 +1,394 @@ - - - - - -HSB (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    Package imp
    -

    Class HSB

    -
    -
    - -
    -
      -
    • -
      -
      public class HSB
      -extends Object
      -
      Hilfsklasse für das HSB-Farbmodell
      -
      -
      Version:
      -
      V1.0 14.01.2020
      -
      Author:
      -
      Thomas Schaller
      -
      -
    • -
    -
    -
    - -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          HSB

          -
          public HSB()
          -
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getHue

          -
          public static double getHue​(Color c)
          -
          Liefert den Farbton als Winkel zwischen 0.0° und 360.0°.
          -
          -
          Parameters:
          -
          Color - c Farbe, deren Farbton bestimmt werden soll.
          -
          Returns:
          -
          Farbton
          -
          -
        • -
        - - - -
          -
        • -

          getSaturation

          -
          public static double getSaturation​(Color c)
          -
          Liefert die Sättigung als Wert zwischen 0.0 (0%) und 1.0 (100%).
          -
          -
          Parameters:
          -
          Color - c Farbe, deren Sättigung bestimmt werden soll.
          -
          Returns:
          -
          Sättigung
          -
          -
        • -
        - - - -
          -
        • -

          getBrightness

          -
          public static double getBrightness​(Color c)
          -
          Liefert die Helligkeit als Wert zwischen 0.0 (0%) und 1.0 (100%).
          -
          -
          Parameters:
          -
          Color - c Farbe, deren Helligkeit bestimmt werden soll.
          -
          Returns:
          -
          Sättigung
          -
          -
        • -
        - - - -
          -
        • -

          getColor

          -
          public static Color getColor​(double h,
          -                             double s,
          -                             double b)
          -
          Liefert ein Java-Color-Objekt mit den angegebenen HSB-Werten.
          -
          -
          Parameters:
          -
          h - Farbton (Hue)
          -
          s - Sättigung (Saturation)
          -
          b - Brightness (Helligkeit)
          -
          Returns:
          -
          Java-Color-Objekt
          -
          -
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
    - -
    - -
    - - + + + + + +HSB (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package imp
    +

    Class HSB

    +
    +
    + +
    +
      +
    • +
      +
      public class HSB
      +extends Object
      +
      Hilfsklasse für das HSB-Farbmodell
      +
      +
      Version:
      +
      V1.0 14.01.2020
      +
      Author:
      +
      Thomas Schaller
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          HSB

          +
          public HSB()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getHue

          +
          public static double getHue​(Color c)
          +
          Liefert den Farbton als Winkel zwischen 0.0° und 360.0°.
          +
          +
          Parameters:
          +
          Color - c Farbe, deren Farbton bestimmt werden soll.
          +
          Returns:
          +
          Farbton
          +
          +
        • +
        + + + +
          +
        • +

          getSaturation

          +
          public static double getSaturation​(Color c)
          +
          Liefert die Sättigung als Wert zwischen 0.0 (0%) und 1.0 (100%).
          +
          +
          Parameters:
          +
          Color - c Farbe, deren Sättigung bestimmt werden soll.
          +
          Returns:
          +
          Sättigung
          +
          +
        • +
        + + + +
          +
        • +

          getBrightness

          +
          public static double getBrightness​(Color c)
          +
          Liefert die Helligkeit als Wert zwischen 0.0 (0%) und 1.0 (100%).
          +
          +
          Parameters:
          +
          Color - c Farbe, deren Helligkeit bestimmt werden soll.
          +
          Returns:
          +
          Sättigung
          +
          +
        • +
        + + + +
          +
        • +

          getColor

          +
          public static Color getColor​(double h,
          +                             double s,
          +                             double b)
          +
          Liefert ein Java-Color-Objekt mit den angegebenen HSB-Werten.
          +
          +
          Parameters:
          +
          h - Farbton (Hue)
          +
          s - Sättigung (Saturation)
          +
          b - Brightness (Helligkeit)
          +
          Returns:
          +
          Java-Color-Objekt
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + +
    + +
    + + diff --git a/doc/imp/NumberField.html b/doc/imp/NumberField.html index 7569afd..485caa7 100644 --- a/doc/imp/NumberField.html +++ b/doc/imp/NumberField.html @@ -1,516 +1,516 @@ - - - - - -NumberField (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    Package imp
    -

    Class NumberField

    -
    -
    -
      -
    • java.lang.Object
    • -
    • -
        -
      • javafx.scene.Node
      • -
      • -
          -
        • javafx.scene.Parent
        • -
        • -
            -
          • javafx.scene.layout.Region
          • -
          • -
              -
            • javafx.scene.control.Control
            • -
            • -
                -
              • javafx.scene.control.TextInputControl
              • -
              • -
                  -
                • javafx.scene.control.TextField
                • -
                • -
                    -
                  • imp.NumberField
                  • -
                  -
                • -
                -
              • -
              -
            • -
            -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
    -
      -
    • -
      -
      All Implemented Interfaces:
      -
      javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
      -
      -
      -
      public class NumberField
      -extends javafx.scene.control.TextField
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Nested Class Summary

        -
          -
        • - - -

          Nested classes/interfaces inherited from class javafx.scene.control.TextInputControl

          -javafx.scene.control.TextInputControl.Content
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Field Summary

        -
          -
        • - - -

          Fields inherited from class javafx.scene.control.TextField

          -DEFAULT_PREF_COLUMN_COUNT
        • -
        -
          -
        • - - -

          Fields inherited from class javafx.scene.layout.Region

          -USE_COMPUTED_SIZE, USE_PREF_SIZE
        • -
        -
          -
        • - - -

          Fields inherited from class javafx.scene.Node

          -BASELINE_OFFSET_SAME_AS_HEIGHT
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Constructor Summary

        - - - - - - - - - - -
        Constructors 
        ConstructorDescription
        NumberField() 
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Summary

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        doublegetDoubleValue() 
        intgetIntValue() 
        voidreplaceSelection​(String text) 
        voidreplaceText​(int start, - int end, - String text) 
        voidsetValue​(double v) 
        voidsetValue​(int v) 
        -
          -
        • - - -

          Methods inherited from class javafx.scene.control.TextField

          -alignmentProperty, createDefaultSkin, getAlignment, getCharacters, getClassCssMetaData, getControlCssMetaData, getOnAction, getPrefColumnCount, onActionProperty, prefColumnCountProperty, setAlignment, setOnAction, setPrefColumnCount
        • -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.control.TextInputControl

          -anchorProperty, appendText, backward, cancelEdit, caretPositionProperty, clear, commitValue, copy, cut, deleteNextChar, deletePreviousChar, deleteText, deleteText, deselect, editableProperty, end, endOfNextWord, executeAccessibleAction, extendSelection, fontProperty, forward, getAnchor, getCaretPosition, getContent, getFont, getLength, getPromptText, getSelectedText, getSelection, getText, getText, getTextFormatter, home, insertText, isEditable, isRedoable, isUndoable, lengthProperty, nextWord, paste, positionCaret, previousWord, promptTextProperty, queryAccessibleAttribute, redo, redoableProperty, replaceText, selectAll, selectBackward, selectedTextProperty, selectEnd, selectEndOfNextWord, selectForward, selectHome, selectionProperty, selectNextWord, selectPositionCaret, selectPreviousWord, selectRange, setEditable, setFont, setPromptText, setText, setTextFormatter, textFormatterProperty, textProperty, undo, undoableProperty
        • -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.control.Control

          -computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
        • -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.layout.Region

          -backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPositionX, snapPositionY, snapSizeX, snapSizeY, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
        • -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.Parent

          -getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
        • -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.Node

          -accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
        • -
        - -
          -
        • - - -

          Methods inherited from interface javafx.css.Styleable

          -getStyleableNode
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          NumberField

          -
          public NumberField()
          -
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          replaceText

          -
          public void replaceText​(int start,
          -                        int end,
          -                        String text)
          -
          -
          Overrides:
          -
          replaceText in class javafx.scene.control.TextInputControl
          -
          -
        • -
        - - - -
          -
        • -

          replaceSelection

          -
          public void replaceSelection​(String text)
          -
          -
          Overrides:
          -
          replaceSelection in class javafx.scene.control.TextInputControl
          -
          -
        • -
        - - - -
          -
        • -

          getDoubleValue

          -
          public double getDoubleValue()
          -
        • -
        - - - -
          -
        • -

          getIntValue

          -
          public int getIntValue()
          -
        • -
        - - - -
          -
        • -

          setValue

          -
          public void setValue​(double v)
          -
        • -
        - - - -
          -
        • -

          setValue

          -
          public void setValue​(int v)
          -
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
    - - - - + + + + + +NumberField (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package imp
    +

    Class NumberField

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • javafx.scene.Node
      • +
      • +
          +
        • javafx.scene.Parent
        • +
        • +
            +
          • javafx.scene.layout.Region
          • +
          • +
              +
            • javafx.scene.control.Control
            • +
            • +
                +
              • javafx.scene.control.TextInputControl
              • +
              • +
                  +
                • javafx.scene.control.TextField
                • +
                • +
                    +
                  • imp.NumberField
                  • +
                  +
                • +
                +
              • +
              +
            • +
            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
      +
      +
      +
      public class NumberField
      +extends javafx.scene.control.TextField
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from class javafx.scene.control.TextInputControl

          +javafx.scene.control.TextInputControl.Content
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class javafx.scene.control.TextField

          +DEFAULT_PREF_COLUMN_COUNT
        • +
        +
          +
        • + + +

          Fields inherited from class javafx.scene.layout.Region

          +USE_COMPUTED_SIZE, USE_PREF_SIZE
        • +
        +
          +
        • + + +

          Fields inherited from class javafx.scene.Node

          +BASELINE_OFFSET_SAME_AS_HEIGHT
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        NumberField() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        doublegetDoubleValue() 
        intgetIntValue() 
        voidreplaceSelection​(String text) 
        voidreplaceText​(int start, + int end, + String text) 
        voidsetValue​(double v) 
        voidsetValue​(int v) 
        +
          +
        • + + +

          Methods inherited from class javafx.scene.control.TextField

          +alignmentProperty, createDefaultSkin, getAlignment, getCharacters, getClassCssMetaData, getControlCssMetaData, getOnAction, getPrefColumnCount, onActionProperty, prefColumnCountProperty, setAlignment, setOnAction, setPrefColumnCount
        • +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.control.TextInputControl

          +anchorProperty, appendText, backward, cancelEdit, caretPositionProperty, clear, commitValue, copy, cut, deleteNextChar, deletePreviousChar, deleteText, deleteText, deselect, editableProperty, end, endOfNextWord, executeAccessibleAction, extendSelection, fontProperty, forward, getAnchor, getCaretPosition, getContent, getFont, getLength, getPromptText, getSelectedText, getSelection, getText, getText, getTextFormatter, home, insertText, isEditable, isRedoable, isUndoable, lengthProperty, nextWord, paste, positionCaret, previousWord, promptTextProperty, queryAccessibleAttribute, redo, redoableProperty, replaceText, selectAll, selectBackward, selectedTextProperty, selectEnd, selectEndOfNextWord, selectForward, selectHome, selectionProperty, selectNextWord, selectPositionCaret, selectPreviousWord, selectRange, setEditable, setFont, setPromptText, setText, setTextFormatter, textFormatterProperty, textProperty, undo, undoableProperty
        • +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.control.Control

          +computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
        • +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.layout.Region

          +backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPositionX, snapPositionY, snapSizeX, snapSizeY, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
        • +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.Parent

          +getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
        • +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.Node

          +accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
        • +
        + +
          +
        • + + +

          Methods inherited from interface javafx.css.Styleable

          +getStyleableNode
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          NumberField

          +
          public NumberField()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          replaceText

          +
          public void replaceText​(int start,
          +                        int end,
          +                        String text)
          +
          +
          Overrides:
          +
          replaceText in class javafx.scene.control.TextInputControl
          +
          +
        • +
        + + + +
          +
        • +

          replaceSelection

          +
          public void replaceSelection​(String text)
          +
          +
          Overrides:
          +
          replaceSelection in class javafx.scene.control.TextInputControl
          +
          +
        • +
        + + + +
          +
        • +

          getDoubleValue

          +
          public double getDoubleValue()
          +
        • +
        + + + +
          +
        • +

          getIntValue

          +
          public int getIntValue()
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public void setValue​(double v)
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public void setValue​(int v)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/doc/imp/Picture.html b/doc/imp/Picture.html index 45c87b9..30e75a6 100644 --- a/doc/imp/Picture.html +++ b/doc/imp/Picture.html @@ -1,1429 +1,1429 @@ - - - - - -Picture (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    Package imp
    -

    Class Picture

    -
    -
    - -
    -
      -
    • -
      -
      public class Picture
      -extends Object
      -
      Bildklasse fuer die Simulation von Processing-Befehlen - - Diese Klasse stellt ein BufferedImage bereit, in das mit Processing-Befehlen gezeichnet - werden kann. - Zusaetzlich kann ein Bildanzeiger ueber jede Aenderung des Bildes informiert werden, - um "Zurueck"-Befehle zu ermoeglichen. Der Bildanzeiger ist entweder eine normale Java - ScrollPane oder ein Actor aus Greenfoot. - Die Dokumentation der einzelnen Zeichenmethoden ist der Processing-Reference - (https://processing.org/reference/ steht unter CC-Lizenz: https://creativecommons.org/) - entnommen und mit Deepl.com ins Deutsche uebersetzt.
      -
      -
      Version:
      -
      1.0 from 23.01.2019
      -
      Author:
      -
      Thomas Schaller (ZPG Informatik Klasse 9)
      -
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Field Summary

        - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Fields 
        Modifier and TypeFieldDescription
        static intCENTER 
        static intCORNER 
        static intCORNERS 
        static intRADIUS 
        -
      • -
      -
      - -
      -
        -
      • - - -

        Constructor Summary

        - - - - - - - - - - - - - - - - - - - - - - -
        Constructors 
        ConstructorDescription
        Picture() -
        Erzeugt ein Bild mit Standardgroesse 500x400
        -
        Picture​(int width, - int height) -
        Erzeugt ein Bild der angegeben Groesse
        -
        Picture​(int width, - int height, - String background) -
        Erzeugt ein Bild der angegebenen Groesse mit festgelegtem Hintergrund
        -
        Picture​(String filename) -
        Erzeugt ein Bild aus einer Datei
        -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Summary

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidbackground​(int c) -
        Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird.
        -
        voidbackground​(int r, - int g, - int b) -
        Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird.
        -
        voidclear() -
        Loescht den Inhalt des Bildes.
        -
        voiddelay​(int millis) -
        Hilfsfunktion zum Verzoegern der Ausgabe
        -
        voidellipse​(int a, - int b, - int c, - int d) -
        Zeichnet eine Ellipse/Kreis auf das Bild.
        -
        voidellipseMode​(int mode) -
        Aendert den Koordinaten-Modus beim Zeichnen von Kreisen/Ellipsen.
        -
        voidfill​(int fillcolor) -
        Legt die Farbe fest, mit der Formen gefuellt werden.
        -
        voidfill​(int r, - int g, - int b) -
        Legt die Farbe fest, mit der Formen gefuellt werden.
        -
        voidfill​(String fillcolor) -
        Legt die Farbe fest, mit der Formen gefuellt werden.
        -
        voidforceRepaint() -
        Ein repaint() (das Neuzeichnen) kann manuell erzwungen werden.
        -
        intgetHeight() -
        Liefert die Hoehe des Bildes zurueck.
        -
        BufferedImagegetImage() -
        Direktes Abfragen des Bildes (fuer interne Zwecke)
        -
        PictureViewergetObserver() 
        Color[][]getPixelArray() -
        Liefert das Bild als zweidimensionales Pixel-Array.
        -
        intgetWidth() -
        Liefert die Breite des Bildes zurueck.
        -
        voidline​(int x1, - int y1, - int x2, - int y2) -
        Zeichnet eine Linie (einen direkten Weg zwischen zwei Punkten) auf den Bildschirm.
        -
        voidload​(String filename) -
        Laedt ein Bild aus dem Dateisystem.
        -
        voidnoFill() -
        Legt fest, dass die Formen nicht gefuellt werden sollen.
        -
        voidnoStroke() -
        Legt fest, dass keine Linien oder Raender um Formen gezeichnet werden soll.
        -
        voidpoint​(int x, - int y) -
        Zeichnet einen Punkt, d.h. einen Kreis in der Dimension eines Pixels.
        -
        voidpolygon​(int[] x, - int[] y) -
        Zeichnet ein Polygon auf das Bild.
        -
        voidquad​(int x1, - int y1, - int x2, - int y2, - int x3, - int y3, - int x4, - int y4) -
        Zeichnet ein Viereck auf das Bild.
        -
        voidrect​(int a, - int b, - int c, - int d) -
        Zeichnet ein Rechteck auf das Bild.
        -
        voidrectMode​(int mode) -
        Aendert den Koordinaten-Modus beim Zeichnen von Rechtecken.
        -
        voidsave​(String filename) -
        Speichert ein Bild.
        -
        voidsetAutoRefresh​(boolean autoRefresh) -
        Legt fest, ob nach jedem Zeichenbefehl automatisch das Bild auch in - der Oberflaeche aktualisiert wird.
        -
        voidsetImage​(BufferedImage b) -
        Direktes Setzen des Bildes (fuer interne Zwecke)
        -
        voidsetObserver​(PictureViewer observer) -
        Legt fest, wer das Bild anzeigt.
        -
        voidsetPixelArray​(Color[][] pixel) -
        Setzt das Bild neu auf Basis des Pixel-Arrays.
        -
        voidshowInFrame() 
        voidsize​(int width, - int height) -
        Definiert die Dimension der Breite und Hoehe des Anzeigefensters in Pixeleinheiten.
        -
        voidstroke​(int pencolor) -
        Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
        -
        voidstroke​(int r, - int g, - int b) -
        Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
        -
        voidstroke​(String pencolor) -
        Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
        -
        voidstrokeWeight​(double width) -
        Legt die Breite des Strichs fuer Linien, Punkte und den Rand um Formen fest.
        -
        voidtext​(String s, - int x, - int y) -
        Gibt einen Text an den gegebenen Koordinaten aus - Zur Ausgabe des Textes wird der ausgewaehlte Font verwendet.
        -
        voidtextFont​(Font font) -
        Legt die Schriftart fuer Textausgaben fest.
        -
        voidtextMode​(int mode) -
        Aendert den Koordinaten-Modus beim Zeichnen von Texten.
        -
        voidtriangle​(int x1, - int y1, - int x2, - int y2, - int x3, - int y3) -
        Zeichnet ein Dreieck auf das Bild.
        -
        - -
      • -
      -
      -
    • -
    -
    -
    -
      -
    • - -
      - -
      - -
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          Picture

          -
          public Picture()
          -
          Erzeugt ein Bild mit Standardgroesse 500x400
          -
        • -
        - - - -
          -
        • -

          Picture

          -
          public Picture​(int width,
          -               int height)
          -
          Erzeugt ein Bild der angegeben Groesse
          -
          -
          Parameters:
          -
          width - Breite des Bildes
          -
          height - Hoehe des Bildes
          -
          -
        • -
        - - - -
          -
        • -

          Picture

          -
          public Picture​(String filename)
          -
          Erzeugt ein Bild aus einer Datei
          -
          -
          Parameters:
          -
          filename - Dateiname des Bildes
          -
          -
        • -
        - - - -
          -
        • -

          Picture

          -
          public Picture​(int width,
          -               int height,
          -               String background)
          -
          Erzeugt ein Bild der angegebenen Groesse mit festgelegtem Hintergrund
          -
          -
          Parameters:
          -
          width - Breite des Bildes
          -
          height - Hoehe des Bildes
          -
          background - Farbe des Hintergrunds
          -
          -
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          showInFrame

          -
          public void showInFrame()
          -
        • -
        - - - -
          -
        • -

          setObserver

          -
          public void setObserver​(PictureViewer observer)
          -
          Legt fest, wer das Bild anzeigt. - Diese ermoeglicht die Benachrichtung des Observers, wenn sich das Bild aendert.
          -
          -
          Parameters:
          -
          observer - Anzeiger des Bildes
          -
          -
        • -
        - - - - - - - -
          -
        • -

          setImage

          -
          public void setImage​(BufferedImage b)
          -
          Direktes Setzen des Bildes (fuer interne Zwecke)
          -
          -
          Parameters:
          -
          b - Bild, das gespeichert werden soll.
          -
          -
        • -
        - - - -
          -
        • -

          getImage

          -
          public BufferedImage getImage()
          -
          Direktes Abfragen des Bildes (fuer interne Zwecke)
          -
          -
          Returns:
          -
          Bild, das gerade gespeichert ist.
          -
          -
        • -
        - - - -
          -
        • -

          size

          -
          public void size​(int width,
          -                 int height)
          -
          Definiert die Dimension der Breite und Hoehe des Anzeigefensters in Pixeleinheiten. - Die eingebauten Variablen Breite und Hoehe werden durch die an diese Funktion uebergebenen Parameter festgelegt. So weist beispielsweise - der Befehl size(640, 480) der Variablen Breite 640 und der Variablen Hoehe 480 zu.
          -
          -
          Parameters:
          -
          width - Breite des Bildes
          -
          height - Hoehe des Bildes
          -
          -
        • -
        - - - -
          -
        • -

          getWidth

          -
          public int getWidth()
          -
          Liefert die Breite des Bildes zurueck.
          -
          -
          Returns:
          -
          Breite des Bildes
          -
          -
        • -
        - - - -
          -
        • -

          getHeight

          -
          public int getHeight()
          -
          Liefert die Hoehe des Bildes zurueck.
          -
          -
          Returns:
          -
          Hoehe des Bildes
          -
          -
        • -
        - - - -
          -
        • -

          setAutoRefresh

          -
          public void setAutoRefresh​(boolean autoRefresh)
          -
          Legt fest, ob nach jedem Zeichenbefehl automatisch das Bild auch in - der Oberflaeche aktualisiert wird. Die Einstellung "false" beschleunigt - das Zeichnen aufwaendiger Bilder und verhindert "Flackern". - Das Neuzeichnen kann durch die Methode "refresh" gezielt ausgeloest werden.
          -
          -
          Parameters:
          -
          autorefresh - true = nach jedem Zeichenbefehl die Anzeige aktualisieren, false= nur durch die Methode refresh neu zeichnen
          -
          -
        • -
        - - - -
          -
        • -

          forceRepaint

          -
          public void forceRepaint()
          -
          Ein repaint() (das Neuzeichnen) kann manuell erzwungen werden.
          -
        • -
        - - - -
          -
        • -

          clear

          -
          public void clear()
          -
          Loescht den Inhalt des Bildes. - Der Hintergrund wird mit der Hintergrundfarbe neu gefuellt.
          -
        • -
        - - - -
          -
        • -

          rectMode

          -
          public void rectMode​(int mode)
          -
          Aendert den Koordinaten-Modus beim Zeichnen von Rechtecken. - Aendert die Position, von der aus Rechtecke gezeichnet werden, indem es die Art und Weise aendert, wie Parameter, die an rect() uebergeben werden, interpretiert werden. - Der Standardmodus ist rectMode(Bild.CORNER), der die ersten beiden Parameter von rect() als die linke obere Ecke der Form interpretiert, - waehrend der dritte und vierte Parameter seine Breite und Hoehe sind. - rectMode(Bild.CORNERS) interpretiert die ersten beiden Parameter von rect() als die Position einer Ecke - und die dritten und vierten Parameter als die Position der gegenueberliegenden Ecke. - rectMode(Bild.CENTER) interpretiert die ersten beiden Parameter von rect() als Mittelpunkt der Form, - waehrend der dritte und vierte Parameter seine Breite und Hoehe sind. - rectMode(RADIUS) verwendet auch die ersten beiden Parameter von rect() als Mittelpunkt der Form, - verwendet aber den dritten und vierten Parameter, um die Haelfte der Breite und Hoehe der Formen festzulegen.
          -
          -
          Parameters:
          -
          mode - Modus der Koordinateninterpretation (CORNER, CORNERS, CENTER oder RADIUS)
          -
          -
        • -
        - - - -
          -
        • -

          ellipseMode

          -
          public void ellipseMode​(int mode)
          -
          Aendert den Koordinaten-Modus beim Zeichnen von Kreisen/Ellipsen. - Aendert die Position, von der aus Kreise/Ellipsen gezeichnet werden, indem es die Art und Weise aendert, wie Parameter, die an ellipse() uebergeben werden, interpretiert werden. - Der Standardmodus ist ellipseMode(Bild.CENTER), der die ersten beiden Parameter von ellipse() als Mittelpunkt der Form interpretiert, - waehrend der dritte und vierte Parameter seine Breite und Hoehe sind. - ellipseMode(Bild.CORNER) interpretiert die ersten beiden Parameter von ellipse() als die Position einer Ecke - und die dritten und vierten Parameter als Breite und Hoehe der Form. - ellipseMode(Bild.CORNERS) interpretiert die ersten beiden Parameter von ellipse() als die Position einer Ecke - und die dritten und vierten Parameter als die Position der gegenueberliegenden Ecke. - ellipseMode(RADIUS) verwendet auch die ersten beiden Parameter von ellipse() als Mittelpunkt der Form, - verwendet aber den dritten und vierten Parameter, um die Haelfte der Breite und Hoehe der Formen festzulegen.
          -
          -
          Parameters:
          -
          mode - Modus der Koordinateninterpretation (CORNER, CORNERS, CENTER oder RADIUS)
          -
          -
        • -
        - - - -
          -
        • -

          textMode

          -
          public void textMode​(int mode)
          -
          Aendert den Koordinaten-Modus beim Zeichnen von Texten. - Aendert die Position, an der Texte gezeichnet werden, indem es die Art und Weise aendert, wie Parameter, die an text() uebergeben werden, interpretiert werden. - Der Standardmodus ist textMode(Bild.CORNER), der die Koordinaten von text() als - linke untere Ecke des Textes interpretiert. - textMode(Bild.CENTER) interpretiert sie als Koordinaten des Mittelpunktes des Textes..
          -
          -
          Parameters:
          -
          mode - Modus der Koordinateninterpretation (CORNER, CENTER)
          -
          -
        • -
        - - - -
          -
        • -

          line

          -
          public void line​(int x1,
          -                 int y1,
          -                 int x2,
          -                 int y2)
          -
          Zeichnet eine Linie (einen direkten Weg zwischen zwei Punkten) auf den Bildschirm. - Um eine Linie einzufaerben, verwenden Sie die stroke() Funktion. Eine Zeile kann nicht gefuellt werden, daher hat die Funktion fill() keinen - Einfluss auf die Farbe einer Zeile. Linien werden standardmaessig mit einer Breite von einem Pixel gezeichnet, dies kann jedoch mit der Funktion - strokeWeight() geaendert werden.
          -
          -
          Parameters:
          -
          x1 - x-Koordinate des 1. Punktes
          -
          y1 - y-Koordinate des 1. Punktes
          -
          x2 - x-Koordinate des 2. Punktes
          -
          y2 - y-Koordinate des 2. Punktes
          -
          -
        • -
        - - - -
          -
        • -

          rect

          -
          public void rect​(int a,
          -                 int b,
          -                 int c,
          -                 int d)
          -
          Zeichnet ein Rechteck auf das Bild. - Standardmaessig legen die ersten beiden Parameter die Position der linken oberen Ecke fest, der dritte die Breite und der vierte die Hoehe. - Die Art und Weise, wie diese Parameter interpretiert werden, kann jedoch mit der Funktion rectMode() geaendert werden. - Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          -
          -
          Parameters:
          -
          a - meist die x-Koordinate der linken oberen Ecke (kann durch rectMode() geaendert werden).
          -
          b - meist die y-Koordinate der linken oberen Ecke (kann durch rectMode() geaendert werden).
          -
          c - meist die Breite des Rechtecks (kann durch rectMode() geaendert werden).
          -
          d - meist die Hoehe des Rechtecks (kann durch rectMode() geaendert werden).
          -
          -
        • -
        - - - -
          -
        • -

          ellipse

          -
          public void ellipse​(int a,
          -                    int b,
          -                    int c,
          -                    int d)
          -
          Zeichnet eine Ellipse/Kreis auf das Bild. - Standardmaessig legen die ersten beiden Parameter die Position des Mittelpunkts fest, der dritte die Breite und der vierte die Hoehe. - Die Art und Weise, wie diese Parameter interpretiert werden, kann jedoch mit der Funktion ellipseMode() geaendert werden. - Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          -
          -
          Parameters:
          -
          a - meist die x-Koordinate des Mittelpunkts (kann durch ellipseMode() geaendert werden).
          -
          b - meist die y-Koordinate des Mittelpunkts (kann durch ellipseMode() geaendert werden).
          -
          c - meist die Breite des Rechtecks (kann durch ellipseMode() geaendert werden).
          -
          d - meist die Hoehe des Rechtecks (kann durch ellipseMode() geaendert werden).
          -
          -
        • -
        - - - -
          -
        • -

          triangle

          -
          public void triangle​(int x1,
          -                     int y1,
          -                     int x2,
          -                     int y2,
          -                     int x3,
          -                     int y3)
          -
          Zeichnet ein Dreieck auf das Bild. - Ein Dreieck ist eine Ebene, die durch die Verbindung von drei Punkten entsteht. Die ersten beiden Argumente spezifizieren den - ersten Punkt, die mittleren beiden Argumente spezifizieren den zweiten Punkt und die letzten beiden Argumente spezifizieren den dritten Punkt. - Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          -
          -
          Parameters:
          -
          x1 - meist die x-Koordinate des 1. Punkts.
          -
          y1 - meist die y-Koordinate des 1. Punkts.
          -
          x2 - meist die x-Koordinate des 2. Punkts.
          -
          y2 - meist die y-Koordinate des 2. Punkts.
          -
          x3 - meist die x-Koordinate des 3. Punkts.
          -
          y3 - meist die y-Koordinate des 3. Punkts.
          -
          -
        • -
        - - - -
          -
        • -

          quad

          -
          public void quad​(int x1,
          -                 int y1,
          -                 int x2,
          -                 int y2,
          -                 int x3,
          -                 int y3,
          -                 int x4,
          -                 int y4)
          -
          Zeichnet ein Viereck auf das Bild. - Ein Viereck ist ein vierseitiges Polygon. Es ist aehnlich wie ein Rechteck, aber die Winkel zwischen seinen Kanten - sind nicht auf neunzig Grad beschraenkt. Das erste Paar von Parametern (x1,y1) setzt den ersten Scheitelpunkt und die nachfolgenden - Paare sollten im Uhrzeigersinn oder gegen den Uhrzeigersinn um die definierte Form herum verlaufen. - Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          -
          -
          Parameters:
          -
          x1 - meist die x-Koordinate des 1. Punkts.
          -
          y1 - meist die y-Koordinate des 1. Punkts.
          -
          x2 - meist die x-Koordinate des 2. Punkts.
          -
          y2 - meist die y-Koordinate des 2. Punkts.
          -
          x3 - meist die x-Koordinate des 3. Punkts.
          -
          y3 - meist die y-Koordinate des 3. Punkts.
          -
          x4 - meist die x-Koordinate des 3. Punkts.
          -
          y4 - meist die y-Koordinate des 3. Punkts.
          -
          -
        • -
        - - - -
          -
        • -

          polygon

          -
          public void polygon​(int[] x,
          -                    int[] y)
          -
          Zeichnet ein Polygon auf das Bild. - Gleich lange Listen von x und y-Koordinaten bestimmen die Eckpunkte des Polygons. - Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          -
          -
          Parameters:
          -
          x - Liste der x-Koordinaten der Punkte.
          -
          y - Liste der y-Koordinaten der Punkte.
          -
          -
        • -
        - - - -
          -
        • -

          point

          -
          public void point​(int x,
          -                  int y)
          -
          Zeichnet einen Punkt, d.h. einen Kreis in der Dimension eines Pixels. - Der erste Parameter ist der x-Wert fuer den Punkt, der zweite Wert ist der y-Wert fuer den Punkt.
          -
          -
          Parameters:
          -
          x - x-Koordinate des Punktes
          -
          y - y-Koordinate des Punktes
          -
          -
        • -
        - - - -
          -
        • -

          text

          -
          public void text​(String s,
          -                 int x,
          -                 int y)
          -
          Gibt einen Text an den gegebenen Koordinaten aus - Zur Ausgabe des Textes wird der ausgewaehlte Font verwendet. Dieser muss vorher mit textFont() festgelegt.
          -
          -
          Parameters:
          -
          s - Text, der angezeigt werden soll
          -
          x - x-Koordinate des Textanfangs
          -
          y - y-Koordinate der Grundlinie des Textes.
          -
          -
        • -
        - - - -
          -
        • -

          textFont

          -
          public void textFont​(Font font)
          -
          Legt die Schriftart fuer Textausgaben fest. - Jeder uebliche Java-Font kann verwendet werden. Er kann mit z.B. Font f = new Font( "Arial", Font.PLAIN, 14 ); definiert werden.
          -
          -
          Parameters:
          -
          font - ein Font-Objekt
          -
          -
        • -
        - - - -
          -
        • -

          stroke

          -
          public void stroke​(String pencolor)
          -
          Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden. - Diese Farbe wird hexadezimal in Form der RGB angegeben: z.B. "CCFFAA" oder "004E23". Die Syntax verwendet sechs Ziffern - je zwei fuer die roten, gruenen und blauen Komponenten, - um eine Farbe anzugeben (genau wie Farben typischerweise in HTML und CSS angegeben werden).
          -
          -
          Parameters:
          -
          pencolor - Stiftfarbe in Hexadezimaldarstellung
          -
          -
        • -
        - - - -
          -
        • -

          stroke

          -
          public void stroke​(int pencolor)
          -
          Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden. - Diese Farbe wird entweder als Graustufe (0-255) oder als 3-Byte RGB-Wert angegeben
          -
          -
          Parameters:
          -
          pencolor - Stiftfarbe (0-255: Graustufe zwischen 0 schwarz und 255 weiss, sonst: c wird als 3-Byte RGB-Wert interpretiert)
          -
          -
        • -
        - - - -
          -
        • -

          stroke

          -
          public void stroke​(int r,
          -                   int g,
          -                   int b)
          -
          Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden. - Diese Farbe wird komponentenweise als RGB-Wert angegeben
          -
          -
          Parameters:
          -
          r - Rotanteil (0-255) der Stiftfarbe
          -
          g - Gruenanteil (0-255) der Stiftfarbe
          -
          b - Blauanteil (0-255) der Stiftfarbe
          -
          -
        • -
        - - - -
          -
        • -

          noStroke

          -
          public void noStroke()
          -
          Legt fest, dass keine Linien oder Raender um Formen gezeichnet werden soll.
          -
        • -
        - - - -
          -
        • -

          strokeWeight

          -
          public void strokeWeight​(double width)
          -
          Legt die Breite des Strichs fuer Linien, Punkte und den Rand um Formen fest. - Alle Breiten werden in Pixeleinheiten angegeben.
          -
          -
          Parameters:
          -
          width - Breite in Pixel
          -
          -
        • -
        - - - -
          -
        • -

          fill

          -
          public void fill​(String fillcolor)
          -
          Legt die Farbe fest, mit der Formen gefuellt werden. - Diese Farbe wird hexadezimal in Form der RGB angegeben: z.B. "CCFFAA" oder "004E23". Die Syntax verwendet sechs Ziffern - je zwei fuer die roten, gruenen und blauen Komponenten, - um eine Farbe anzugeben (genau wie Farben typischerweise in HTML und CSS angegeben werden).
          -
          -
          Parameters:
          -
          fillcolor - Fuellfarbe in Hexadezimaldarstellung
          -
          -
        • -
        - - - -
          -
        • -

          fill

          -
          public void fill​(int fillcolor)
          -
          Legt die Farbe fest, mit der Formen gefuellt werden. - Diese Farbe wird entweder als Graustufe (0-255) oder als 3-Byte RGB-Wert angegeben.
          -
          -
          Parameters:
          -
          fillcolor - Fuellfarbe (0-255: Graustufe zwischen 0 schwarz und 255 weiss, sonst: c wird als 3-Byte RGB-Wert interpretiert)
          -
          -
        • -
        - - - -
          -
        • -

          fill

          -
          public void fill​(int r,
          -                 int g,
          -                 int b)
          -
          Legt die Farbe fest, mit der Formen gefuellt werden. - Diese Farbe wird komponentenweise als RGB-Wert angegeben.
          -
          -
          Parameters:
          -
          r - Rotanteil (0-255) der Fuellfarbe
          -
          g - Gruenanteil (0-255) der Fuellfarbe
          -
          b - Blauanteil (0-255) der Fuellfarbe
          -
          -
        • -
        - - - -
          -
        • -

          noFill

          -
          public void noFill()
          -
          Legt fest, dass die Formen nicht gefuellt werden sollen.
          -
        • -
        - - - -
          -
        • -

          background

          -
          public void background​(int c)
          -
          Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird. Der Standardhintergrund ist hellgrau. - Es ist nicht moeglich, den Alpha-Parameter Transparenz mit Hintergrundfarben auf der Hauptzeichnungsoberflaeche zu verwenden.
          -
          -
          Parameters:
          -
          c - Farbe fuer den Hintergrund (0-255: Graustufe zwischen 0 schwarz und 255 weiss, sonst: c wird als 3-Byte RGB-Wert interpretiert)
          -
          -
        • -
        - - - -
          -
        • -

          background

          -
          public void background​(int r,
          -                       int g,
          -                       int b)
          -
          Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird. Der Standardhintergrund ist hellgrau. - Es ist nicht moeglich, den Alpha-Parameter Transparenz mit Hintergrundfarben auf der Hauptzeichnungsoberflaeche zu verwenden.
          -
          -
          Parameters:
          -
          r - Rotanteil (0-255) der Hintergrundfarbe
          -
          g - Gruenanteil (0-255) der Hintergrundfarbe
          -
          b - Blauanteil (0-255) der Hintergrundfarbe
          -
          -
        • -
        - - - -
          -
        • -

          load

          -
          public void load​(String filename)
          -
          Laedt ein Bild aus dem Dateisystem. - Laedt ein Bild von einem Datentraeger und setzt Stiftfarbe und Fuellfarbe auf Standardwerte zurueck.
          -
          -
          Parameters:
          -
          filename - Dateiname des Bildes
          -
          -
        • -
        - - - -
          -
        • -

          save

          -
          public void save​(String filename)
          -
          Speichert ein Bild. - Speichert ein Bild auf einem Datentraeger. Zulaessig sind die Dateiformate PNG und GIF. Die Dateiendung legt den Typ fest. - Standardmaessig wird die Dateiendung .png ergaenzt, wenn keine angegeben ist.
          -
          -
          Parameters:
          -
          filename - Dateiname des Bildes
          -
          -
        • -
        - - - -
          -
        • -

          getPixelArray

          -
          public Color[][] getPixelArray()
          -
          Liefert das Bild als zweidimensionales Pixel-Array.
          -
          -
          Returns:
          -
          zweidimensionales Array von Color-Objekten, die den Pixeln des Bildes entsprechen.
          -
          -
        • -
        - - - -
          -
        • -

          setPixelArray

          -
          public void setPixelArray​(Color[][] pixel)
          -
          Setzt das Bild neu auf Basis des Pixel-Arrays. - Die Groesse des Bildes wird nicht automatisch an das Array angepasst.
          -
          -
          Parameters:
          -
          pixel - zweidimensionales Array von Color-Objekten
          -
          -
        • -
        - - - -
          -
        • -

          delay

          -
          public void delay​(int millis)
          -
          Hilfsfunktion zum Verzoegern der Ausgabe
          -
          -
          Parameters:
          -
          millis - Wartezeit in Millisekunden
          -
          -
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
    - - - - + + + + + +Picture (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package imp
    +

    Class Picture

    +
    +
    + +
    +
      +
    • +
      +
      public class Picture
      +extends Object
      +
      Bildklasse fuer die Simulation von Processing-Befehlen + + Diese Klasse stellt ein BufferedImage bereit, in das mit Processing-Befehlen gezeichnet + werden kann. + Zusaetzlich kann ein Bildanzeiger ueber jede Aenderung des Bildes informiert werden, + um "Zurueck"-Befehle zu ermoeglichen. Der Bildanzeiger ist entweder eine normale Java + ScrollPane oder ein Actor aus Greenfoot. + Die Dokumentation der einzelnen Zeichenmethoden ist der Processing-Reference + (https://processing.org/reference/ steht unter CC-Lizenz: https://creativecommons.org/) + entnommen und mit Deepl.com ins Deutsche uebersetzt.
      +
      +
      Version:
      +
      1.0 from 23.01.2019
      +
      Author:
      +
      Thomas Schaller (ZPG Informatik Klasse 9)
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        static intCENTER 
        static intCORNER 
        static intCORNERS 
        static intRADIUS 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Picture() +
        Erzeugt ein Bild mit Standardgroesse 500x400
        +
        Picture​(int width, + int height) +
        Erzeugt ein Bild der angegeben Groesse
        +
        Picture​(int width, + int height, + String background) +
        Erzeugt ein Bild der angegebenen Groesse mit festgelegtem Hintergrund
        +
        Picture​(String filename) +
        Erzeugt ein Bild aus einer Datei
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidbackground​(int c) +
        Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird.
        +
        voidbackground​(int r, + int g, + int b) +
        Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird.
        +
        voidclear() +
        Loescht den Inhalt des Bildes.
        +
        voiddelay​(int millis) +
        Hilfsfunktion zum Verzoegern der Ausgabe
        +
        voidellipse​(int a, + int b, + int c, + int d) +
        Zeichnet eine Ellipse/Kreis auf das Bild.
        +
        voidellipseMode​(int mode) +
        Aendert den Koordinaten-Modus beim Zeichnen von Kreisen/Ellipsen.
        +
        voidfill​(int fillcolor) +
        Legt die Farbe fest, mit der Formen gefuellt werden.
        +
        voidfill​(int r, + int g, + int b) +
        Legt die Farbe fest, mit der Formen gefuellt werden.
        +
        voidfill​(String fillcolor) +
        Legt die Farbe fest, mit der Formen gefuellt werden.
        +
        voidforceRepaint() +
        Ein repaint() (das Neuzeichnen) kann manuell erzwungen werden.
        +
        intgetHeight() +
        Liefert die Hoehe des Bildes zurueck.
        +
        BufferedImagegetImage() +
        Direktes Abfragen des Bildes (fuer interne Zwecke)
        +
        PictureViewergetObserver() 
        Color[][]getPixelArray() +
        Liefert das Bild als zweidimensionales Pixel-Array.
        +
        intgetWidth() +
        Liefert die Breite des Bildes zurueck.
        +
        voidline​(int x1, + int y1, + int x2, + int y2) +
        Zeichnet eine Linie (einen direkten Weg zwischen zwei Punkten) auf den Bildschirm.
        +
        voidload​(String filename) +
        Laedt ein Bild aus dem Dateisystem.
        +
        voidnoFill() +
        Legt fest, dass die Formen nicht gefuellt werden sollen.
        +
        voidnoStroke() +
        Legt fest, dass keine Linien oder Raender um Formen gezeichnet werden soll.
        +
        voidpoint​(int x, + int y) +
        Zeichnet einen Punkt, d.h. einen Kreis in der Dimension eines Pixels.
        +
        voidpolygon​(int[] x, + int[] y) +
        Zeichnet ein Polygon auf das Bild.
        +
        voidquad​(int x1, + int y1, + int x2, + int y2, + int x3, + int y3, + int x4, + int y4) +
        Zeichnet ein Viereck auf das Bild.
        +
        voidrect​(int a, + int b, + int c, + int d) +
        Zeichnet ein Rechteck auf das Bild.
        +
        voidrectMode​(int mode) +
        Aendert den Koordinaten-Modus beim Zeichnen von Rechtecken.
        +
        voidsave​(String filename) +
        Speichert ein Bild.
        +
        voidsetAutoRefresh​(boolean autoRefresh) +
        Legt fest, ob nach jedem Zeichenbefehl automatisch das Bild auch in + der Oberflaeche aktualisiert wird.
        +
        voidsetImage​(BufferedImage b) +
        Direktes Setzen des Bildes (fuer interne Zwecke)
        +
        voidsetObserver​(PictureViewer observer) +
        Legt fest, wer das Bild anzeigt.
        +
        voidsetPixelArray​(Color[][] pixel) +
        Setzt das Bild neu auf Basis des Pixel-Arrays.
        +
        voidshowInFrame() 
        voidsize​(int width, + int height) +
        Definiert die Dimension der Breite und Hoehe des Anzeigefensters in Pixeleinheiten.
        +
        voidstroke​(int pencolor) +
        Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
        +
        voidstroke​(int r, + int g, + int b) +
        Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
        +
        voidstroke​(String pencolor) +
        Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
        +
        voidstrokeWeight​(double width) +
        Legt die Breite des Strichs fuer Linien, Punkte und den Rand um Formen fest.
        +
        voidtext​(String s, + int x, + int y) +
        Gibt einen Text an den gegebenen Koordinaten aus + Zur Ausgabe des Textes wird der ausgewaehlte Font verwendet.
        +
        voidtextFont​(Font font) +
        Legt die Schriftart fuer Textausgaben fest.
        +
        voidtextMode​(int mode) +
        Aendert den Koordinaten-Modus beim Zeichnen von Texten.
        +
        voidtriangle​(int x1, + int y1, + int x2, + int y2, + int x3, + int y3) +
        Zeichnet ein Dreieck auf das Bild.
        +
        + +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Picture

          +
          public Picture()
          +
          Erzeugt ein Bild mit Standardgroesse 500x400
          +
        • +
        + + + +
          +
        • +

          Picture

          +
          public Picture​(int width,
          +               int height)
          +
          Erzeugt ein Bild der angegeben Groesse
          +
          +
          Parameters:
          +
          width - Breite des Bildes
          +
          height - Hoehe des Bildes
          +
          +
        • +
        + + + +
          +
        • +

          Picture

          +
          public Picture​(String filename)
          +
          Erzeugt ein Bild aus einer Datei
          +
          +
          Parameters:
          +
          filename - Dateiname des Bildes
          +
          +
        • +
        + + + +
          +
        • +

          Picture

          +
          public Picture​(int width,
          +               int height,
          +               String background)
          +
          Erzeugt ein Bild der angegebenen Groesse mit festgelegtem Hintergrund
          +
          +
          Parameters:
          +
          width - Breite des Bildes
          +
          height - Hoehe des Bildes
          +
          background - Farbe des Hintergrunds
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          showInFrame

          +
          public void showInFrame()
          +
        • +
        + + + +
          +
        • +

          setObserver

          +
          public void setObserver​(PictureViewer observer)
          +
          Legt fest, wer das Bild anzeigt. + Diese ermoeglicht die Benachrichtung des Observers, wenn sich das Bild aendert.
          +
          +
          Parameters:
          +
          observer - Anzeiger des Bildes
          +
          +
        • +
        + + + + + + + +
          +
        • +

          setImage

          +
          public void setImage​(BufferedImage b)
          +
          Direktes Setzen des Bildes (fuer interne Zwecke)
          +
          +
          Parameters:
          +
          b - Bild, das gespeichert werden soll.
          +
          +
        • +
        + + + +
          +
        • +

          getImage

          +
          public BufferedImage getImage()
          +
          Direktes Abfragen des Bildes (fuer interne Zwecke)
          +
          +
          Returns:
          +
          Bild, das gerade gespeichert ist.
          +
          +
        • +
        + + + +
          +
        • +

          size

          +
          public void size​(int width,
          +                 int height)
          +
          Definiert die Dimension der Breite und Hoehe des Anzeigefensters in Pixeleinheiten. + Die eingebauten Variablen Breite und Hoehe werden durch die an diese Funktion uebergebenen Parameter festgelegt. So weist beispielsweise + der Befehl size(640, 480) der Variablen Breite 640 und der Variablen Hoehe 480 zu.
          +
          +
          Parameters:
          +
          width - Breite des Bildes
          +
          height - Hoehe des Bildes
          +
          +
        • +
        + + + +
          +
        • +

          getWidth

          +
          public int getWidth()
          +
          Liefert die Breite des Bildes zurueck.
          +
          +
          Returns:
          +
          Breite des Bildes
          +
          +
        • +
        + + + +
          +
        • +

          getHeight

          +
          public int getHeight()
          +
          Liefert die Hoehe des Bildes zurueck.
          +
          +
          Returns:
          +
          Hoehe des Bildes
          +
          +
        • +
        + + + +
          +
        • +

          setAutoRefresh

          +
          public void setAutoRefresh​(boolean autoRefresh)
          +
          Legt fest, ob nach jedem Zeichenbefehl automatisch das Bild auch in + der Oberflaeche aktualisiert wird. Die Einstellung "false" beschleunigt + das Zeichnen aufwaendiger Bilder und verhindert "Flackern". + Das Neuzeichnen kann durch die Methode "refresh" gezielt ausgeloest werden.
          +
          +
          Parameters:
          +
          autorefresh - true = nach jedem Zeichenbefehl die Anzeige aktualisieren, false= nur durch die Methode refresh neu zeichnen
          +
          +
        • +
        + + + +
          +
        • +

          forceRepaint

          +
          public void forceRepaint()
          +
          Ein repaint() (das Neuzeichnen) kann manuell erzwungen werden.
          +
        • +
        + + + +
          +
        • +

          clear

          +
          public void clear()
          +
          Loescht den Inhalt des Bildes. + Der Hintergrund wird mit der Hintergrundfarbe neu gefuellt.
          +
        • +
        + + + +
          +
        • +

          rectMode

          +
          public void rectMode​(int mode)
          +
          Aendert den Koordinaten-Modus beim Zeichnen von Rechtecken. + Aendert die Position, von der aus Rechtecke gezeichnet werden, indem es die Art und Weise aendert, wie Parameter, die an rect() uebergeben werden, interpretiert werden. + Der Standardmodus ist rectMode(Bild.CORNER), der die ersten beiden Parameter von rect() als die linke obere Ecke der Form interpretiert, + waehrend der dritte und vierte Parameter seine Breite und Hoehe sind. + rectMode(Bild.CORNERS) interpretiert die ersten beiden Parameter von rect() als die Position einer Ecke + und die dritten und vierten Parameter als die Position der gegenueberliegenden Ecke. + rectMode(Bild.CENTER) interpretiert die ersten beiden Parameter von rect() als Mittelpunkt der Form, + waehrend der dritte und vierte Parameter seine Breite und Hoehe sind. + rectMode(RADIUS) verwendet auch die ersten beiden Parameter von rect() als Mittelpunkt der Form, + verwendet aber den dritten und vierten Parameter, um die Haelfte der Breite und Hoehe der Formen festzulegen.
          +
          +
          Parameters:
          +
          mode - Modus der Koordinateninterpretation (CORNER, CORNERS, CENTER oder RADIUS)
          +
          +
        • +
        + + + +
          +
        • +

          ellipseMode

          +
          public void ellipseMode​(int mode)
          +
          Aendert den Koordinaten-Modus beim Zeichnen von Kreisen/Ellipsen. + Aendert die Position, von der aus Kreise/Ellipsen gezeichnet werden, indem es die Art und Weise aendert, wie Parameter, die an ellipse() uebergeben werden, interpretiert werden. + Der Standardmodus ist ellipseMode(Bild.CENTER), der die ersten beiden Parameter von ellipse() als Mittelpunkt der Form interpretiert, + waehrend der dritte und vierte Parameter seine Breite und Hoehe sind. + ellipseMode(Bild.CORNER) interpretiert die ersten beiden Parameter von ellipse() als die Position einer Ecke + und die dritten und vierten Parameter als Breite und Hoehe der Form. + ellipseMode(Bild.CORNERS) interpretiert die ersten beiden Parameter von ellipse() als die Position einer Ecke + und die dritten und vierten Parameter als die Position der gegenueberliegenden Ecke. + ellipseMode(RADIUS) verwendet auch die ersten beiden Parameter von ellipse() als Mittelpunkt der Form, + verwendet aber den dritten und vierten Parameter, um die Haelfte der Breite und Hoehe der Formen festzulegen.
          +
          +
          Parameters:
          +
          mode - Modus der Koordinateninterpretation (CORNER, CORNERS, CENTER oder RADIUS)
          +
          +
        • +
        + + + +
          +
        • +

          textMode

          +
          public void textMode​(int mode)
          +
          Aendert den Koordinaten-Modus beim Zeichnen von Texten. + Aendert die Position, an der Texte gezeichnet werden, indem es die Art und Weise aendert, wie Parameter, die an text() uebergeben werden, interpretiert werden. + Der Standardmodus ist textMode(Bild.CORNER), der die Koordinaten von text() als + linke untere Ecke des Textes interpretiert. + textMode(Bild.CENTER) interpretiert sie als Koordinaten des Mittelpunktes des Textes..
          +
          +
          Parameters:
          +
          mode - Modus der Koordinateninterpretation (CORNER, CENTER)
          +
          +
        • +
        + + + +
          +
        • +

          line

          +
          public void line​(int x1,
          +                 int y1,
          +                 int x2,
          +                 int y2)
          +
          Zeichnet eine Linie (einen direkten Weg zwischen zwei Punkten) auf den Bildschirm. + Um eine Linie einzufaerben, verwenden Sie die stroke() Funktion. Eine Zeile kann nicht gefuellt werden, daher hat die Funktion fill() keinen + Einfluss auf die Farbe einer Zeile. Linien werden standardmaessig mit einer Breite von einem Pixel gezeichnet, dies kann jedoch mit der Funktion + strokeWeight() geaendert werden.
          +
          +
          Parameters:
          +
          x1 - x-Koordinate des 1. Punktes
          +
          y1 - y-Koordinate des 1. Punktes
          +
          x2 - x-Koordinate des 2. Punktes
          +
          y2 - y-Koordinate des 2. Punktes
          +
          +
        • +
        + + + +
          +
        • +

          rect

          +
          public void rect​(int a,
          +                 int b,
          +                 int c,
          +                 int d)
          +
          Zeichnet ein Rechteck auf das Bild. + Standardmaessig legen die ersten beiden Parameter die Position der linken oberen Ecke fest, der dritte die Breite und der vierte die Hoehe. + Die Art und Weise, wie diese Parameter interpretiert werden, kann jedoch mit der Funktion rectMode() geaendert werden. + Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          +
          +
          Parameters:
          +
          a - meist die x-Koordinate der linken oberen Ecke (kann durch rectMode() geaendert werden).
          +
          b - meist die y-Koordinate der linken oberen Ecke (kann durch rectMode() geaendert werden).
          +
          c - meist die Breite des Rechtecks (kann durch rectMode() geaendert werden).
          +
          d - meist die Hoehe des Rechtecks (kann durch rectMode() geaendert werden).
          +
          +
        • +
        + + + +
          +
        • +

          ellipse

          +
          public void ellipse​(int a,
          +                    int b,
          +                    int c,
          +                    int d)
          +
          Zeichnet eine Ellipse/Kreis auf das Bild. + Standardmaessig legen die ersten beiden Parameter die Position des Mittelpunkts fest, der dritte die Breite und der vierte die Hoehe. + Die Art und Weise, wie diese Parameter interpretiert werden, kann jedoch mit der Funktion ellipseMode() geaendert werden. + Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          +
          +
          Parameters:
          +
          a - meist die x-Koordinate des Mittelpunkts (kann durch ellipseMode() geaendert werden).
          +
          b - meist die y-Koordinate des Mittelpunkts (kann durch ellipseMode() geaendert werden).
          +
          c - meist die Breite des Rechtecks (kann durch ellipseMode() geaendert werden).
          +
          d - meist die Hoehe des Rechtecks (kann durch ellipseMode() geaendert werden).
          +
          +
        • +
        + + + +
          +
        • +

          triangle

          +
          public void triangle​(int x1,
          +                     int y1,
          +                     int x2,
          +                     int y2,
          +                     int x3,
          +                     int y3)
          +
          Zeichnet ein Dreieck auf das Bild. + Ein Dreieck ist eine Ebene, die durch die Verbindung von drei Punkten entsteht. Die ersten beiden Argumente spezifizieren den + ersten Punkt, die mittleren beiden Argumente spezifizieren den zweiten Punkt und die letzten beiden Argumente spezifizieren den dritten Punkt. + Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          +
          +
          Parameters:
          +
          x1 - meist die x-Koordinate des 1. Punkts.
          +
          y1 - meist die y-Koordinate des 1. Punkts.
          +
          x2 - meist die x-Koordinate des 2. Punkts.
          +
          y2 - meist die y-Koordinate des 2. Punkts.
          +
          x3 - meist die x-Koordinate des 3. Punkts.
          +
          y3 - meist die y-Koordinate des 3. Punkts.
          +
          +
        • +
        + + + +
          +
        • +

          quad

          +
          public void quad​(int x1,
          +                 int y1,
          +                 int x2,
          +                 int y2,
          +                 int x3,
          +                 int y3,
          +                 int x4,
          +                 int y4)
          +
          Zeichnet ein Viereck auf das Bild. + Ein Viereck ist ein vierseitiges Polygon. Es ist aehnlich wie ein Rechteck, aber die Winkel zwischen seinen Kanten + sind nicht auf neunzig Grad beschraenkt. Das erste Paar von Parametern (x1,y1) setzt den ersten Scheitelpunkt und die nachfolgenden + Paare sollten im Uhrzeigersinn oder gegen den Uhrzeigersinn um die definierte Form herum verlaufen. + Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          +
          +
          Parameters:
          +
          x1 - meist die x-Koordinate des 1. Punkts.
          +
          y1 - meist die y-Koordinate des 1. Punkts.
          +
          x2 - meist die x-Koordinate des 2. Punkts.
          +
          y2 - meist die y-Koordinate des 2. Punkts.
          +
          x3 - meist die x-Koordinate des 3. Punkts.
          +
          y3 - meist die y-Koordinate des 3. Punkts.
          +
          x4 - meist die x-Koordinate des 3. Punkts.
          +
          y4 - meist die y-Koordinate des 3. Punkts.
          +
          +
        • +
        + + + +
          +
        • +

          polygon

          +
          public void polygon​(int[] x,
          +                    int[] y)
          +
          Zeichnet ein Polygon auf das Bild. + Gleich lange Listen von x und y-Koordinaten bestimmen die Eckpunkte des Polygons. + Durch den Befehl fill() /noFill() kann die Fuellfarbe des Rechtecks gewaehlt werden, durch stroke()/noStroke() die Rahmenfarbe.
          +
          +
          Parameters:
          +
          x - Liste der x-Koordinaten der Punkte.
          +
          y - Liste der y-Koordinaten der Punkte.
          +
          +
        • +
        + + + +
          +
        • +

          point

          +
          public void point​(int x,
          +                  int y)
          +
          Zeichnet einen Punkt, d.h. einen Kreis in der Dimension eines Pixels. + Der erste Parameter ist der x-Wert fuer den Punkt, der zweite Wert ist der y-Wert fuer den Punkt.
          +
          +
          Parameters:
          +
          x - x-Koordinate des Punktes
          +
          y - y-Koordinate des Punktes
          +
          +
        • +
        + + + +
          +
        • +

          text

          +
          public void text​(String s,
          +                 int x,
          +                 int y)
          +
          Gibt einen Text an den gegebenen Koordinaten aus + Zur Ausgabe des Textes wird der ausgewaehlte Font verwendet. Dieser muss vorher mit textFont() festgelegt.
          +
          +
          Parameters:
          +
          s - Text, der angezeigt werden soll
          +
          x - x-Koordinate des Textanfangs
          +
          y - y-Koordinate der Grundlinie des Textes.
          +
          +
        • +
        + + + +
          +
        • +

          textFont

          +
          public void textFont​(Font font)
          +
          Legt die Schriftart fuer Textausgaben fest. + Jeder uebliche Java-Font kann verwendet werden. Er kann mit z.B. Font f = new Font( "Arial", Font.PLAIN, 14 ); definiert werden.
          +
          +
          Parameters:
          +
          font - ein Font-Objekt
          +
          +
        • +
        + + + +
          +
        • +

          stroke

          +
          public void stroke​(String pencolor)
          +
          Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden. + Diese Farbe wird hexadezimal in Form der RGB angegeben: z.B. "CCFFAA" oder "004E23". Die Syntax verwendet sechs Ziffern - je zwei fuer die roten, gruenen und blauen Komponenten, + um eine Farbe anzugeben (genau wie Farben typischerweise in HTML und CSS angegeben werden).
          +
          +
          Parameters:
          +
          pencolor - Stiftfarbe in Hexadezimaldarstellung
          +
          +
        • +
        + + + +
          +
        • +

          stroke

          +
          public void stroke​(int pencolor)
          +
          Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden. + Diese Farbe wird entweder als Graustufe (0-255) oder als 3-Byte RGB-Wert angegeben
          +
          +
          Parameters:
          +
          pencolor - Stiftfarbe (0-255: Graustufe zwischen 0 schwarz und 255 weiss, sonst: c wird als 3-Byte RGB-Wert interpretiert)
          +
          +
        • +
        + + + +
          +
        • +

          stroke

          +
          public void stroke​(int r,
          +                   int g,
          +                   int b)
          +
          Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden. + Diese Farbe wird komponentenweise als RGB-Wert angegeben
          +
          +
          Parameters:
          +
          r - Rotanteil (0-255) der Stiftfarbe
          +
          g - Gruenanteil (0-255) der Stiftfarbe
          +
          b - Blauanteil (0-255) der Stiftfarbe
          +
          +
        • +
        + + + +
          +
        • +

          noStroke

          +
          public void noStroke()
          +
          Legt fest, dass keine Linien oder Raender um Formen gezeichnet werden soll.
          +
        • +
        + + + +
          +
        • +

          strokeWeight

          +
          public void strokeWeight​(double width)
          +
          Legt die Breite des Strichs fuer Linien, Punkte und den Rand um Formen fest. + Alle Breiten werden in Pixeleinheiten angegeben.
          +
          +
          Parameters:
          +
          width - Breite in Pixel
          +
          +
        • +
        + + + +
          +
        • +

          fill

          +
          public void fill​(String fillcolor)
          +
          Legt die Farbe fest, mit der Formen gefuellt werden. + Diese Farbe wird hexadezimal in Form der RGB angegeben: z.B. "CCFFAA" oder "004E23". Die Syntax verwendet sechs Ziffern - je zwei fuer die roten, gruenen und blauen Komponenten, + um eine Farbe anzugeben (genau wie Farben typischerweise in HTML und CSS angegeben werden).
          +
          +
          Parameters:
          +
          fillcolor - Fuellfarbe in Hexadezimaldarstellung
          +
          +
        • +
        + + + +
          +
        • +

          fill

          +
          public void fill​(int fillcolor)
          +
          Legt die Farbe fest, mit der Formen gefuellt werden. + Diese Farbe wird entweder als Graustufe (0-255) oder als 3-Byte RGB-Wert angegeben.
          +
          +
          Parameters:
          +
          fillcolor - Fuellfarbe (0-255: Graustufe zwischen 0 schwarz und 255 weiss, sonst: c wird als 3-Byte RGB-Wert interpretiert)
          +
          +
        • +
        + + + +
          +
        • +

          fill

          +
          public void fill​(int r,
          +                 int g,
          +                 int b)
          +
          Legt die Farbe fest, mit der Formen gefuellt werden. + Diese Farbe wird komponentenweise als RGB-Wert angegeben.
          +
          +
          Parameters:
          +
          r - Rotanteil (0-255) der Fuellfarbe
          +
          g - Gruenanteil (0-255) der Fuellfarbe
          +
          b - Blauanteil (0-255) der Fuellfarbe
          +
          +
        • +
        + + + +
          +
        • +

          noFill

          +
          public void noFill()
          +
          Legt fest, dass die Formen nicht gefuellt werden sollen.
          +
        • +
        + + + +
          +
        • +

          background

          +
          public void background​(int c)
          +
          Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird. Der Standardhintergrund ist hellgrau. + Es ist nicht moeglich, den Alpha-Parameter Transparenz mit Hintergrundfarben auf der Hauptzeichnungsoberflaeche zu verwenden.
          +
          +
          Parameters:
          +
          c - Farbe fuer den Hintergrund (0-255: Graustufe zwischen 0 schwarz und 255 weiss, sonst: c wird als 3-Byte RGB-Wert interpretiert)
          +
          +
        • +
        + + + +
          +
        • +

          background

          +
          public void background​(int r,
          +                       int g,
          +                       int b)
          +
          Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird. Der Standardhintergrund ist hellgrau. + Es ist nicht moeglich, den Alpha-Parameter Transparenz mit Hintergrundfarben auf der Hauptzeichnungsoberflaeche zu verwenden.
          +
          +
          Parameters:
          +
          r - Rotanteil (0-255) der Hintergrundfarbe
          +
          g - Gruenanteil (0-255) der Hintergrundfarbe
          +
          b - Blauanteil (0-255) der Hintergrundfarbe
          +
          +
        • +
        + + + +
          +
        • +

          load

          +
          public void load​(String filename)
          +
          Laedt ein Bild aus dem Dateisystem. + Laedt ein Bild von einem Datentraeger und setzt Stiftfarbe und Fuellfarbe auf Standardwerte zurueck.
          +
          +
          Parameters:
          +
          filename - Dateiname des Bildes
          +
          +
        • +
        + + + +
          +
        • +

          save

          +
          public void save​(String filename)
          +
          Speichert ein Bild. + Speichert ein Bild auf einem Datentraeger. Zulaessig sind die Dateiformate PNG und GIF. Die Dateiendung legt den Typ fest. + Standardmaessig wird die Dateiendung .png ergaenzt, wenn keine angegeben ist.
          +
          +
          Parameters:
          +
          filename - Dateiname des Bildes
          +
          +
        • +
        + + + +
          +
        • +

          getPixelArray

          +
          public Color[][] getPixelArray()
          +
          Liefert das Bild als zweidimensionales Pixel-Array.
          +
          +
          Returns:
          +
          zweidimensionales Array von Color-Objekten, die den Pixeln des Bildes entsprechen.
          +
          +
        • +
        + + + +
          +
        • +

          setPixelArray

          +
          public void setPixelArray​(Color[][] pixel)
          +
          Setzt das Bild neu auf Basis des Pixel-Arrays. + Die Groesse des Bildes wird nicht automatisch an das Array angepasst.
          +
          +
          Parameters:
          +
          pixel - zweidimensionales Array von Color-Objekten
          +
          +
        • +
        + + + +
          +
        • +

          delay

          +
          public void delay​(int millis)
          +
          Hilfsfunktion zum Verzoegern der Ausgabe
          +
          +
          Parameters:
          +
          millis - Wartezeit in Millisekunden
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/doc/imp/PictureViewer.html b/doc/imp/PictureViewer.html index a3a91f1..d151c08 100644 --- a/doc/imp/PictureViewer.html +++ b/doc/imp/PictureViewer.html @@ -1,673 +1,673 @@ - - - - - -PictureViewer (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    Package imp
    -

    Class PictureViewer

    -
    -
    -
      -
    • java.lang.Object
    • -
    • -
        -
      • javafx.scene.Node
      • -
      • -
          -
        • javafx.scene.Parent
        • -
        • -
            -
          • javafx.scene.layout.Region
          • -
          • -
              -
            • javafx.scene.control.Control
            • -
            • -
                -
              • javafx.scene.control.ScrollPane
              • -
              • -
                  -
                • imp.PictureViewer
                • -
                -
              • -
              -
            • -
            -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
    -
      -
    • -
      -
      All Implemented Interfaces:
      -
      javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
      -
      -
      -
      Direct Known Subclasses:
      -
      GraphPlotter
      -
      -
      -
      public class PictureViewer
      -extends javafx.scene.control.ScrollPane
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Nested Class Summary

        -
          -
        • - - -

          Nested classes/interfaces inherited from class javafx.scene.control.ScrollPane

          -javafx.scene.control.ScrollPane.ScrollBarPolicy
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Field Summary

        - - - - - - - - - - - - - - - - - -
        Fields 
        Modifier and TypeFieldDescription
        static intFIT 
        static intNORMAL 
        -
          -
        • - - -

          Fields inherited from class javafx.scene.layout.Region

          -USE_COMPUTED_SIZE, USE_PREF_SIZE
        • -
        -
          -
        • - - -

          Fields inherited from class javafx.scene.Node

          -BASELINE_OFFSET_SAME_AS_HEIGHT
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Constructor Summary

        - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Constructors 
        ConstructorDescription
        PictureViewer() -
        Erzeugt ein ScrollPanel mit integriertem Bild der Größe 1000x1000
        -
        PictureViewer​(int width, - int height) -
        Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
        -
        PictureViewer​(int width, - int height, - String background) -
        Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
        -
        PictureViewer​(Picture picture) -
        Erzeugt ein ScrollPanel und zeigt das Bild-Objekt an
        -
        PictureViewer​(String filename) -
        Erzeugt ein ScrollPanel mit integriertem Bild aus einer Bilddatei
        -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Summary

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidback() -
        Ruft das letzte abgespeicherte Bild aus der History wieder auf.
        -
        PicturegetImage() -
        Liefert das angezeigte Bild
        -
        voidpushImage() -
        Speichert das übergebene Bild in der History.
        -
        voidrepaint() -
        Setzt das angezeigt Bild neu und beachtet dabei den Zoomfaktor.
        -
        voidsetImage​(Picture picture, - boolean saveOldImage) -
        Setzt das anzuzeigende Bild neu
        -
        voidsetZoom​(double factor) -
        Setzt den Zoom-Faktor für das Bild.
        -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.control.ScrollPane

          -contentProperty, createDefaultSkin, fitToHeightProperty, fitToWidthProperty, getClassCssMetaData, getContent, getControlCssMetaData, getHbarPolicy, getHmax, getHmin, getHvalue, getInitialFocusTraversable, getMinViewportHeight, getMinViewportWidth, getPrefViewportHeight, getPrefViewportWidth, getVbarPolicy, getViewportBounds, getVmax, getVmin, getVvalue, hbarPolicyProperty, hmaxProperty, hminProperty, hvalueProperty, isFitToHeight, isFitToWidth, isPannable, minViewportHeightProperty, minViewportWidthProperty, pannableProperty, prefViewportHeightProperty, prefViewportWidthProperty, queryAccessibleAttribute, setContent, setFitToHeight, setFitToWidth, setHbarPolicy, setHmax, setHmin, setHvalue, setMinViewportHeight, setMinViewportWidth, setPannable, setPrefViewportHeight, setPrefViewportWidth, setVbarPolicy, setViewportBounds, setVmax, setVmin, setVvalue, vbarPolicyProperty, viewportBoundsProperty, vmaxProperty, vminProperty, vvalueProperty
        • -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.control.Control

          -computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
        • -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.layout.Region

          -backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPositionX, snapPositionY, snapSizeX, snapSizeY, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
        • -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.Parent

          -getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
        • -
        -
          -
        • - - -

          Methods inherited from class javafx.scene.Node

          -accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
        • -
        - -
          -
        • - - -

          Methods inherited from interface javafx.css.Styleable

          -getStyleableNode
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
      -
    • - -
      - -
      - -
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          PictureViewer

          -
          public PictureViewer()
          -
          Erzeugt ein ScrollPanel mit integriertem Bild der Größe 1000x1000
          -
        • -
        - - - -
          -
        • -

          PictureViewer

          -
          public PictureViewer​(int width,
          -                     int height)
          -
          Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
          -
          -
          Parameters:
          -
          width - Breite des Bildes
          -
          height - Höhe des Bildes
          -
          -
        • -
        - - - -
          -
        • -

          PictureViewer

          -
          public PictureViewer​(int width,
          -                     int height,
          -                     String background)
          -
          Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
          -
          -
          Parameters:
          -
          width - Breite des Bildes
          -
          height - Höhe des Bildes
          -
          background - Farbe des Hintergrunds als HEX-String (z.B. "FF3A45")
          -
          -
        • -
        - - - -
          -
        • -

          PictureViewer

          -
          public PictureViewer​(String filename)
          -
          Erzeugt ein ScrollPanel mit integriertem Bild aus einer Bilddatei
          -
          -
          Parameters:
          -
          filename - Name des Bildes
          -
          -
        • -
        - - - -
          -
        • -

          PictureViewer

          -
          public PictureViewer​(Picture picture)
          -
          Erzeugt ein ScrollPanel und zeigt das Bild-Objekt an
          -
          -
          Parameters:
          -
          picture - anzuzeigendes Bild
          -
          -
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          setImage

          -
          public void setImage​(Picture picture,
          -                     boolean saveOldImage)
          -
          Setzt das anzuzeigende Bild neu
          -
          -
          Parameters:
          -
          picture - anzuzeigendes Bild
          -
          saveOldImage - soll das aktuelle Bild in der Historie gespeichert werden
          -
          -
        • -
        - - - -
          -
        • -

          getImage

          -
          public Picture getImage()
          -
          Liefert das angezeigte Bild
          -
          -
          Returns:
          -
          angezeigtes Bild
          -
          -
        • -
        - - - -
          -
        • -

          pushImage

          -
          public void pushImage()
          -
          Speichert das übergebene Bild in der History.
          -
          -
          Parameters:
          -
          b - zu speicherndes Bild
          -
          -
        • -
        - - - -
          -
        • -

          back

          -
          public void back()
          -
          Ruft das letzte abgespeicherte Bild aus der History wieder auf.
          -
        • -
        - - - -
          -
        • -

          repaint

          -
          public void repaint()
          -
          Setzt das angezeigt Bild neu und beachtet dabei den Zoomfaktor.
          -
        • -
        - - - -
          -
        • -

          setZoom

          -
          public void setZoom​(double factor)
          -
          Setzt den Zoom-Faktor für das Bild. - Als Zoomfaktor sind auch die Konstanten Bildanzeiger.FIT (auf Bildschirmgröße zoomen) und Bildanzeiger.NORMAL (100%) möglich.
          -
          -
          Parameters:
          -
          factor - Zoomfaktor (1.0 = 100%).
          -
          -
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
    - - - - + + + + + +PictureViewer (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package imp
    +

    Class PictureViewer

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • javafx.scene.Node
      • +
      • +
          +
        • javafx.scene.Parent
        • +
        • +
            +
          • javafx.scene.layout.Region
          • +
          • +
              +
            • javafx.scene.control.Control
            • +
            • +
                +
              • javafx.scene.control.ScrollPane
              • +
              • +
                  +
                • imp.PictureViewer
                • +
                +
              • +
              +
            • +
            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
      +
      +
      +
      Direct Known Subclasses:
      +
      GraphPlotter
      +
      +
      +
      public class PictureViewer
      +extends javafx.scene.control.ScrollPane
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from class javafx.scene.control.ScrollPane

          +javafx.scene.control.ScrollPane.ScrollBarPolicy
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        static intFIT 
        static intNORMAL 
        +
          +
        • + + +

          Fields inherited from class javafx.scene.layout.Region

          +USE_COMPUTED_SIZE, USE_PREF_SIZE
        • +
        +
          +
        • + + +

          Fields inherited from class javafx.scene.Node

          +BASELINE_OFFSET_SAME_AS_HEIGHT
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        PictureViewer() +
        Erzeugt ein ScrollPanel mit integriertem Bild der Größe 1000x1000
        +
        PictureViewer​(int width, + int height) +
        Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
        +
        PictureViewer​(int width, + int height, + String background) +
        Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
        +
        PictureViewer​(Picture picture) +
        Erzeugt ein ScrollPanel und zeigt das Bild-Objekt an
        +
        PictureViewer​(String filename) +
        Erzeugt ein ScrollPanel mit integriertem Bild aus einer Bilddatei
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidback() +
        Ruft das letzte abgespeicherte Bild aus der History wieder auf.
        +
        PicturegetImage() +
        Liefert das angezeigte Bild
        +
        voidpushImage() +
        Speichert das übergebene Bild in der History.
        +
        voidrepaint() +
        Setzt das angezeigt Bild neu und beachtet dabei den Zoomfaktor.
        +
        voidsetImage​(Picture picture, + boolean saveOldImage) +
        Setzt das anzuzeigende Bild neu
        +
        voidsetZoom​(double factor) +
        Setzt den Zoom-Faktor für das Bild.
        +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.control.ScrollPane

          +contentProperty, createDefaultSkin, fitToHeightProperty, fitToWidthProperty, getClassCssMetaData, getContent, getControlCssMetaData, getHbarPolicy, getHmax, getHmin, getHvalue, getInitialFocusTraversable, getMinViewportHeight, getMinViewportWidth, getPrefViewportHeight, getPrefViewportWidth, getVbarPolicy, getViewportBounds, getVmax, getVmin, getVvalue, hbarPolicyProperty, hmaxProperty, hminProperty, hvalueProperty, isFitToHeight, isFitToWidth, isPannable, minViewportHeightProperty, minViewportWidthProperty, pannableProperty, prefViewportHeightProperty, prefViewportWidthProperty, queryAccessibleAttribute, setContent, setFitToHeight, setFitToWidth, setHbarPolicy, setHmax, setHmin, setHvalue, setMinViewportHeight, setMinViewportWidth, setPannable, setPrefViewportHeight, setPrefViewportWidth, setVbarPolicy, setViewportBounds, setVmax, setVmin, setVvalue, vbarPolicyProperty, viewportBoundsProperty, vmaxProperty, vminProperty, vvalueProperty
        • +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.control.Control

          +computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
        • +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.layout.Region

          +backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPositionX, snapPositionY, snapSizeX, snapSizeY, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
        • +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.Parent

          +getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
        • +
        +
          +
        • + + +

          Methods inherited from class javafx.scene.Node

          +accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
        • +
        + +
          +
        • + + +

          Methods inherited from interface javafx.css.Styleable

          +getStyleableNode
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PictureViewer

          +
          public PictureViewer()
          +
          Erzeugt ein ScrollPanel mit integriertem Bild der Größe 1000x1000
          +
        • +
        + + + +
          +
        • +

          PictureViewer

          +
          public PictureViewer​(int width,
          +                     int height)
          +
          Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
          +
          +
          Parameters:
          +
          width - Breite des Bildes
          +
          height - Höhe des Bildes
          +
          +
        • +
        + + + +
          +
        • +

          PictureViewer

          +
          public PictureViewer​(int width,
          +                     int height,
          +                     String background)
          +
          Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
          +
          +
          Parameters:
          +
          width - Breite des Bildes
          +
          height - Höhe des Bildes
          +
          background - Farbe des Hintergrunds als HEX-String (z.B. "FF3A45")
          +
          +
        • +
        + + + +
          +
        • +

          PictureViewer

          +
          public PictureViewer​(String filename)
          +
          Erzeugt ein ScrollPanel mit integriertem Bild aus einer Bilddatei
          +
          +
          Parameters:
          +
          filename - Name des Bildes
          +
          +
        • +
        + + + +
          +
        • +

          PictureViewer

          +
          public PictureViewer​(Picture picture)
          +
          Erzeugt ein ScrollPanel und zeigt das Bild-Objekt an
          +
          +
          Parameters:
          +
          picture - anzuzeigendes Bild
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setImage

          +
          public void setImage​(Picture picture,
          +                     boolean saveOldImage)
          +
          Setzt das anzuzeigende Bild neu
          +
          +
          Parameters:
          +
          picture - anzuzeigendes Bild
          +
          saveOldImage - soll das aktuelle Bild in der Historie gespeichert werden
          +
          +
        • +
        + + + +
          +
        • +

          getImage

          +
          public Picture getImage()
          +
          Liefert das angezeigte Bild
          +
          +
          Returns:
          +
          angezeigtes Bild
          +
          +
        • +
        + + + +
          +
        • +

          pushImage

          +
          public void pushImage()
          +
          Speichert das übergebene Bild in der History.
          +
          +
          Parameters:
          +
          b - zu speicherndes Bild
          +
          +
        • +
        + + + +
          +
        • +

          back

          +
          public void back()
          +
          Ruft das letzte abgespeicherte Bild aus der History wieder auf.
          +
        • +
        + + + +
          +
        • +

          repaint

          +
          public void repaint()
          +
          Setzt das angezeigt Bild neu und beachtet dabei den Zoomfaktor.
          +
        • +
        + + + +
          +
        • +

          setZoom

          +
          public void setZoom​(double factor)
          +
          Setzt den Zoom-Faktor für das Bild. + Als Zoomfaktor sind auch die Konstanten Bildanzeiger.FIT (auf Bildschirmgröße zoomen) und Bildanzeiger.NORMAL (100%) möglich.
          +
          +
          Parameters:
          +
          factor - Zoomfaktor (1.0 = 100%).
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/doc/imp/Table.html b/doc/imp/Table.html index c68e9cf..2cf13d8 100644 --- a/doc/imp/Table.html +++ b/doc/imp/Table.html @@ -1,1569 +1,1569 @@ - - - - - -Table (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    Package imp
    -

    Class Table

    -
    -
    - -
    -
      -
    • -
      -
      public class Table
      -extends Object
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Constructor Summary

        - - - - - - - - - - - - - - - - - - - - - - -
        Constructors 
        ConstructorDescription
        Table() -
        Erzeugt leeres Tabellen-Dokument.
        -
        Table​(String filename) -
        Erzeugt Tabellen-Dokument aus einer CSV-Datei.
        -
        Table​(String filename, - String options) -
        Erzeugt Tabellen-Dokument aus einer CSV-Datei.
        -
        Table​(String filename, - String options, - char separator, - char quote) -
        Erzeugt Tabellen-Dokument aus einer CSV-Datei.
        -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Summary

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidaddColumn() -
        Fügt eine neue Spalte am Ende der Tabelle an.
        -
        voidaddColumn​(String title) -
        Fügt eine neue Spalte am Ende der Tabelle an und benennt sie.
        -
        voidaddColumn​(String title, - String type) -
        Fügt eine neue Spalte am Ende der Tabelle an und benennt und typisiert sie.
        -
        TableRowaddRow() -
        Fügt eine neue Zeile an das Ende der Tabelle an.
        -
        voidclearRows() -
        Löscht alle Zeilen der Tabelle.
        -
        TableRowfindRow​(String value, - int column) -
        Sucht nach einem bestimmtem Wert in einer Zeile.
        -
        TableRowfindRow​(String value, - String name) -
        Sucht nach einem bestimmtem Wert in einer Zeile.
        -
        intgetColumnCount() -
        Liefert die Anzahl der Spalten in der Tabelle
        -
        doublegetDouble​(int row, - int column) -
        Liefert den Wert einer Zelle als Double-Zahl
        -
        doublegetDouble​(int row, - String name) -
        Liefert den Wert einer Zelle als Double-Zahl
        -
        double[]getDoubleColumn​(int column) -
        Liefert alle Werte einer Spalte als Double-Array.
        -
        double[]getDoubleColumn​(String name) -
        Liefert alle Werte einer Spalte als Double-Array.
        -
        double[]getDoubleRow​(int row) -
        Liefert alle Werte einer Spalte als Double-Array.
        -
        floatgetFloat​(int row, - int column) -
        Liefert den Wert einer Zelle als Float-Zahl
        -
        floatgetFloat​(int row, - String name) -
        Liefert den Wert einer Zelle als Float-Zahl
        -
        float[]getFloatColumn​(int column) -
        Liefert alle Werte einer Spalte als Float-Array.
        -
        float[]getFloatColumn​(String name) -
        Liefert alle Werte einer Spalte als Float-Array.
        -
        float[]getFloatRow​(int row) -
        Liefert alle Werte einer Zeile als Float-Array.
        -
        intgetInt​(int row, - int column) -
        Liefert den Wert einer Zelle als Integer-Zahl
        -
        intgetInt​(int row, - String name) -
        Liefert den Wert einer Zelle als Integer-Zahl
        -
        int[]getIntColumn​(int column) -
        Liefert alle Werte einer Spalte als Integer-Array.
        -
        int[]getIntColumn​(String name) -
        Liefert alle Werte einer Spalte als Integer-Array.
        -
        int[]getIntRow​(int row) -
        Liefert alle Werte einer Zeile als Integer-Array.
        -
        TableRowgetRow​(int i) -
        Liefert eine Zeile der Tabelle
        -
        intgetRowCount() -
        Liefert die Anzahl der Zeilen in der Tabelle
        -
        StringgetString​(int row, - int column) -
        Liefert den Wert einer Zelle als String
        -
        StringgetString​(int row, - String name) -
        Liefert den Wert einer Zelle als String
        -
        String[]getStringColumn​(int column) -
        Liefert alle Werte einer Spalte als String-Array.
        -
        String[]getStringColumn​(String name) -
        Liefert alle Werte einer Spalte als String-Array.
        -
        String[]getStringRow​(int row) -
        Liefert alle Werte einer Spalte als String-Array.
        -
        voidloadCSV​(String filename) -
        Liest den Inhalt einer CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
        -
        voidloadCSV​(String filename, - String options) -
        Liest den Inhalt einer CSV-Datei (Separator = ';', Kennung für Text = '"').
        -
        voidloadCSV​(String filename, - String options, - char separator, - char quote) -
        Liest den Inhalt einer CSV-Datei.
        -
        voidremoveColumn​(int i) -
        Löscht eine Spalte.
        -
        voidremoveColumn​(String name) -
        Löscht eine Spalte
        -
        voidremoveRow​(int i) -
        Löscht eine Zeile
        -
        TableRow[]rows() -
        Liefert die ganze Tabelle als Array von TableRow-Objekten
        -
        voidsaveCSV​(String filename) -
        Speichert das aktuelle Dokument als CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
        -
        voidsaveCSV​(String filename, - String options) -
        Speichert das aktuelle Dokument als CSV-Datei (Separator = ';', Kennung für Text = '"').
        -
        voidsaveCSV​(String filename, - String options, - char separator, - char quote) -
        Speichert das aktuelle Dokument als CSV-Datei.
        -
        voidsaveXML​(String filename) -
        Speichert die Tabelle als XML-Dokument.
        -
        voidsetDouble​(int row, - int column, - double value) -
        Setzt den Wert einer Zelle als Double-Zahl
        -
        voidsetDouble​(int row, - String name, - double value) -
        Setzt den Wert einer Zelle als Double-Zahl
        -
        voidsetFloat​(int row, - int column, - float value) -
        Setzt den Wert einer Zelle als Float-Zahl
        -
        voidsetFloat​(int row, - String name, - float value) -
        Setzt den Wert einer Zelle als Float-Zahl
        -
        voidsetInt​(int row, - int column, - int value) -
        Setzt den Wert einer Zelle als Integer-Zahl
        -
        voidsetInt​(int row, - String name, - int value) -
        Setzt den Wert einer Zelle als Integer-Zahl
        -
        voidsetString​(int row, - int column, - String text) -
        Setzt den Wert einer Zelle als String
        -
        voidsetString​(int row, - String name, - String text) -
        Setzt den Wert einer Zelle als String
        -
        voidtrim() -
        Kürzt alle Einträge der Tabelle um unnötige Leerzeichen am Anfang oder Ende
        -
        - -
      • -
      -
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          Table

          -
          public Table()
          -
          Erzeugt leeres Tabellen-Dokument.
          -
        • -
        - - - -
          -
        • -

          Table

          -
          public Table​(String filename,
          -             String options,
          -             char separator,
          -             char quote)
          -
          Erzeugt Tabellen-Dokument aus einer CSV-Datei. - Liest den Inhalt einer Datei und erstellt ein Tabellenobjekt mit seinen Werten. - Wenn die Datei eine Kopfzeile enthält, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile hat, - dann lassen Sie einfach die Option "header" weg.
          -
          -
          Parameters:
          -
          filename - Dateiname der CSV-Datei.
          -
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile enthält.
          -
          separator - Trennzeichen für Spalten (meist ';' oder ',' oder '\t' für Tab)
          -
          quote - Kennung für Texte (meist '"').
          -
          -
        • -
        - - - -
          -
        • -

          Table

          -
          public Table​(String filename,
          -             String options)
          -
          Erzeugt Tabellen-Dokument aus einer CSV-Datei. - Liest den Inhalt einer Datei und erstellt ein Tabellenobjekt mit seinen Werten (Separator = ';', Kennung für Text = '"'). - Wenn die Datei eine Kopfzeile enthält, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile hat, - dann lassen Sie einfach die Option "header" weg.
          -
          -
          Parameters:
          -
          filename - Dateiname der CSV-Datei.
          -
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile enthält.
          -
          -
        • -
        - - - -
          -
        • -

          Table

          -
          public Table​(String filename)
          -
          Erzeugt Tabellen-Dokument aus einer CSV-Datei. - Liest den Inhalt einer Datei ohne Kopfzeile und erstellt ein Tabellenobjekt mit seinen Werten (Separator = ';', Kennung für Text = '"').
          -
          -
          Parameters:
          -
          filename - Dateiname der CSV-Datei.
          -
          -
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          loadCSV

          -
          public void loadCSV​(String filename)
          -
          Liest den Inhalt einer CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
          -
          -
          Parameters:
          -
          filename - Dateiname der CSV-Datei.
          -
          -
        • -
        - - - -
          -
        • -

          loadCSV

          -
          public void loadCSV​(String filename,
          -                    String options)
          -
          Liest den Inhalt einer CSV-Datei (Separator = ';', Kennung für Text = '"'). - Wenn die Datei eine Kopfzeile enthält, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile hat, - dann lassen Sie einfach die Option "header" weg.
          -
          -
          Parameters:
          -
          filename - Dateiname der CSV-Datei.
          -
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile enthält.
          -
          -
        • -
        - - - -
          -
        • -

          loadCSV

          -
          public void loadCSV​(String filename,
          -                    String options,
          -                    char separator,
          -                    char quote)
          -
          Liest den Inhalt einer CSV-Datei. - Wenn die Datei eine Kopfzeile enthält, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile hat, - dann lassen Sie einfach die Option "header" weg.
          -
          -
          Parameters:
          -
          filename - Dateiname der CSV-Datei.
          -
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile enthält.
          -
          separator - Trennzeichen für Spalten (meist ';' oder ',' oder '\t' für Tab)
          -
          quote - Kennung für Texte (meist '"').
          -
          -
        • -
        - - - -
          -
        • -

          saveCSV

          -
          public void saveCSV​(String filename)
          -
          Speichert das aktuelle Dokument als CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
          -
          -
          Parameters:
          -
          filename - Dateiname der CSV-Datei.
          -
          -
        • -
        - - - -
          -
        • -

          saveCSV

          -
          public void saveCSV​(String filename,
          -                    String options)
          -
          Speichert das aktuelle Dokument als CSV-Datei (Separator = ';', Kennung für Text = '"'). - Wenn die Datei eine Kopfzeile enthalten, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile haben soll, - dann lassen Sie einfach die Option "header" weg.
          -
          -
          Parameters:
          -
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile haben soll.
          -
          filename - Dateiname der CSV-Datei.
          -
          -
        • -
        - - - -
          -
        • -

          saveCSV

          -
          public void saveCSV​(String filename,
          -                    String options,
          -                    char separator,
          -                    char quote)
          -
          Speichert das aktuelle Dokument als CSV-Datei. - Wenn die Datei eine Kopfzeile enthalten, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile haben soll, - dann lassen Sie einfach die Option "header" weg.
          -
          -
          Parameters:
          -
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile haben soll.
          -
          filename - Dateiname der CSV-Datei.
          -
          separator - Trennzeichen für Spalten (meist ';' oder ',' oder '\t' für Tab)
          -
          quote - Kennung für Texte (meist '"').
          -
          -
        • -
        - - - -
          -
        • -

          saveXML

          -
          public void saveXML​(String filename)
          -
          Speichert die Tabelle als XML-Dokument.
          -
          -
          Parameters:
          -
          filename - Dateiname des XML-Files
          -
          -
        • -
        - - - -
          -
        • -

          addColumn

          -
          public void addColumn()
          -
          Fügt eine neue Spalte am Ende der Tabelle an.
          -
        • -
        - - - -
          -
        • -

          addColumn

          -
          public void addColumn​(String title)
          -
          Fügt eine neue Spalte am Ende der Tabelle an und benennt sie.
          -
          -
          Parameters:
          -
          title - Bezeichnung der Spalte
          -
          -
        • -
        - - - -
          -
        • -

          addColumn

          -
          public void addColumn​(String title,
          -                      String type)
          -
          Fügt eine neue Spalte am Ende der Tabelle an und benennt und typisiert sie.
          -
          -
          Parameters:
          -
          title - Bezeichnung der Spalte
          -
          type - Typ der Spalte (UNKNOWN, DOUBLE, INTEGER, FLOAT)
          -
          -
        • -
        - - - -
          -
        • -

          removeColumn

          -
          public void removeColumn​(int i)
          -
          Löscht eine Spalte.
          -
          -
          Parameters:
          -
          i - Nummer der Spalte.
          -
          -
        • -
        - - - -
          -
        • -

          removeColumn

          -
          public void removeColumn​(String name)
          -
          Löscht eine Spalte
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          -
        • -
        - - - -
          -
        • -

          getColumnCount

          -
          public int getColumnCount()
          -
          Liefert die Anzahl der Spalten in der Tabelle
          -
          -
          Returns:
          -
          Anzahl der Spalten
          -
          -
        • -
        - - - -
          -
        • -

          getRowCount

          -
          public int getRowCount()
          -
          Liefert die Anzahl der Zeilen in der Tabelle
          -
          -
          Returns:
          -
          Anzahl der Zeilen
          -
          -
        • -
        - - - -
          -
        • -

          clearRows

          -
          public void clearRows()
          -
          Löscht alle Zeilen der Tabelle. - Die Spaltenüberschriften und Typen bleiben erhalten.
          -
        • -
        - - - -
          -
        • -

          addRow

          -
          public TableRow addRow()
          -
          Fügt eine neue Zeile an das Ende der Tabelle an.
          -
          -
          Returns:
          -
          ein TableRow-Objekt für diese neue Zeile
          -
          -
        • -
        - - - -
          -
        • -

          removeRow

          -
          public void removeRow​(int i)
          -
          Löscht eine Zeile
          -
          -
          Parameters:
          -
          i - Nummer der Zeile
          -
          -
        • -
        - - - -
          -
        • -

          getRow

          -
          public TableRow getRow​(int i)
          -
          Liefert eine Zeile der Tabelle
          -
          -
          Parameters:
          -
          i - Nummer der Zeile
          -
          Returns:
          -
          TableRow-Objekt für diese Zeile
          -
          -
        • -
        - - - -
          -
        • -

          rows

          -
          public TableRow[] rows()
          -
          Liefert die ganze Tabelle als Array von TableRow-Objekten
          -
          -
          Returns:
          -
          Array von TableRow-Objekten
          -
          -
        • -
        - - - -
          -
        • -

          getInt

          -
          public int getInt​(int row,
          -                  int column)
          -
          Liefert den Wert einer Zelle als Integer-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          column - Spaltennummer
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getInt

          -
          public int getInt​(int row,
          -                  String name)
          -
          Liefert den Wert einer Zelle als Integer-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          name - Name der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setInt

          -
          public void setInt​(int row,
          -                   int column,
          -                   int value)
          -
          Setzt den Wert einer Zelle als Integer-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          column - Spaltennummer
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setInt

          -
          public void setInt​(int row,
          -                   String name,
          -                   int value)
          -
          Setzt den Wert einer Zelle als Integer-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          name - Name der Spalte
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getIntRow

          -
          public int[] getIntRow​(int row)
          -
          Liefert alle Werte einer Zeile als Integer-Array.
          -
          -
          Parameters:
          -
          row - Nummer der Zeile
          -
          Returns:
          -
          int-Array, dass alle Werte der Zeile enthält
          -
          -
        • -
        - - - -
          -
        • -

          getIntColumn

          -
          public int[] getIntColumn​(int column)
          -
          Liefert alle Werte einer Spalte als Integer-Array.
          -
          -
          Parameters:
          -
          column - Nummer der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          getIntColumn

          -
          public int[] getIntColumn​(String name)
          -
          Liefert alle Werte einer Spalte als Integer-Array.
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          getFloat

          -
          public float getFloat​(int row,
          -                      int column)
          -
          Liefert den Wert einer Zelle als Float-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          column - Spaltennummer
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getFloat

          -
          public float getFloat​(int row,
          -                      String name)
          -
          Liefert den Wert einer Zelle als Float-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          name - Name der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setFloat

          -
          public void setFloat​(int row,
          -                     int column,
          -                     float value)
          -
          Setzt den Wert einer Zelle als Float-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          column - Spaltennummer
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setFloat

          -
          public void setFloat​(int row,
          -                     String name,
          -                     float value)
          -
          Setzt den Wert einer Zelle als Float-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          name - Name der Spalte
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getFloatRow

          -
          public float[] getFloatRow​(int row)
          -
          Liefert alle Werte einer Zeile als Float-Array.
          -
          -
          Parameters:
          -
          row - Nummer der Zeile
          -
          Returns:
          -
          int-Array, dass alle Werte der Zeile enthält
          -
          -
        • -
        - - - -
          -
        • -

          getFloatColumn

          -
          public float[] getFloatColumn​(int column)
          -
          Liefert alle Werte einer Spalte als Float-Array.
          -
          -
          Parameters:
          -
          column - Nummer der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          getFloatColumn

          -
          public float[] getFloatColumn​(String name)
          -
          Liefert alle Werte einer Spalte als Float-Array.
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          getDouble

          -
          public double getDouble​(int row,
          -                        int column)
          -
          Liefert den Wert einer Zelle als Double-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          column - Spaltennummer
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getDouble

          -
          public double getDouble​(int row,
          -                        String name)
          -
          Liefert den Wert einer Zelle als Double-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          name - Name der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setDouble

          -
          public void setDouble​(int row,
          -                      int column,
          -                      double value)
          -
          Setzt den Wert einer Zelle als Double-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          column - Spaltennummer
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setDouble

          -
          public void setDouble​(int row,
          -                      String name,
          -                      double value)
          -
          Setzt den Wert einer Zelle als Double-Zahl
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          name - Name der Spalte
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getDoubleRow

          -
          public double[] getDoubleRow​(int row)
          -
          Liefert alle Werte einer Spalte als Double-Array.
          -
          -
          Parameters:
          -
          row - Nummer der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          getDoubleColumn

          -
          public double[] getDoubleColumn​(int column)
          -
          Liefert alle Werte einer Spalte als Double-Array.
          -
          -
          Parameters:
          -
          column - Nummer der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          getDoubleColumn

          -
          public double[] getDoubleColumn​(String name)
          -
          Liefert alle Werte einer Spalte als Double-Array.
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          getString

          -
          public String getString​(int row,
          -                        int column)
          -
          Liefert den Wert einer Zelle als String
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          column - Spaltennummer
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getString

          -
          public String getString​(int row,
          -                        String name)
          -
          Liefert den Wert einer Zelle als String
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          name - Name der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setString

          -
          public void setString​(int row,
          -                      int column,
          -                      String text)
          -
          Setzt den Wert einer Zelle als String
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          column - Spaltennummer
          -
          text - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setString

          -
          public void setString​(int row,
          -                      String name,
          -                      String text)
          -
          Setzt den Wert einer Zelle als String
          -
          -
          Parameters:
          -
          row - Zeilennummer
          -
          name - Name der Spalte
          -
          text - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getStringRow

          -
          public String[] getStringRow​(int row)
          -
          Liefert alle Werte einer Spalte als String-Array.
          -
          -
          Parameters:
          -
          row - Nummer der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          getStringColumn

          -
          public String[] getStringColumn​(int column)
          -
          Liefert alle Werte einer Spalte als String-Array.
          -
          -
          Parameters:
          -
          column - Nummer der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          getStringColumn

          -
          public String[] getStringColumn​(String name)
          -
          Liefert alle Werte einer Spalte als String-Array.
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          Returns:
          -
          int-Array, dass alle Werte der Spalte enthält
          -
          -
        • -
        - - - -
          -
        • -

          findRow

          -
          public TableRow findRow​(String value,
          -                        int column)
          -
          Sucht nach einem bestimmtem Wert in einer Zeile.
          -
          -
          Parameters:
          -
          value - Wert der gesucht werden soll
          -
          column - Nummer der Spalte, die durchsucht werden soll
          -
          Returns:
          -
          TableRow-Objekt der Zeile, wenn der Wert gefunden wurde, sonst null
          -
          -
        • -
        - - - -
          -
        • -

          findRow

          -
          public TableRow findRow​(String value,
          -                        String name)
          -
          Sucht nach einem bestimmtem Wert in einer Zeile.
          -
          -
          Parameters:
          -
          value - Wert der gesucht werden soll
          -
          name - Name der Spalte, die durchsucht werden soll
          -
          Returns:
          -
          TableRow-Objekt der Zeile, wenn der Wert gefunden wurde, sonst null
          -
          -
        • -
        - - - -
          -
        • -

          trim

          -
          public void trim()
          -
          Kürzt alle Einträge der Tabelle um unnötige Leerzeichen am Anfang oder Ende
          -
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
    - -
    - -
    - - + + + + + +Table (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package imp
    +

    Class Table

    +
    +
    + +
    +
      +
    • +
      +
      public class Table
      +extends Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Table() +
        Erzeugt leeres Tabellen-Dokument.
        +
        Table​(String filename) +
        Erzeugt Tabellen-Dokument aus einer CSV-Datei.
        +
        Table​(String filename, + String options) +
        Erzeugt Tabellen-Dokument aus einer CSV-Datei.
        +
        Table​(String filename, + String options, + char separator, + char quote) +
        Erzeugt Tabellen-Dokument aus einer CSV-Datei.
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidaddColumn() +
        Fügt eine neue Spalte am Ende der Tabelle an.
        +
        voidaddColumn​(String title) +
        Fügt eine neue Spalte am Ende der Tabelle an und benennt sie.
        +
        voidaddColumn​(String title, + String type) +
        Fügt eine neue Spalte am Ende der Tabelle an und benennt und typisiert sie.
        +
        TableRowaddRow() +
        Fügt eine neue Zeile an das Ende der Tabelle an.
        +
        voidclearRows() +
        Löscht alle Zeilen der Tabelle.
        +
        TableRowfindRow​(String value, + int column) +
        Sucht nach einem bestimmtem Wert in einer Zeile.
        +
        TableRowfindRow​(String value, + String name) +
        Sucht nach einem bestimmtem Wert in einer Zeile.
        +
        intgetColumnCount() +
        Liefert die Anzahl der Spalten in der Tabelle
        +
        doublegetDouble​(int row, + int column) +
        Liefert den Wert einer Zelle als Double-Zahl
        +
        doublegetDouble​(int row, + String name) +
        Liefert den Wert einer Zelle als Double-Zahl
        +
        double[]getDoubleColumn​(int column) +
        Liefert alle Werte einer Spalte als Double-Array.
        +
        double[]getDoubleColumn​(String name) +
        Liefert alle Werte einer Spalte als Double-Array.
        +
        double[]getDoubleRow​(int row) +
        Liefert alle Werte einer Spalte als Double-Array.
        +
        floatgetFloat​(int row, + int column) +
        Liefert den Wert einer Zelle als Float-Zahl
        +
        floatgetFloat​(int row, + String name) +
        Liefert den Wert einer Zelle als Float-Zahl
        +
        float[]getFloatColumn​(int column) +
        Liefert alle Werte einer Spalte als Float-Array.
        +
        float[]getFloatColumn​(String name) +
        Liefert alle Werte einer Spalte als Float-Array.
        +
        float[]getFloatRow​(int row) +
        Liefert alle Werte einer Zeile als Float-Array.
        +
        intgetInt​(int row, + int column) +
        Liefert den Wert einer Zelle als Integer-Zahl
        +
        intgetInt​(int row, + String name) +
        Liefert den Wert einer Zelle als Integer-Zahl
        +
        int[]getIntColumn​(int column) +
        Liefert alle Werte einer Spalte als Integer-Array.
        +
        int[]getIntColumn​(String name) +
        Liefert alle Werte einer Spalte als Integer-Array.
        +
        int[]getIntRow​(int row) +
        Liefert alle Werte einer Zeile als Integer-Array.
        +
        TableRowgetRow​(int i) +
        Liefert eine Zeile der Tabelle
        +
        intgetRowCount() +
        Liefert die Anzahl der Zeilen in der Tabelle
        +
        StringgetString​(int row, + int column) +
        Liefert den Wert einer Zelle als String
        +
        StringgetString​(int row, + String name) +
        Liefert den Wert einer Zelle als String
        +
        String[]getStringColumn​(int column) +
        Liefert alle Werte einer Spalte als String-Array.
        +
        String[]getStringColumn​(String name) +
        Liefert alle Werte einer Spalte als String-Array.
        +
        String[]getStringRow​(int row) +
        Liefert alle Werte einer Spalte als String-Array.
        +
        voidloadCSV​(String filename) +
        Liest den Inhalt einer CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
        +
        voidloadCSV​(String filename, + String options) +
        Liest den Inhalt einer CSV-Datei (Separator = ';', Kennung für Text = '"').
        +
        voidloadCSV​(String filename, + String options, + char separator, + char quote) +
        Liest den Inhalt einer CSV-Datei.
        +
        voidremoveColumn​(int i) +
        Löscht eine Spalte.
        +
        voidremoveColumn​(String name) +
        Löscht eine Spalte
        +
        voidremoveRow​(int i) +
        Löscht eine Zeile
        +
        TableRow[]rows() +
        Liefert die ganze Tabelle als Array von TableRow-Objekten
        +
        voidsaveCSV​(String filename) +
        Speichert das aktuelle Dokument als CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
        +
        voidsaveCSV​(String filename, + String options) +
        Speichert das aktuelle Dokument als CSV-Datei (Separator = ';', Kennung für Text = '"').
        +
        voidsaveCSV​(String filename, + String options, + char separator, + char quote) +
        Speichert das aktuelle Dokument als CSV-Datei.
        +
        voidsaveXML​(String filename) +
        Speichert die Tabelle als XML-Dokument.
        +
        voidsetDouble​(int row, + int column, + double value) +
        Setzt den Wert einer Zelle als Double-Zahl
        +
        voidsetDouble​(int row, + String name, + double value) +
        Setzt den Wert einer Zelle als Double-Zahl
        +
        voidsetFloat​(int row, + int column, + float value) +
        Setzt den Wert einer Zelle als Float-Zahl
        +
        voidsetFloat​(int row, + String name, + float value) +
        Setzt den Wert einer Zelle als Float-Zahl
        +
        voidsetInt​(int row, + int column, + int value) +
        Setzt den Wert einer Zelle als Integer-Zahl
        +
        voidsetInt​(int row, + String name, + int value) +
        Setzt den Wert einer Zelle als Integer-Zahl
        +
        voidsetString​(int row, + int column, + String text) +
        Setzt den Wert einer Zelle als String
        +
        voidsetString​(int row, + String name, + String text) +
        Setzt den Wert einer Zelle als String
        +
        voidtrim() +
        Kürzt alle Einträge der Tabelle um unnötige Leerzeichen am Anfang oder Ende
        +
        + +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Table

          +
          public Table()
          +
          Erzeugt leeres Tabellen-Dokument.
          +
        • +
        + + + +
          +
        • +

          Table

          +
          public Table​(String filename,
          +             String options,
          +             char separator,
          +             char quote)
          +
          Erzeugt Tabellen-Dokument aus einer CSV-Datei. + Liest den Inhalt einer Datei und erstellt ein Tabellenobjekt mit seinen Werten. + Wenn die Datei eine Kopfzeile enthält, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile hat, + dann lassen Sie einfach die Option "header" weg.
          +
          +
          Parameters:
          +
          filename - Dateiname der CSV-Datei.
          +
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile enthält.
          +
          separator - Trennzeichen für Spalten (meist ';' oder ',' oder '\t' für Tab)
          +
          quote - Kennung für Texte (meist '"').
          +
          +
        • +
        + + + +
          +
        • +

          Table

          +
          public Table​(String filename,
          +             String options)
          +
          Erzeugt Tabellen-Dokument aus einer CSV-Datei. + Liest den Inhalt einer Datei und erstellt ein Tabellenobjekt mit seinen Werten (Separator = ';', Kennung für Text = '"'). + Wenn die Datei eine Kopfzeile enthält, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile hat, + dann lassen Sie einfach die Option "header" weg.
          +
          +
          Parameters:
          +
          filename - Dateiname der CSV-Datei.
          +
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile enthält.
          +
          +
        • +
        + + + +
          +
        • +

          Table

          +
          public Table​(String filename)
          +
          Erzeugt Tabellen-Dokument aus einer CSV-Datei. + Liest den Inhalt einer Datei ohne Kopfzeile und erstellt ein Tabellenobjekt mit seinen Werten (Separator = ';', Kennung für Text = '"').
          +
          +
          Parameters:
          +
          filename - Dateiname der CSV-Datei.
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          loadCSV

          +
          public void loadCSV​(String filename)
          +
          Liest den Inhalt einer CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
          +
          +
          Parameters:
          +
          filename - Dateiname der CSV-Datei.
          +
          +
        • +
        + + + +
          +
        • +

          loadCSV

          +
          public void loadCSV​(String filename,
          +                    String options)
          +
          Liest den Inhalt einer CSV-Datei (Separator = ';', Kennung für Text = '"'). + Wenn die Datei eine Kopfzeile enthält, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile hat, + dann lassen Sie einfach die Option "header" weg.
          +
          +
          Parameters:
          +
          filename - Dateiname der CSV-Datei.
          +
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile enthält.
          +
          +
        • +
        + + + +
          +
        • +

          loadCSV

          +
          public void loadCSV​(String filename,
          +                    String options,
          +                    char separator,
          +                    char quote)
          +
          Liest den Inhalt einer CSV-Datei. + Wenn die Datei eine Kopfzeile enthält, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile hat, + dann lassen Sie einfach die Option "header" weg.
          +
          +
          Parameters:
          +
          filename - Dateiname der CSV-Datei.
          +
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile enthält.
          +
          separator - Trennzeichen für Spalten (meist ';' oder ',' oder '\t' für Tab)
          +
          quote - Kennung für Texte (meist '"').
          +
          +
        • +
        + + + +
          +
        • +

          saveCSV

          +
          public void saveCSV​(String filename)
          +
          Speichert das aktuelle Dokument als CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
          +
          +
          Parameters:
          +
          filename - Dateiname der CSV-Datei.
          +
          +
        • +
        + + + +
          +
        • +

          saveCSV

          +
          public void saveCSV​(String filename,
          +                    String options)
          +
          Speichert das aktuelle Dokument als CSV-Datei (Separator = ';', Kennung für Text = '"'). + Wenn die Datei eine Kopfzeile enthalten, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile haben soll, + dann lassen Sie einfach die Option "header" weg.
          +
          +
          Parameters:
          +
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile haben soll.
          +
          filename - Dateiname der CSV-Datei.
          +
          +
        • +
        + + + +
          +
        • +

          saveCSV

          +
          public void saveCSV​(String filename,
          +                    String options,
          +                    char separator,
          +                    char quote)
          +
          Speichert das aktuelle Dokument als CSV-Datei. + Wenn die Datei eine Kopfzeile enthalten, fügen Sie "header" in den Parameter options ein. Wenn die Datei keine Kopfzeile haben soll, + dann lassen Sie einfach die Option "header" weg.
          +
          +
          Parameters:
          +
          options - Geben Sie hier "header" an, wenn die Datei eine Kopfzeile haben soll.
          +
          filename - Dateiname der CSV-Datei.
          +
          separator - Trennzeichen für Spalten (meist ';' oder ',' oder '\t' für Tab)
          +
          quote - Kennung für Texte (meist '"').
          +
          +
        • +
        + + + +
          +
        • +

          saveXML

          +
          public void saveXML​(String filename)
          +
          Speichert die Tabelle als XML-Dokument.
          +
          +
          Parameters:
          +
          filename - Dateiname des XML-Files
          +
          +
        • +
        + + + +
          +
        • +

          addColumn

          +
          public void addColumn()
          +
          Fügt eine neue Spalte am Ende der Tabelle an.
          +
        • +
        + + + +
          +
        • +

          addColumn

          +
          public void addColumn​(String title)
          +
          Fügt eine neue Spalte am Ende der Tabelle an und benennt sie.
          +
          +
          Parameters:
          +
          title - Bezeichnung der Spalte
          +
          +
        • +
        + + + +
          +
        • +

          addColumn

          +
          public void addColumn​(String title,
          +                      String type)
          +
          Fügt eine neue Spalte am Ende der Tabelle an und benennt und typisiert sie.
          +
          +
          Parameters:
          +
          title - Bezeichnung der Spalte
          +
          type - Typ der Spalte (UNKNOWN, DOUBLE, INTEGER, FLOAT)
          +
          +
        • +
        + + + +
          +
        • +

          removeColumn

          +
          public void removeColumn​(int i)
          +
          Löscht eine Spalte.
          +
          +
          Parameters:
          +
          i - Nummer der Spalte.
          +
          +
        • +
        + + + +
          +
        • +

          removeColumn

          +
          public void removeColumn​(String name)
          +
          Löscht eine Spalte
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          +
        • +
        + + + +
          +
        • +

          getColumnCount

          +
          public int getColumnCount()
          +
          Liefert die Anzahl der Spalten in der Tabelle
          +
          +
          Returns:
          +
          Anzahl der Spalten
          +
          +
        • +
        + + + +
          +
        • +

          getRowCount

          +
          public int getRowCount()
          +
          Liefert die Anzahl der Zeilen in der Tabelle
          +
          +
          Returns:
          +
          Anzahl der Zeilen
          +
          +
        • +
        + + + +
          +
        • +

          clearRows

          +
          public void clearRows()
          +
          Löscht alle Zeilen der Tabelle. + Die Spaltenüberschriften und Typen bleiben erhalten.
          +
        • +
        + + + +
          +
        • +

          addRow

          +
          public TableRow addRow()
          +
          Fügt eine neue Zeile an das Ende der Tabelle an.
          +
          +
          Returns:
          +
          ein TableRow-Objekt für diese neue Zeile
          +
          +
        • +
        + + + +
          +
        • +

          removeRow

          +
          public void removeRow​(int i)
          +
          Löscht eine Zeile
          +
          +
          Parameters:
          +
          i - Nummer der Zeile
          +
          +
        • +
        + + + +
          +
        • +

          getRow

          +
          public TableRow getRow​(int i)
          +
          Liefert eine Zeile der Tabelle
          +
          +
          Parameters:
          +
          i - Nummer der Zeile
          +
          Returns:
          +
          TableRow-Objekt für diese Zeile
          +
          +
        • +
        + + + +
          +
        • +

          rows

          +
          public TableRow[] rows()
          +
          Liefert die ganze Tabelle als Array von TableRow-Objekten
          +
          +
          Returns:
          +
          Array von TableRow-Objekten
          +
          +
        • +
        + + + +
          +
        • +

          getInt

          +
          public int getInt​(int row,
          +                  int column)
          +
          Liefert den Wert einer Zelle als Integer-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          column - Spaltennummer
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getInt

          +
          public int getInt​(int row,
          +                  String name)
          +
          Liefert den Wert einer Zelle als Integer-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          name - Name der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setInt

          +
          public void setInt​(int row,
          +                   int column,
          +                   int value)
          +
          Setzt den Wert einer Zelle als Integer-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          column - Spaltennummer
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setInt

          +
          public void setInt​(int row,
          +                   String name,
          +                   int value)
          +
          Setzt den Wert einer Zelle als Integer-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          name - Name der Spalte
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getIntRow

          +
          public int[] getIntRow​(int row)
          +
          Liefert alle Werte einer Zeile als Integer-Array.
          +
          +
          Parameters:
          +
          row - Nummer der Zeile
          +
          Returns:
          +
          int-Array, dass alle Werte der Zeile enthält
          +
          +
        • +
        + + + +
          +
        • +

          getIntColumn

          +
          public int[] getIntColumn​(int column)
          +
          Liefert alle Werte einer Spalte als Integer-Array.
          +
          +
          Parameters:
          +
          column - Nummer der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          getIntColumn

          +
          public int[] getIntColumn​(String name)
          +
          Liefert alle Werte einer Spalte als Integer-Array.
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          getFloat

          +
          public float getFloat​(int row,
          +                      int column)
          +
          Liefert den Wert einer Zelle als Float-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          column - Spaltennummer
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getFloat

          +
          public float getFloat​(int row,
          +                      String name)
          +
          Liefert den Wert einer Zelle als Float-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          name - Name der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setFloat

          +
          public void setFloat​(int row,
          +                     int column,
          +                     float value)
          +
          Setzt den Wert einer Zelle als Float-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          column - Spaltennummer
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setFloat

          +
          public void setFloat​(int row,
          +                     String name,
          +                     float value)
          +
          Setzt den Wert einer Zelle als Float-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          name - Name der Spalte
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getFloatRow

          +
          public float[] getFloatRow​(int row)
          +
          Liefert alle Werte einer Zeile als Float-Array.
          +
          +
          Parameters:
          +
          row - Nummer der Zeile
          +
          Returns:
          +
          int-Array, dass alle Werte der Zeile enthält
          +
          +
        • +
        + + + +
          +
        • +

          getFloatColumn

          +
          public float[] getFloatColumn​(int column)
          +
          Liefert alle Werte einer Spalte als Float-Array.
          +
          +
          Parameters:
          +
          column - Nummer der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          getFloatColumn

          +
          public float[] getFloatColumn​(String name)
          +
          Liefert alle Werte einer Spalte als Float-Array.
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          getDouble

          +
          public double getDouble​(int row,
          +                        int column)
          +
          Liefert den Wert einer Zelle als Double-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          column - Spaltennummer
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getDouble

          +
          public double getDouble​(int row,
          +                        String name)
          +
          Liefert den Wert einer Zelle als Double-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          name - Name der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setDouble

          +
          public void setDouble​(int row,
          +                      int column,
          +                      double value)
          +
          Setzt den Wert einer Zelle als Double-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          column - Spaltennummer
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setDouble

          +
          public void setDouble​(int row,
          +                      String name,
          +                      double value)
          +
          Setzt den Wert einer Zelle als Double-Zahl
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          name - Name der Spalte
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getDoubleRow

          +
          public double[] getDoubleRow​(int row)
          +
          Liefert alle Werte einer Spalte als Double-Array.
          +
          +
          Parameters:
          +
          row - Nummer der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          getDoubleColumn

          +
          public double[] getDoubleColumn​(int column)
          +
          Liefert alle Werte einer Spalte als Double-Array.
          +
          +
          Parameters:
          +
          column - Nummer der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          getDoubleColumn

          +
          public double[] getDoubleColumn​(String name)
          +
          Liefert alle Werte einer Spalte als Double-Array.
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          getString

          +
          public String getString​(int row,
          +                        int column)
          +
          Liefert den Wert einer Zelle als String
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          column - Spaltennummer
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getString

          +
          public String getString​(int row,
          +                        String name)
          +
          Liefert den Wert einer Zelle als String
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          name - Name der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setString

          +
          public void setString​(int row,
          +                      int column,
          +                      String text)
          +
          Setzt den Wert einer Zelle als String
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          column - Spaltennummer
          +
          text - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setString

          +
          public void setString​(int row,
          +                      String name,
          +                      String text)
          +
          Setzt den Wert einer Zelle als String
          +
          +
          Parameters:
          +
          row - Zeilennummer
          +
          name - Name der Spalte
          +
          text - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getStringRow

          +
          public String[] getStringRow​(int row)
          +
          Liefert alle Werte einer Spalte als String-Array.
          +
          +
          Parameters:
          +
          row - Nummer der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          getStringColumn

          +
          public String[] getStringColumn​(int column)
          +
          Liefert alle Werte einer Spalte als String-Array.
          +
          +
          Parameters:
          +
          column - Nummer der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          getStringColumn

          +
          public String[] getStringColumn​(String name)
          +
          Liefert alle Werte einer Spalte als String-Array.
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          Returns:
          +
          int-Array, dass alle Werte der Spalte enthält
          +
          +
        • +
        + + + +
          +
        • +

          findRow

          +
          public TableRow findRow​(String value,
          +                        int column)
          +
          Sucht nach einem bestimmtem Wert in einer Zeile.
          +
          +
          Parameters:
          +
          value - Wert der gesucht werden soll
          +
          column - Nummer der Spalte, die durchsucht werden soll
          +
          Returns:
          +
          TableRow-Objekt der Zeile, wenn der Wert gefunden wurde, sonst null
          +
          +
        • +
        + + + +
          +
        • +

          findRow

          +
          public TableRow findRow​(String value,
          +                        String name)
          +
          Sucht nach einem bestimmtem Wert in einer Zeile.
          +
          +
          Parameters:
          +
          value - Wert der gesucht werden soll
          +
          name - Name der Spalte, die durchsucht werden soll
          +
          Returns:
          +
          TableRow-Objekt der Zeile, wenn der Wert gefunden wurde, sonst null
          +
          +
        • +
        + + + +
          +
        • +

          trim

          +
          public void trim()
          +
          Kürzt alle Einträge der Tabelle um unnötige Leerzeichen am Anfang oder Ende
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + +
    + +
    + + diff --git a/doc/imp/TableRow.html b/doc/imp/TableRow.html index bb28dc8..420da1d 100644 --- a/doc/imp/TableRow.html +++ b/doc/imp/TableRow.html @@ -1,785 +1,785 @@ - - - - - -TableRow (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    Package imp
    -

    Class TableRow

    -
    -
    - -
    -
      -
    • -
      -
      public class TableRow
      -extends Object
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Field Summary

        - - - - - - - - - - - - -
        Fields 
        Modifier and TypeFieldDescription
        (package private) NumberFormatformat 
        -
      • -
      -
      - -
      -
        -
      • - - -

        Constructor Summary

        - - - - - - - - - - -
        Constructors 
        ConstructorDescription
        TableRow​(org.jdom.Document doc, - org.jdom.Element row) -
        Erzeugt ein TableRow-Objekt.
        -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Summary

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        intgetColumn​(String name) -
        Liefert die Nummer einer Spalte
        -
        intgetColumnCount() -
        Liefert die Anzahl der Spalten der Zeile.
        -
        StringgetColumnTitle​(int i) -
        Liefert den Titel einer Spalte
        -
        doublegetDouble​(int i) -
        Liefert den Wert einer Zelle als Double-Zahl
        -
        doublegetDouble​(String name) -
        Liefert den Wert einer Zelle als Double-Zahl
        -
        floatgetFloat​(int i) -
        Liefert den Wert einer Zelle als Float-Zahl
        -
        floatgetFloat​(String name) -
        Liefert den Wert einer Zelle als Float-Zahl
        -
        intgetInt​(int i) -
        Liefert den Wert einer Zelle als Int-Zahl
        -
        intgetInt​(String name) -
        Liefert den Wert einer Zelle als Int-Zahl
        -
        StringgetString​(int i) -
        Liefert den Wert einer Zelle als String
        -
        StringgetString​(String name) -
        Liefert den Wert einer Zelle als String
        -
        voidsetDouble​(int i, - double value) -
        Setzt den Wert einer Zelle als Double-Zahl
        -
        voidsetDouble​(String name, - double value) -
        Setzt den Wert einer Zelle als Double-Zahl
        -
        voidsetFloat​(int i, - float value) -
        Setzt den Wert einer Zelle als Float-Zahl
        -
        voidsetFloat​(String name, - float value) -
        Setzt den Wert einer Zelle als Float-Zahl
        -
        voidsetInt​(int i, - int value) -
        Setzt den Wert einer Zelle als Int-Zahl
        -
        voidsetInt​(String name, - int value) -
        Setzt den Wert einer Zelle als Int-Zahl
        -
        voidsetString​(int i, - String text) -
        Setzt den Wert einer Zelle als String
        -
        voidsetString​(String name, - String text) -
        Setzt den Wert einer Zelle als String
        -
        - -
      • -
      -
      -
    • -
    -
    -
    -
      -
    • - -
      - -
      - -
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          TableRow

          -
          public TableRow​(org.jdom.Document doc,
          -                org.jdom.Element row)
          -
          Erzeugt ein TableRow-Objekt. - Diese Methode ist für den internen Gebraucht. Einige Methode der Table-Klasse erzeugen mit diesem Konstruktor TableRow-Objekte.
          -
          -
          Parameters:
          -
          doc - JDOM-Dokument, das für die ganze Tabelle steht.
          -
          row - JDOM-Element, das für die aktuelle Zeile steht.
          -
          -
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getColumnCount

          -
          public int getColumnCount()
          -
          Liefert die Anzahl der Spalten der Zeile.
          -
          -
          Returns:
          -
          Anzahl der Spalten
          -
          -
        • -
        - - - -
          -
        • -

          getColumnTitle

          -
          public String getColumnTitle​(int i)
          -
          Liefert den Titel einer Spalte
          -
          -
          Parameters:
          -
          i - Nummer der Spalte
          -
          Returns:
          -
          Name der Spalte
          -
          -
        • -
        - - - -
          -
        • -

          getColumn

          -
          public int getColumn​(String name)
          -
          Liefert die Nummer einer Spalte
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          Returns:
          -
          Nummer der Spalte
          -
          -
        • -
        - - - -
          -
        • -

          getString

          -
          public String getString​(int i)
          -
          Liefert den Wert einer Zelle als String
          -
          -
          Parameters:
          -
          i - Nummer der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getString

          -
          public String getString​(String name)
          -
          Liefert den Wert einer Zelle als String
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setString

          -
          public void setString​(int i,
          -                      String text)
          -
          Setzt den Wert einer Zelle als String
          -
          -
          Parameters:
          -
          i - Nummer der Spalte
          -
          text - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setString

          -
          public void setString​(String name,
          -                      String text)
          -
          Setzt den Wert einer Zelle als String
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          text - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getInt

          -
          public int getInt​(int i)
          -
          Liefert den Wert einer Zelle als Int-Zahl
          -
          -
          Parameters:
          -
          i - Nummer der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getInt

          -
          public int getInt​(String name)
          -
          Liefert den Wert einer Zelle als Int-Zahl
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setInt

          -
          public void setInt​(int i,
          -                   int value)
          -
          Setzt den Wert einer Zelle als Int-Zahl
          -
          -
          Parameters:
          -
          i - Nummer der Spalte
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setInt

          -
          public void setInt​(String name,
          -                   int value)
          -
          Setzt den Wert einer Zelle als Int-Zahl
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getFloat

          -
          public float getFloat​(int i)
          -
          Liefert den Wert einer Zelle als Float-Zahl
          -
          -
          Parameters:
          -
          i - Nummer der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getFloat

          -
          public float getFloat​(String name)
          -
          Liefert den Wert einer Zelle als Float-Zahl
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setFloat

          -
          public void setFloat​(int i,
          -                     float value)
          -
          Setzt den Wert einer Zelle als Float-Zahl
          -
          -
          Parameters:
          -
          i - Nummer der Spalte
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setFloat

          -
          public void setFloat​(String name,
          -                     float value)
          -
          Setzt den Wert einer Zelle als Float-Zahl
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getDouble

          -
          public double getDouble​(int i)
          -
          Liefert den Wert einer Zelle als Double-Zahl
          -
          -
          Parameters:
          -
          i - Nummer der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          getDouble

          -
          public double getDouble​(String name)
          -
          Liefert den Wert einer Zelle als Double-Zahl
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          Returns:
          -
          Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setDouble

          -
          public void setDouble​(int i,
          -                      double value)
          -
          Setzt den Wert einer Zelle als Double-Zahl
          -
          -
          Parameters:
          -
          i - Nummer der Spalte
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        - - - -
          -
        • -

          setDouble

          -
          public void setDouble​(String name,
          -                      double value)
          -
          Setzt den Wert einer Zelle als Double-Zahl
          -
          -
          Parameters:
          -
          name - Name der Spalte
          -
          value - neuer Wert der Zelle
          -
          -
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
    - - - - + + + + + +TableRow (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package imp
    +

    Class TableRow

    +
    +
    + +
    +
      +
    • +
      +
      public class TableRow
      +extends Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        (package private) NumberFormatformat 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        TableRow​(org.jdom.Document doc, + org.jdom.Element row) +
        Erzeugt ein TableRow-Objekt.
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        intgetColumn​(String name) +
        Liefert die Nummer einer Spalte
        +
        intgetColumnCount() +
        Liefert die Anzahl der Spalten der Zeile.
        +
        StringgetColumnTitle​(int i) +
        Liefert den Titel einer Spalte
        +
        doublegetDouble​(int i) +
        Liefert den Wert einer Zelle als Double-Zahl
        +
        doublegetDouble​(String name) +
        Liefert den Wert einer Zelle als Double-Zahl
        +
        floatgetFloat​(int i) +
        Liefert den Wert einer Zelle als Float-Zahl
        +
        floatgetFloat​(String name) +
        Liefert den Wert einer Zelle als Float-Zahl
        +
        intgetInt​(int i) +
        Liefert den Wert einer Zelle als Int-Zahl
        +
        intgetInt​(String name) +
        Liefert den Wert einer Zelle als Int-Zahl
        +
        StringgetString​(int i) +
        Liefert den Wert einer Zelle als String
        +
        StringgetString​(String name) +
        Liefert den Wert einer Zelle als String
        +
        voidsetDouble​(int i, + double value) +
        Setzt den Wert einer Zelle als Double-Zahl
        +
        voidsetDouble​(String name, + double value) +
        Setzt den Wert einer Zelle als Double-Zahl
        +
        voidsetFloat​(int i, + float value) +
        Setzt den Wert einer Zelle als Float-Zahl
        +
        voidsetFloat​(String name, + float value) +
        Setzt den Wert einer Zelle als Float-Zahl
        +
        voidsetInt​(int i, + int value) +
        Setzt den Wert einer Zelle als Int-Zahl
        +
        voidsetInt​(String name, + int value) +
        Setzt den Wert einer Zelle als Int-Zahl
        +
        voidsetString​(int i, + String text) +
        Setzt den Wert einer Zelle als String
        +
        voidsetString​(String name, + String text) +
        Setzt den Wert einer Zelle als String
        +
        + +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TableRow

          +
          public TableRow​(org.jdom.Document doc,
          +                org.jdom.Element row)
          +
          Erzeugt ein TableRow-Objekt. + Diese Methode ist für den internen Gebraucht. Einige Methode der Table-Klasse erzeugen mit diesem Konstruktor TableRow-Objekte.
          +
          +
          Parameters:
          +
          doc - JDOM-Dokument, das für die ganze Tabelle steht.
          +
          row - JDOM-Element, das für die aktuelle Zeile steht.
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getColumnCount

          +
          public int getColumnCount()
          +
          Liefert die Anzahl der Spalten der Zeile.
          +
          +
          Returns:
          +
          Anzahl der Spalten
          +
          +
        • +
        + + + +
          +
        • +

          getColumnTitle

          +
          public String getColumnTitle​(int i)
          +
          Liefert den Titel einer Spalte
          +
          +
          Parameters:
          +
          i - Nummer der Spalte
          +
          Returns:
          +
          Name der Spalte
          +
          +
        • +
        + + + +
          +
        • +

          getColumn

          +
          public int getColumn​(String name)
          +
          Liefert die Nummer einer Spalte
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          Returns:
          +
          Nummer der Spalte
          +
          +
        • +
        + + + +
          +
        • +

          getString

          +
          public String getString​(int i)
          +
          Liefert den Wert einer Zelle als String
          +
          +
          Parameters:
          +
          i - Nummer der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getString

          +
          public String getString​(String name)
          +
          Liefert den Wert einer Zelle als String
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setString

          +
          public void setString​(int i,
          +                      String text)
          +
          Setzt den Wert einer Zelle als String
          +
          +
          Parameters:
          +
          i - Nummer der Spalte
          +
          text - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setString

          +
          public void setString​(String name,
          +                      String text)
          +
          Setzt den Wert einer Zelle als String
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          text - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getInt

          +
          public int getInt​(int i)
          +
          Liefert den Wert einer Zelle als Int-Zahl
          +
          +
          Parameters:
          +
          i - Nummer der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getInt

          +
          public int getInt​(String name)
          +
          Liefert den Wert einer Zelle als Int-Zahl
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setInt

          +
          public void setInt​(int i,
          +                   int value)
          +
          Setzt den Wert einer Zelle als Int-Zahl
          +
          +
          Parameters:
          +
          i - Nummer der Spalte
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setInt

          +
          public void setInt​(String name,
          +                   int value)
          +
          Setzt den Wert einer Zelle als Int-Zahl
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getFloat

          +
          public float getFloat​(int i)
          +
          Liefert den Wert einer Zelle als Float-Zahl
          +
          +
          Parameters:
          +
          i - Nummer der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getFloat

          +
          public float getFloat​(String name)
          +
          Liefert den Wert einer Zelle als Float-Zahl
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setFloat

          +
          public void setFloat​(int i,
          +                     float value)
          +
          Setzt den Wert einer Zelle als Float-Zahl
          +
          +
          Parameters:
          +
          i - Nummer der Spalte
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setFloat

          +
          public void setFloat​(String name,
          +                     float value)
          +
          Setzt den Wert einer Zelle als Float-Zahl
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getDouble

          +
          public double getDouble​(int i)
          +
          Liefert den Wert einer Zelle als Double-Zahl
          +
          +
          Parameters:
          +
          i - Nummer der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          getDouble

          +
          public double getDouble​(String name)
          +
          Liefert den Wert einer Zelle als Double-Zahl
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          Returns:
          +
          Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setDouble

          +
          public void setDouble​(int i,
          +                      double value)
          +
          Setzt den Wert einer Zelle als Double-Zahl
          +
          +
          Parameters:
          +
          i - Nummer der Spalte
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        + + + +
          +
        • +

          setDouble

          +
          public void setDouble​(String name,
          +                      double value)
          +
          Setzt den Wert einer Zelle als Double-Zahl
          +
          +
          Parameters:
          +
          name - Name der Spalte
          +
          value - neuer Wert der Zelle
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/doc/imp/XML.html b/doc/imp/XML.html index 25fbbbe..d21c4fe 100644 --- a/doc/imp/XML.html +++ b/doc/imp/XML.html @@ -1,1229 +1,1229 @@ - - - - - -XML (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    Package imp
    -

    Class XML

    -
    -
    - -
    -
      -
    • -
      -
      public class XML
      -extends Object
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Constructor Summary

        - - - - - - - - - - - - - - -
        Constructors 
        ConstructorDescription
        XML() -
        Erzeugt ein leeres XMLDokument
        -
        XML​(String filename) -
        Erzeugt ein XML-Dokument aus einer Datei
        -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Summary

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        XMLaddChild​(String name) -
        Erzeuge neues Element nach der aktuellen Position und setze dieses als aktuelles Element
        -
        intgetAttributeCount() -
        liefert die Anzahl der Attribute eines Elements.
        -
        XMLgetChild​(int i) -
        Liefert das i.
        -
        XMLgetChild​(String name) -
        Liefert das erste Kind des Elements mit einem bestimmten Namen.
        -
        XML[]getChildren() -
        Liefert alle Kinder des Elements als Array von XML-Objekten.
        -
        XML[]getChildren​(String name) -
        Liefert bestimmte Kinder des Elements als Array von XML-Objekten.
        -
        StringgetContent() -
        Fragt den Inhalt/Text des aktuellen Elements ab
        -
        StringgetContent​(String defaultValue) -
        Fragt den Inhalt/Text des aktuellen Elements ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
        -
        doublegetDouble​(String attribute) -
        Fragt einen Attributwert des aktuellen Elements ab
        -
        doublegetDouble​(String attribute, - double defaultValue) -
        Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
        -
        doublegetDoubleContent() -
        Fragt den Inhalt des aktuellen Elements als Doublezahl ab
        -
        doublegetDoubleContent​(double defaultValue) -
        Fragt den Inhalt des aktuellen Elements als Doublezahl ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
        -
        floatgetFloat​(String attribute) -
        Fragt einen Attributwert des aktuellen Elements ab
        -
        floatgetFloat​(String attribute, - float defaultValue) -
        Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
        -
        floatgetFloatContent() -
        Fragt den Inhalt des aktuellen Elements als Floatzahl ab
        -
        floatgetFloatContent​(float defaultValue) -
        Fragt den Inhalt des aktuellen Elements als Floatzahl ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
        -
        intgetInt​(String attribute) -
        Fragt einen Attributwert des aktuellen Elements ab
        -
        intgetInt​(String attribute, - int defaultValue) -
        Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
        -
        intgetIntContent() -
        Fragt den Inhalt des aktuellen Elements als Integerzahl ab
        -
        intgetIntContent​(int defaultValue) -
        Fragt den Inhalt des aktuellen Elements als Integerzahl ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
        -
        StringgetName() -
        Frage den Namen des aktuellen Elements ab
        -
        XMLgetParent() -
        liefert ein XML-Objekt, das auf den Vaterknoten des aktuellen Elements zeigt.
        -
        StringgetString​(String attribute) -
        Fragt einen Attributwert des aktuellen Elements ab
        -
        StringgetString​(String attribute, - String defaultValue) -
        Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
        -
        booleanhasAttribute() -
        liefert zurück, ob das aktuelle Element Attribute hat .
        -
        booleanhasChildren() -
        Überprüft, ob das Element irgendwelche Kinder hat oder nicht, und gibt das Ergebnis als boolean zurück.
        -
        String[]listAttributes() -
        Ruft alle Attribute des angegebenen Elements ab und gibt sie als Array von Strings zurück.
        -
        String[]listChildren() -
        Ermittelt die Namen aller Kinder des Elements und gibt die Namen als ein Array von Strings zurück.
        -
        voidloadXML​(String filename) -
        Öffnet das durch den Dateinamen gegebene Dokument
        -
        voidremoveChild​(XML kid) -
        löscht ein Kind des aktuellen Knotens.
        -
        voidsaveXML​(String filename) -
        Speichert den XML-Baum im angegebenen Dateinamen
        -
        voidsetContent​(String text) -
        Setzt den Inhalt/Text des aktuellen Elements
        -
        voidsetDouble​(String attribute, - double value) -
        Setzt einen Attributwert des aktuellen Elements
        -
        voidsetDoubleContent​(double value) -
        Setzt den Inhalt des aktuellen Elements
        -
        voidsetFloat​(String attribute, - float value) -
        Setzt einen Attributwert des aktuellen Elements
        -
        voidsetFloatContent​(float value) -
        Setzt den Inhalt des aktuellen Elements
        -
        voidsetInt​(String attribute, - int value) -
        Setzt einen Attributwert des aktuellen Elements
        -
        voidsetIntContent​(int value) -
        Setzt den Inhalt des aktuellen Elements
        -
        voidsetName​(String name) -
        Setze den Namen des aktuellen Elements.
        -
        voidsetString​(String attribute, - String text) -
        Setzt einen Attributwert des aktuellen Elements
        -
        - -
      • -
      -
      -
    • -
    -
    -
    -
      -
    • - -
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          XML

          -
          public XML()
          -
          Erzeugt ein leeres XMLDokument
          -
        • -
        - - - -
          -
        • -

          XML

          -
          public XML​(String filename)
          -
          Erzeugt ein XML-Dokument aus einer Datei
          -
          -
          Parameters:
          -
          filename - Dateiname der XML-Datei
          -
          -
        • -
        -
      • -
      -
      - -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          loadXML

          -
          public void loadXML​(String filename)
          -
          Öffnet das durch den Dateinamen gegebene Dokument
          -
          -
          Parameters:
          -
          filename - Dateiname des XML-Files
          -
          -
        • -
        - - - -
          -
        • -

          saveXML

          -
          public void saveXML​(String filename)
          -
          Speichert den XML-Baum im angegebenen Dateinamen
          -
          -
          Parameters:
          -
          filename - Dateiname des XML-Files
          -
          -
        • -
        - - - -
          -
        • -

          getParent

          -
          public XML getParent()
          -
          liefert ein XML-Objekt, das auf den Vaterknoten des aktuellen Elements zeigt.
          -
          -
          Returns:
          -
          Vater des aktuellen Objekts.
          -
          -
        • -
        - - - -
          -
        • -

          hasChildren

          -
          public boolean hasChildren()
          -
          Überprüft, ob das Element irgendwelche Kinder hat oder nicht, und gibt das Ergebnis als boolean zurück.
          -
          -
          Returns:
          -
          true, wenn Kinder vorhanden sind, sonst false
          -
          -
        • -
        - - - -
          -
        • -

          listChildren

          -
          public String[] listChildren()
          -
          Ermittelt die Namen aller Kinder des Elements und gibt die Namen als ein Array von Strings zurück. - Dies ist dasselbe wie das Durchlaufen und Aufrufen von getName() auf jedem untergeordneten Element einzeln.
          -
          -
          Returns:
          -
          Liste aller Namen der Kinder
          -
          -
        • -
        - - - -
          -
        • -

          getChildren

          -
          public XML[] getChildren()
          -
          Liefert alle Kinder des Elements als Array von XML-Objekten.
          -
          -
          Returns:
          -
          Array der Kinder als XML-Objekte
          -
          -
        • -
        - - - -
          -
        • -

          getChildren

          -
          public XML[] getChildren​(String name)
          -
          Liefert bestimmte Kinder des Elements als Array von XML-Objekten. - Die Methode gibt dabei alle Kinder zurück, die dem angegebenen Namen entsprechen.
          -
          -
          Parameters:
          -
          name - Name der gesuchten Kind-Objekte
          -
          Returns:
          -
          Array der Kinder als XML-Objekte
          -
          -
        • -
        - - - -
          -
        • -

          getChild

          -
          public XML getChild​(String name)
          -
          Liefert das erste Kind des Elements mit einem bestimmten Namen. - Die Methode gibt das erste Kind zurück, das dem angegebenen Namen entsprechen.
          -
          -
          Parameters:
          -
          name - Name des gesuchten Kind-Objektes
          -
          Returns:
          -
          Kind als XML-Objekt
          -
          -
        • -
        - - - -
          -
        • -

          getChild

          -
          public XML getChild​(int i)
          -
          Liefert das i. Kind des Elements. - Die Methode gibt das i. Kind des aktuellen Elements zurück.
          -
          -
          Parameters:
          -
          i - Nummer des Kindes
          -
          Returns:
          -
          Kind als XML-Objekt
          -
          -
        • -
        - - - -
          -
        • -

          getName

          -
          public String getName()
          -
          Frage den Namen des aktuellen Elements ab
          -
          -
          Returns:
          -
          Namen des Elements
          -
          -
        • -
        - - - -
          -
        • -

          setName

          -
          public void setName​(String name)
          -
          Setze den Namen des aktuellen Elements.
          -
          -
          Parameters:
          -
          name - Neuer Name des Elements
          -
          -
        • -
        - - - -
          -
        • -

          getAttributeCount

          -
          public int getAttributeCount()
          -
          liefert die Anzahl der Attribute eines Elements.
          -
          -
          Returns:
          -
          Anzahl des Attribute
          -
          -
        • -
        - - - -
          -
        • -

          hasAttribute

          -
          public boolean hasAttribute()
          -
          liefert zurück, ob das aktuelle Element Attribute hat .
          -
          -
          Returns:
          -
          true, wenn es Attribute gibt
          -
          -
        • -
        - - - -
          -
        • -

          listAttributes

          -
          public String[] listAttributes()
          -
          Ruft alle Attribute des angegebenen Elements ab und gibt sie als Array von Strings zurück.
          -
          -
          Returns:
          -
          Liste der Attributnamen
          -
          -
        • -
        - - - -
          -
        • -

          getString

          -
          public String getString​(String attribute)
          -
          Fragt einen Attributwert des aktuellen Elements ab
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          Returns:
          -
          Wert des Attributs
          -
          -
        • -
        - - - -
          -
        • -

          getString

          -
          public String getString​(String attribute,
          -                        String defaultValue)
          -
          Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          defaultValue - Standardwert, falls es das Attribut nicht gibt
          -
          Returns:
          -
          Wert des Attributs
          -
          -
        • -
        - - - -
          -
        • -

          setString

          -
          public void setString​(String attribute,
          -                      String text)
          -
          Setzt einen Attributwert des aktuellen Elements
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          text - neuer Wert des Attributs
          -
          -
        • -
        - - - -
          -
        • -

          getInt

          -
          public int getInt​(String attribute)
          -
          Fragt einen Attributwert des aktuellen Elements ab
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          Returns:
          -
          Wert des Attributs als Integer-Zahl
          -
          -
        • -
        - - - -
          -
        • -

          getInt

          -
          public int getInt​(String attribute,
          -                  int defaultValue)
          -
          Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          defaultValue - Standardwert, falls es das Attribut nicht gibt
          -
          Returns:
          -
          Wert des Attributs als Integer-Zahl
          -
          -
        • -
        - - - -
          -
        • -

          setInt

          -
          public void setInt​(String attribute,
          -                   int value)
          -
          Setzt einen Attributwert des aktuellen Elements
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          value - neuer Wert des Attributs
          -
          -
        • -
        - - - -
          -
        • -

          getFloat

          -
          public float getFloat​(String attribute)
          -
          Fragt einen Attributwert des aktuellen Elements ab
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          Returns:
          -
          Wert des Attributs als Float-Zahl
          -
          -
        • -
        - - - -
          -
        • -

          getFloat

          -
          public float getFloat​(String attribute,
          -                      float defaultValue)
          -
          Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          defaultValue - Standardwert, falls es das Attribut nicht gibt
          -
          Returns:
          -
          Wert des Attributs als Float-Zahl
          -
          -
        • -
        - - - -
          -
        • -

          setFloat

          -
          public void setFloat​(String attribute,
          -                     float value)
          -
          Setzt einen Attributwert des aktuellen Elements
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          value - neuer Wert des Attributs
          -
          -
        • -
        - - - -
          -
        • -

          getDouble

          -
          public double getDouble​(String attribute)
          -
          Fragt einen Attributwert des aktuellen Elements ab
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          Returns:
          -
          Wert des Attributs als Double-Zahl
          -
          -
        • -
        - - - -
          -
        • -

          getDouble

          -
          public double getDouble​(String attribute,
          -                        double defaultValue)
          -
          Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          defaultValue - Standardwert, falls es das Attribut nicht gibt
          -
          Returns:
          -
          Wert des Attributs als double-Zahl
          -
          -
        • -
        - - - -
          -
        • -

          setDouble

          -
          public void setDouble​(String attribute,
          -                      double value)
          -
          Setzt einen Attributwert des aktuellen Elements
          -
          -
          Parameters:
          -
          attribute - Name des Attributs
          -
          value - neuer Wert des Attributs
          -
          -
        • -
        - - - -
          -
        • -

          getContent

          -
          public String getContent()
          -
          Fragt den Inhalt/Text des aktuellen Elements ab
          -
          -
          Returns:
          -
          Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          getContent

          -
          public String getContent​(String defaultValue)
          -
          Fragt den Inhalt/Text des aktuellen Elements ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
          -
          -
          Parameters:
          -
          defaultValue - Standardtext
          -
          Returns:
          -
          Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          setContent

          -
          public void setContent​(String text)
          -
          Setzt den Inhalt/Text des aktuellen Elements
          -
          -
          Parameters:
          -
          text - Neuer Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          getIntContent

          -
          public int getIntContent​(int defaultValue)
          -
          Fragt den Inhalt des aktuellen Elements als Integerzahl ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
          -
          -
          Parameters:
          -
          defaultValue - Standardwert
          -
          Returns:
          -
          Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          getIntContent

          -
          public int getIntContent()
          -
          Fragt den Inhalt des aktuellen Elements als Integerzahl ab
          -
          -
          Returns:
          -
          Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          setIntContent

          -
          public void setIntContent​(int value)
          -
          Setzt den Inhalt des aktuellen Elements
          -
          -
          Parameters:
          -
          value - Neuer Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          getFloatContent

          -
          public float getFloatContent​(float defaultValue)
          -
          Fragt den Inhalt des aktuellen Elements als Floatzahl ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
          -
          -
          Parameters:
          -
          defaultValue - Standardwert
          -
          Returns:
          -
          Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          getFloatContent

          -
          public float getFloatContent()
          -
          Fragt den Inhalt des aktuellen Elements als Floatzahl ab
          -
          -
          Returns:
          -
          Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          setFloatContent

          -
          public void setFloatContent​(float value)
          -
          Setzt den Inhalt des aktuellen Elements
          -
          -
          Parameters:
          -
          value - Neuer Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          getDoubleContent

          -
          public double getDoubleContent​(double defaultValue)
          -
          Fragt den Inhalt des aktuellen Elements als Doublezahl ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
          -
          -
          Parameters:
          -
          defaultValue - Standardwert
          -
          Returns:
          -
          Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          getDoubleContent

          -
          public double getDoubleContent()
          -
          Fragt den Inhalt des aktuellen Elements als Doublezahl ab
          -
          -
          Returns:
          -
          Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          setDoubleContent

          -
          public void setDoubleContent​(double value)
          -
          Setzt den Inhalt des aktuellen Elements
          -
          -
          Parameters:
          -
          value - Neuer Inhalt des Elements
          -
          -
        • -
        - - - -
          -
        • -

          addChild

          -
          public XML addChild​(String name)
          -
          Erzeuge neues Element nach der aktuellen Position und setze dieses als aktuelles Element
          -
          -
          Parameters:
          -
          name - Name des neuen Elements
          -
          Returns:
          -
          neues Element als XML-Objekt
          -
          -
        • -
        - - - -
          -
        • -

          removeChild

          -
          public void removeChild​(XML kid)
          -
          löscht ein Kind des aktuellen Knotens. - Ist kid kein Kind des aktuellen Elements passiert gar nichts.
          -
          -
          Parameters:
          -
          kid - XML-Objekt des Kindes
          -
          -
        • -
        -
      • -
      -
      -
    • -
    -
    -
    -
    - -
    - -
    - - + + + + + +XML (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package imp
    +

    Class XML

    +
    +
    + +
    +
      +
    • +
      +
      public class XML
      +extends Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        XML() +
        Erzeugt ein leeres XMLDokument
        +
        XML​(String filename) +
        Erzeugt ein XML-Dokument aus einer Datei
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        XMLaddChild​(String name) +
        Erzeuge neues Element nach der aktuellen Position und setze dieses als aktuelles Element
        +
        intgetAttributeCount() +
        liefert die Anzahl der Attribute eines Elements.
        +
        XMLgetChild​(int i) +
        Liefert das i.
        +
        XMLgetChild​(String name) +
        Liefert das erste Kind des Elements mit einem bestimmten Namen.
        +
        XML[]getChildren() +
        Liefert alle Kinder des Elements als Array von XML-Objekten.
        +
        XML[]getChildren​(String name) +
        Liefert bestimmte Kinder des Elements als Array von XML-Objekten.
        +
        StringgetContent() +
        Fragt den Inhalt/Text des aktuellen Elements ab
        +
        StringgetContent​(String defaultValue) +
        Fragt den Inhalt/Text des aktuellen Elements ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
        +
        doublegetDouble​(String attribute) +
        Fragt einen Attributwert des aktuellen Elements ab
        +
        doublegetDouble​(String attribute, + double defaultValue) +
        Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
        +
        doublegetDoubleContent() +
        Fragt den Inhalt des aktuellen Elements als Doublezahl ab
        +
        doublegetDoubleContent​(double defaultValue) +
        Fragt den Inhalt des aktuellen Elements als Doublezahl ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
        +
        floatgetFloat​(String attribute) +
        Fragt einen Attributwert des aktuellen Elements ab
        +
        floatgetFloat​(String attribute, + float defaultValue) +
        Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
        +
        floatgetFloatContent() +
        Fragt den Inhalt des aktuellen Elements als Floatzahl ab
        +
        floatgetFloatContent​(float defaultValue) +
        Fragt den Inhalt des aktuellen Elements als Floatzahl ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
        +
        intgetInt​(String attribute) +
        Fragt einen Attributwert des aktuellen Elements ab
        +
        intgetInt​(String attribute, + int defaultValue) +
        Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
        +
        intgetIntContent() +
        Fragt den Inhalt des aktuellen Elements als Integerzahl ab
        +
        intgetIntContent​(int defaultValue) +
        Fragt den Inhalt des aktuellen Elements als Integerzahl ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
        +
        StringgetName() +
        Frage den Namen des aktuellen Elements ab
        +
        XMLgetParent() +
        liefert ein XML-Objekt, das auf den Vaterknoten des aktuellen Elements zeigt.
        +
        StringgetString​(String attribute) +
        Fragt einen Attributwert des aktuellen Elements ab
        +
        StringgetString​(String attribute, + String defaultValue) +
        Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
        +
        booleanhasAttribute() +
        liefert zurück, ob das aktuelle Element Attribute hat .
        +
        booleanhasChildren() +
        Überprüft, ob das Element irgendwelche Kinder hat oder nicht, und gibt das Ergebnis als boolean zurück.
        +
        String[]listAttributes() +
        Ruft alle Attribute des angegebenen Elements ab und gibt sie als Array von Strings zurück.
        +
        String[]listChildren() +
        Ermittelt die Namen aller Kinder des Elements und gibt die Namen als ein Array von Strings zurück.
        +
        voidloadXML​(String filename) +
        Öffnet das durch den Dateinamen gegebene Dokument
        +
        voidremoveChild​(XML kid) +
        löscht ein Kind des aktuellen Knotens.
        +
        voidsaveXML​(String filename) +
        Speichert den XML-Baum im angegebenen Dateinamen
        +
        voidsetContent​(String text) +
        Setzt den Inhalt/Text des aktuellen Elements
        +
        voidsetDouble​(String attribute, + double value) +
        Setzt einen Attributwert des aktuellen Elements
        +
        voidsetDoubleContent​(double value) +
        Setzt den Inhalt des aktuellen Elements
        +
        voidsetFloat​(String attribute, + float value) +
        Setzt einen Attributwert des aktuellen Elements
        +
        voidsetFloatContent​(float value) +
        Setzt den Inhalt des aktuellen Elements
        +
        voidsetInt​(String attribute, + int value) +
        Setzt einen Attributwert des aktuellen Elements
        +
        voidsetIntContent​(int value) +
        Setzt den Inhalt des aktuellen Elements
        +
        voidsetName​(String name) +
        Setze den Namen des aktuellen Elements.
        +
        voidsetString​(String attribute, + String text) +
        Setzt einen Attributwert des aktuellen Elements
        +
        + +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          XML

          +
          public XML()
          +
          Erzeugt ein leeres XMLDokument
          +
        • +
        + + + +
          +
        • +

          XML

          +
          public XML​(String filename)
          +
          Erzeugt ein XML-Dokument aus einer Datei
          +
          +
          Parameters:
          +
          filename - Dateiname der XML-Datei
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          loadXML

          +
          public void loadXML​(String filename)
          +
          Öffnet das durch den Dateinamen gegebene Dokument
          +
          +
          Parameters:
          +
          filename - Dateiname des XML-Files
          +
          +
        • +
        + + + +
          +
        • +

          saveXML

          +
          public void saveXML​(String filename)
          +
          Speichert den XML-Baum im angegebenen Dateinamen
          +
          +
          Parameters:
          +
          filename - Dateiname des XML-Files
          +
          +
        • +
        + + + +
          +
        • +

          getParent

          +
          public XML getParent()
          +
          liefert ein XML-Objekt, das auf den Vaterknoten des aktuellen Elements zeigt.
          +
          +
          Returns:
          +
          Vater des aktuellen Objekts.
          +
          +
        • +
        + + + +
          +
        • +

          hasChildren

          +
          public boolean hasChildren()
          +
          Überprüft, ob das Element irgendwelche Kinder hat oder nicht, und gibt das Ergebnis als boolean zurück.
          +
          +
          Returns:
          +
          true, wenn Kinder vorhanden sind, sonst false
          +
          +
        • +
        + + + +
          +
        • +

          listChildren

          +
          public String[] listChildren()
          +
          Ermittelt die Namen aller Kinder des Elements und gibt die Namen als ein Array von Strings zurück. + Dies ist dasselbe wie das Durchlaufen und Aufrufen von getName() auf jedem untergeordneten Element einzeln.
          +
          +
          Returns:
          +
          Liste aller Namen der Kinder
          +
          +
        • +
        + + + +
          +
        • +

          getChildren

          +
          public XML[] getChildren()
          +
          Liefert alle Kinder des Elements als Array von XML-Objekten.
          +
          +
          Returns:
          +
          Array der Kinder als XML-Objekte
          +
          +
        • +
        + + + +
          +
        • +

          getChildren

          +
          public XML[] getChildren​(String name)
          +
          Liefert bestimmte Kinder des Elements als Array von XML-Objekten. + Die Methode gibt dabei alle Kinder zurück, die dem angegebenen Namen entsprechen.
          +
          +
          Parameters:
          +
          name - Name der gesuchten Kind-Objekte
          +
          Returns:
          +
          Array der Kinder als XML-Objekte
          +
          +
        • +
        + + + +
          +
        • +

          getChild

          +
          public XML getChild​(String name)
          +
          Liefert das erste Kind des Elements mit einem bestimmten Namen. + Die Methode gibt das erste Kind zurück, das dem angegebenen Namen entsprechen.
          +
          +
          Parameters:
          +
          name - Name des gesuchten Kind-Objektes
          +
          Returns:
          +
          Kind als XML-Objekt
          +
          +
        • +
        + + + +
          +
        • +

          getChild

          +
          public XML getChild​(int i)
          +
          Liefert das i. Kind des Elements. + Die Methode gibt das i. Kind des aktuellen Elements zurück.
          +
          +
          Parameters:
          +
          i - Nummer des Kindes
          +
          Returns:
          +
          Kind als XML-Objekt
          +
          +
        • +
        + + + +
          +
        • +

          getName

          +
          public String getName()
          +
          Frage den Namen des aktuellen Elements ab
          +
          +
          Returns:
          +
          Namen des Elements
          +
          +
        • +
        + + + +
          +
        • +

          setName

          +
          public void setName​(String name)
          +
          Setze den Namen des aktuellen Elements.
          +
          +
          Parameters:
          +
          name - Neuer Name des Elements
          +
          +
        • +
        + + + +
          +
        • +

          getAttributeCount

          +
          public int getAttributeCount()
          +
          liefert die Anzahl der Attribute eines Elements.
          +
          +
          Returns:
          +
          Anzahl des Attribute
          +
          +
        • +
        + + + +
          +
        • +

          hasAttribute

          +
          public boolean hasAttribute()
          +
          liefert zurück, ob das aktuelle Element Attribute hat .
          +
          +
          Returns:
          +
          true, wenn es Attribute gibt
          +
          +
        • +
        + + + +
          +
        • +

          listAttributes

          +
          public String[] listAttributes()
          +
          Ruft alle Attribute des angegebenen Elements ab und gibt sie als Array von Strings zurück.
          +
          +
          Returns:
          +
          Liste der Attributnamen
          +
          +
        • +
        + + + +
          +
        • +

          getString

          +
          public String getString​(String attribute)
          +
          Fragt einen Attributwert des aktuellen Elements ab
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          Returns:
          +
          Wert des Attributs
          +
          +
        • +
        + + + +
          +
        • +

          getString

          +
          public String getString​(String attribute,
          +                        String defaultValue)
          +
          Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          defaultValue - Standardwert, falls es das Attribut nicht gibt
          +
          Returns:
          +
          Wert des Attributs
          +
          +
        • +
        + + + +
          +
        • +

          setString

          +
          public void setString​(String attribute,
          +                      String text)
          +
          Setzt einen Attributwert des aktuellen Elements
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          text - neuer Wert des Attributs
          +
          +
        • +
        + + + +
          +
        • +

          getInt

          +
          public int getInt​(String attribute)
          +
          Fragt einen Attributwert des aktuellen Elements ab
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          Returns:
          +
          Wert des Attributs als Integer-Zahl
          +
          +
        • +
        + + + +
          +
        • +

          getInt

          +
          public int getInt​(String attribute,
          +                  int defaultValue)
          +
          Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          defaultValue - Standardwert, falls es das Attribut nicht gibt
          +
          Returns:
          +
          Wert des Attributs als Integer-Zahl
          +
          +
        • +
        + + + +
          +
        • +

          setInt

          +
          public void setInt​(String attribute,
          +                   int value)
          +
          Setzt einen Attributwert des aktuellen Elements
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          value - neuer Wert des Attributs
          +
          +
        • +
        + + + +
          +
        • +

          getFloat

          +
          public float getFloat​(String attribute)
          +
          Fragt einen Attributwert des aktuellen Elements ab
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          Returns:
          +
          Wert des Attributs als Float-Zahl
          +
          +
        • +
        + + + +
          +
        • +

          getFloat

          +
          public float getFloat​(String attribute,
          +                      float defaultValue)
          +
          Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          defaultValue - Standardwert, falls es das Attribut nicht gibt
          +
          Returns:
          +
          Wert des Attributs als Float-Zahl
          +
          +
        • +
        + + + +
          +
        • +

          setFloat

          +
          public void setFloat​(String attribute,
          +                     float value)
          +
          Setzt einen Attributwert des aktuellen Elements
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          value - neuer Wert des Attributs
          +
          +
        • +
        + + + +
          +
        • +

          getDouble

          +
          public double getDouble​(String attribute)
          +
          Fragt einen Attributwert des aktuellen Elements ab
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          Returns:
          +
          Wert des Attributs als Double-Zahl
          +
          +
        • +
        + + + +
          +
        • +

          getDouble

          +
          public double getDouble​(String attribute,
          +                        double defaultValue)
          +
          Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          defaultValue - Standardwert, falls es das Attribut nicht gibt
          +
          Returns:
          +
          Wert des Attributs als double-Zahl
          +
          +
        • +
        + + + +
          +
        • +

          setDouble

          +
          public void setDouble​(String attribute,
          +                      double value)
          +
          Setzt einen Attributwert des aktuellen Elements
          +
          +
          Parameters:
          +
          attribute - Name des Attributs
          +
          value - neuer Wert des Attributs
          +
          +
        • +
        + + + +
          +
        • +

          getContent

          +
          public String getContent()
          +
          Fragt den Inhalt/Text des aktuellen Elements ab
          +
          +
          Returns:
          +
          Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          getContent

          +
          public String getContent​(String defaultValue)
          +
          Fragt den Inhalt/Text des aktuellen Elements ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
          +
          +
          Parameters:
          +
          defaultValue - Standardtext
          +
          Returns:
          +
          Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          setContent

          +
          public void setContent​(String text)
          +
          Setzt den Inhalt/Text des aktuellen Elements
          +
          +
          Parameters:
          +
          text - Neuer Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          getIntContent

          +
          public int getIntContent​(int defaultValue)
          +
          Fragt den Inhalt des aktuellen Elements als Integerzahl ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
          +
          +
          Parameters:
          +
          defaultValue - Standardwert
          +
          Returns:
          +
          Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          getIntContent

          +
          public int getIntContent()
          +
          Fragt den Inhalt des aktuellen Elements als Integerzahl ab
          +
          +
          Returns:
          +
          Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          setIntContent

          +
          public void setIntContent​(int value)
          +
          Setzt den Inhalt des aktuellen Elements
          +
          +
          Parameters:
          +
          value - Neuer Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          getFloatContent

          +
          public float getFloatContent​(float defaultValue)
          +
          Fragt den Inhalt des aktuellen Elements als Floatzahl ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
          +
          +
          Parameters:
          +
          defaultValue - Standardwert
          +
          Returns:
          +
          Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          getFloatContent

          +
          public float getFloatContent()
          +
          Fragt den Inhalt des aktuellen Elements als Floatzahl ab
          +
          +
          Returns:
          +
          Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          setFloatContent

          +
          public void setFloatContent​(float value)
          +
          Setzt den Inhalt des aktuellen Elements
          +
          +
          Parameters:
          +
          value - Neuer Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          getDoubleContent

          +
          public double getDoubleContent​(double defaultValue)
          +
          Fragt den Inhalt des aktuellen Elements als Doublezahl ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
          +
          +
          Parameters:
          +
          defaultValue - Standardwert
          +
          Returns:
          +
          Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          getDoubleContent

          +
          public double getDoubleContent()
          +
          Fragt den Inhalt des aktuellen Elements als Doublezahl ab
          +
          +
          Returns:
          +
          Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          setDoubleContent

          +
          public void setDoubleContent​(double value)
          +
          Setzt den Inhalt des aktuellen Elements
          +
          +
          Parameters:
          +
          value - Neuer Inhalt des Elements
          +
          +
        • +
        + + + +
          +
        • +

          addChild

          +
          public XML addChild​(String name)
          +
          Erzeuge neues Element nach der aktuellen Position und setze dieses als aktuelles Element
          +
          +
          Parameters:
          +
          name - Name des neuen Elements
          +
          Returns:
          +
          neues Element als XML-Objekt
          +
          +
        • +
        + + + +
          +
        • +

          removeChild

          +
          public void removeChild​(XML kid)
          +
          löscht ein Kind des aktuellen Knotens. + Ist kid kein Kind des aktuellen Elements passiert gar nichts.
          +
          +
          Parameters:
          +
          kid - XML-Objekt des Kindes
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + +
    + +
    + + diff --git a/doc/imp/package-summary.html b/doc/imp/package-summary.html index eabe03a..6185e1f 100644 --- a/doc/imp/package-summary.html +++ b/doc/imp/package-summary.html @@ -1,194 +1,194 @@ - - - - - -imp (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    -
    -
    -

    Package imp

    -
    -
    -
      -
    • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Class Summary 
      ClassDescription
      HSB -
      Hilfsklasse für das HSB-Farbmodell
      -
      NumberField 
      Picture -
      Bildklasse fuer die Simulation von Processing-Befehlen - - Diese Klasse stellt ein BufferedImage bereit, in das mit Processing-Befehlen gezeichnet - werden kann.
      -
      PictureViewer 
      Table 
      TableRow 
      XML 
      -
    • -
    -
    -
    -
    - -
    - - + + + + + +imp (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package imp

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      HSB +
      Hilfsklasse für das HSB-Farbmodell
      +
      NumberField 
      Picture +
      Bildklasse fuer die Simulation von Processing-Befehlen + + Diese Klasse stellt ein BufferedImage bereit, in das mit Processing-Befehlen gezeichnet + werden kann.
      +
      PictureViewer 
      Table 
      TableRow 
      XML 
      +
    • +
    +
    +
    +
    + +
    + + diff --git a/doc/imp/package-tree.html b/doc/imp/package-tree.html index b075a2e..96fb37d 100644 --- a/doc/imp/package-tree.html +++ b/doc/imp/package-tree.html @@ -1,194 +1,194 @@ - - - - - -imp Class Hierarchy (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    -
    -
    -

    Hierarchy For Package imp

    -Package Hierarchies: - -
    -
    -
    -

    Class Hierarchy

    -
      -
    • java.lang.Object -
        -
      • imp.HSB
      • -
      • javafx.scene.Node (implements javafx.event.EventTarget, javafx.css.Styleable) -
          -
        • javafx.scene.Parent -
            -
          • javafx.scene.layout.Region -
              -
            • javafx.scene.control.Control (implements javafx.scene.control.Skinnable) -
                -
              • javafx.scene.control.ScrollPane - -
              • -
              • javafx.scene.control.TextInputControl -
                  -
                • javafx.scene.control.TextField - -
                • -
                -
              • -
              -
            • -
            -
          • -
          -
        • -
        -
      • -
      • imp.Picture
      • -
      • imp.Table
      • -
      • imp.TableRow
      • -
      • imp.XML
      • -
      -
    • -
    -
    -
    -
    -
    - -
    - - + + + + + +imp Class Hierarchy (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package imp

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • imp.HSB
      • +
      • javafx.scene.Node (implements javafx.event.EventTarget, javafx.css.Styleable) +
          +
        • javafx.scene.Parent +
            +
          • javafx.scene.layout.Region +
              +
            • javafx.scene.control.Control (implements javafx.scene.control.Skinnable) +
                +
              • javafx.scene.control.ScrollPane + +
              • +
              • javafx.scene.control.TextInputControl +
                  +
                • javafx.scene.control.TextField + +
                • +
                +
              • +
              +
            • +
            +
          • +
          +
        • +
        +
      • +
      • imp.Picture
      • +
      • imp.Table
      • +
      • imp.TableRow
      • +
      • imp.XML
      • +
      +
    • +
    +
    +
    +
    +
    + +
    + + diff --git a/doc/index-all.html b/doc/index-all.html index e4d2597..4516891 100644 --- a/doc/index-all.html +++ b/doc/index-all.html @@ -1,2224 +1,2224 @@ - - - - - -Index (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    -
    -
    A B C D E F G H I K L M N O P Q R S T U V X 
    All Classes All Packages - - -

    A

    -
    -
    addChild(String) - Method in class imp.XML
    -
    -
    Erzeuge neues Element nach der aktuellen Position und setze dieses als aktuelles Element
    -
    -
    addColumn() - Method in class imp.Table
    -
    -
    Fügt eine neue Spalte am Ende der Tabelle an.
    -
    -
    addColumn(String) - Method in class imp.Table
    -
    -
    Fügt eine neue Spalte am Ende der Tabelle an und benennt sie.
    -
    -
    addColumn(String, String) - Method in class imp.Table
    -
    -
    Fügt eine neue Spalte am Ende der Tabelle an und benennt und typisiert sie.
    -
    -
    addRow() - Method in class imp.Table
    -
    -
    Fügt eine neue Zeile an das Ende der Tabelle an.
    -
    -
    algorithmen - package algorithmen
    -
     
    -
    append(String) - Method in class control.Hilfefenster
    -
     
    -
    append(String) - Method in interface graph.Hilfe
    -
     
    -
    ausgabe() - Method in class graph.Graph
    -
    -
    Konsolenausgabe der textuellen Repraesentation des Graphen.
    -
    -
    ausgabe() - Method in class graph.GraphPlotter
    -
    -
    Gibt die String-Repraesentation des GraphPlotters auf der Konsole aus.
    -
    -
    auswahl - Variable in class graph.GraphOptions
    -
     
    -
    - - - -

    B

    -
    -
    back() - Method in class imp.PictureViewer
    -
    -
    Ruft das letzte abgespeicherte Bild aus der History wieder auf.
    -
    -
    background(int) - Method in class imp.Picture
    -
    -
    Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird.
    -
    -
    background(int, int, int) - Method in class imp.Picture
    -
    -
    Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird.
    -
    -
    backtracking(Knoten) - Method in class algorithmen.GraphAlgo_ZyklusBacktracking
    -
     
    -
    bAnfang - Variable in class control.UnterTabMitController
    -
     
    -
    bAnfang(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bBesucht(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bBildLaden(ActionEvent) - Method in class control.EditTabMitController
    -
     
    -
    bBildLoeschen(ActionEvent) - Method in class control.EditTabMitController
    -
     
    -
    bDistanzenBestimmen(ActionEvent) - Method in class control.EditTabMitController
    -
     
    -
    bEnde - Variable in class control.UnterTabMitController
    -
     
    -
    bEnde(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    beste - Variable in class algorithmen.GraphAlgo_ColoringBacktracking
    -
     
    -
    beste - Variable in class algorithmen.GraphAlgo_DominatingSetBacktracking
    -
     
    -
    besteAnzahl - Variable in class algorithmen.GraphAlgo_ColoringBacktracking
    -
     
    -
    besteAnzahl - Variable in class algorithmen.GraphAlgo_DominatingSetBacktracking
    -
     
    -
    bGehezu - Variable in class control.UnterTabMitController
    -
     
    -
    bGeheZu(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bHinzufuegenAnfang(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bHinzufuegenEnde(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bildAnzeigen - Variable in class graph.GraphOptions
    -
     
    -
    bildDatei - Variable in class graph.GraphOptions
    -
     
    -
    bLoeschenAusListe(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bMarkieren(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bNaechster(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bSort(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bSortieren - Variable in class control.UnterTabMitController
    -
     
    -
    bStatus - Variable in class control.UnterTabMitController
    -
     
    -
    bStatusRestore(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bStatusSave(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    buildAuswahl() - Method in class control.UnterTabMitController
    -
     
    -
    bVoheriger(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    bWertAendern(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    - - - -

    C

    -
    -
    CENTER - Static variable in class imp.Picture
    -
     
    -
    clear() - Method in class imp.Picture
    -
    -
    Loescht den Inhalt des Bildes.
    -
    -
    clearRows() - Method in class imp.Table
    -
    -
    Löscht alle Zeilen der Tabelle.
    -
    -
    compareTo(GraphElement) - Method in class graph.GraphElement
    -
     
    -
    compareTo(GraphElement) - Method in class graph.Kante
    -
    -
    Vergleicht die Kante mit einer anderen Kante bezüglich ihres Gewichts
    -
    -
    compareTo(GraphElement) - Method in class graph.Knoten
    -
    -
    Vergleicht den Knoten mit einem anderen Knoten bezüglich seines Werts
    -
    -
    control - package control
    -
     
    -
    Controller - Class in control
    -
    -
    Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar.
    -
    -
    Controller() - Constructor for class control.Controller
    -
     
    -
    copy() - Method in class graph.GraphOptions
    -
     
    -
    CORNER - Static variable in class imp.Picture
    -
     
    -
    CORNERS - Static variable in class imp.Picture
    -
     
    -
    - - - -

    D

    -
    -
    delay(int) - Method in class imp.Picture
    -
    -
    Hilfsfunktion zum Verzoegern der Ausgabe
    -
    -
    - - - -

    E

    -
    -
    EditTabMitController - Class in control
    -
    -
    Die Klasse EditTabMitController stellt einen Tab inclusive ihres Controllers - zur Editierung eines Graphs dar.
    -
    -
    EditTabMitController(Graph, GraphOptions) - Constructor for class control.EditTabMitController
    -
     
    -
    eigeneAlgorithmen - package eigeneAlgorithmen
    -
     
    -
    ellipse(int, int, int, int) - Method in class imp.Picture
    -
    -
    Zeichnet eine Ellipse/Kreis auf das Bild.
    -
    -
    ellipseMode(int) - Method in class imp.Picture
    -
    -
    Aendert den Koordinaten-Modus beim Zeichnen von Kreisen/Ellipsen.
    -
    -
    entferneKante(int, int) - Method in class graph.Graph
    -
    -
    Entfernt eine Kante aus dem Graphen.
    -
    -
    entferneKante(Kante) - Method in class graph.Graph
    -
    -
    Entfernt eine Kante aus dem Graphen.
    -
    -
    entferneKante(Knoten, Knoten) - Method in class graph.Graph
    -
    -
    Entfernt eine Kante aus dem Graphen.
    -
    -
    entferneKnoten(int) - Method in class graph.Graph
    -
    -
    Entfernt einen Knoten aus dem Graphen
    -
    -
    entferneKnoten(Knoten) - Method in class graph.Graph
    -
    -
    Entfernt einen Knoten aus dem Graphen
    -
    -
    entferneMarkierungBeiAllenKnoten() - Method in class graph.Graph
    -
    -
    Entfernt die Markierung bei allen Knoten des Graphen.
    -
    -
    erzeugeZufaelligeRundreise() - Method in class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    erzeugeZufaelligeTeilmenge() - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    -
     
    -
    - - - -

    F

    -
    -
    farbenKanten - Variable in class graph.GraphOptions
    -
     
    -
    farbenKnoten - Variable in class graph.GraphOptions
    -
     
    -
    fill(int) - Method in class imp.Picture
    -
    -
    Legt die Farbe fest, mit der Formen gefuellt werden.
    -
    -
    fill(int, int, int) - Method in class imp.Picture
    -
    -
    Legt die Farbe fest, mit der Formen gefuellt werden.
    -
    -
    fill(String) - Method in class imp.Picture
    -
    -
    Legt die Farbe fest, mit der Formen gefuellt werden.
    -
    -
    findRow(String, int) - Method in class imp.Table
    -
    -
    Sucht nach einem bestimmtem Wert in einer Zeile.
    -
    -
    findRow(String, String) - Method in class imp.Table
    -
    -
    Sucht nach einem bestimmtem Wert in einer Zeile.
    -
    -
    FIT - Static variable in class imp.PictureViewer
    -
     
    -
    fokusArt - Variable in class graph.GraphOptions
    -
     
    -
    forceRepaint() - Method in class imp.Picture
    -
    -
    Ein repaint() (das Neuzeichnen) kann manuell erzwungen werden.
    -
    -
    format - Variable in class imp.TableRow
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_BellmanFord
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_Breitensuche
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_ColoringBacktracking
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_ColoringGreedy
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_ColoringGreedyRandom
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_Dijkstra
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetBacktracking
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyA
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyB
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyC
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyD
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyE
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyF
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyG
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyH
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyI
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_EulerkreisExistenz
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_Moore
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_MST_Kruskal
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_MST_Prim
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_Tiefensuche
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TiefensucheRek
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_toplogischeSortierung
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPBacktracking
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPGreedy
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPGreedy2
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPGreedyOpt
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_ZyklusBacktracking
    -
     
    -
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo
    -
     
    -
    fuehreAlgorithmusAus() - Method in class eigeneAlgorithmen.GraphAlgo_Coloring_Schueler
    -
     
    -
    - - - -

    G

    -
    -
    g - Variable in class algorithmen.GraphAlgo
    -
     
    -
    getAdjazenzMatrix() - Method in class graph.Graph
    -
    -
    Die Methode getAdjazenzMatrix() gibt die Adjazenzmatrix zurueck.
    -
    -
    getAlleKanten(Predicate<Kante>...) - Method in class graph.Graph
    -
    -
    Gibt eine Liste aller Kanten des Graphen zurück.
    -
    -
    getAlleKnoten(Predicate<Knoten>...) - Method in class graph.Graph
    -
    -
    Gibt eine Liste aller Knoten des Graphen zurueck.
    -
    -
    getAnderesEnde(Knoten) - Method in class graph.Kante
    -
    -
    Gibt Knoten am anderen Ende der Kante zurueck
    -
    -
    getAnzahlKnoten() - Method in class graph.Graph
    -
    -
    Gibt die Anzahl der Knoten im Graph zurueck
    -
    -
    getAttributeCount() - Method in class imp.XML
    -
    -
    liefert die Anzahl der Attribute eines Elements.
    -
    -
    getAusgehendeKanten(int, Predicate<Kante>...) - Method in class graph.Graph
    -
    -
    Gibt eine Liste der ausgehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    -
    -
    getAusgehendeKanten(Knoten, Predicate<Kante>...) - Method in class graph.Graph
    -
    -
    Gibt eine Liste der ausgehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    -
    -
    getBewertung(int[]) - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_BellmanFord
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_Breitensuche
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_ColoringBacktracking
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_ColoringGreedy
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_ColoringGreedyRandom
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_Dijkstra
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetBacktracking
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyA
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyB
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyC
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyD
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyE
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyF
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyG
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyH
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyI
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_EulerkreisExistenz
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_Moore
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_MST_Kruskal
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_MST_Prim
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_Tiefensuche
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TiefensucheRek
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_toplogischeSortierung
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPBacktracking
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPGreedy
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPGreedy2
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPGreedyOpt
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo_ZyklusBacktracking
    -
     
    -
    getBezeichnung() - Method in class algorithmen.GraphAlgo
    -
     
    -
    getBezeichnung() - Method in class eigeneAlgorithmen.GraphAlgo_Coloring_Schueler
    -
     
    -
    getBrightness(Color) - Static method in class imp.HSB
    -
    -
    Liefert die Helligkeit als Wert zwischen 0.0 (0%) und 1.0 (100%).
    -
    -
    getChild(int) - Method in class imp.XML
    -
    -
    Liefert das i.
    -
    -
    getChild(String) - Method in class imp.XML
    -
    -
    Liefert das erste Kind des Elements mit einem bestimmten Namen.
    -
    -
    getChildren() - Method in class imp.XML
    -
    -
    Liefert alle Kinder des Elements als Array von XML-Objekten.
    -
    -
    getChildren(String) - Method in class imp.XML
    -
    -
    Liefert bestimmte Kinder des Elements als Array von XML-Objekten.
    -
    -
    getColor(double, double, double) - Static method in class imp.HSB
    -
    -
    Liefert ein Java-Color-Objekt mit den angegebenen HSB-Werten.
    -
    -
    getColumn(String) - Method in class imp.TableRow
    -
    -
    Liefert die Nummer einer Spalte
    -
    -
    getColumnCount() - Method in class imp.Table
    -
    -
    Liefert die Anzahl der Spalten in der Tabelle
    -
    -
    getColumnCount() - Method in class imp.TableRow
    -
    -
    Liefert die Anzahl der Spalten der Zeile.
    -
    -
    getColumnTitle(int) - Method in class imp.TableRow
    -
    -
    Liefert den Titel einer Spalte
    -
    -
    getContent() - Method in class imp.XML
    -
    -
    Fragt den Inhalt/Text des aktuellen Elements ab
    -
    -
    getContent(String) - Method in class imp.XML
    -
    -
    Fragt den Inhalt/Text des aktuellen Elements ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
    -
    -
    getDouble(int) - Method in class imp.TableRow
    -
    -
    Liefert den Wert einer Zelle als Double-Zahl
    -
    -
    getDouble(int, int) - Method in class imp.Table
    -
    -
    Liefert den Wert einer Zelle als Double-Zahl
    -
    -
    getDouble(int, String) - Method in class imp.Table
    -
    -
    Liefert den Wert einer Zelle als Double-Zahl
    -
    -
    getDouble(String) - Method in class imp.TableRow
    -
    -
    Liefert den Wert einer Zelle als Double-Zahl
    -
    -
    getDouble(String) - Method in class imp.XML
    -
    -
    Fragt einen Attributwert des aktuellen Elements ab
    -
    -
    getDouble(String, double) - Method in class imp.XML
    -
    -
    Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
    -
    -
    getDoubleColumn(int) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als Double-Array.
    -
    -
    getDoubleColumn(String) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als Double-Array.
    -
    -
    getDoubleContent() - Method in class imp.XML
    -
    -
    Fragt den Inhalt des aktuellen Elements als Doublezahl ab
    -
    -
    getDoubleContent(double) - Method in class imp.XML
    -
    -
    Fragt den Inhalt des aktuellen Elements als Doublezahl ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
    -
    -
    getDoubleRow(int) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als Double-Array.
    -
    -
    getDoubleValue() - Method in class imp.NumberField
    -
     
    -
    getDoubleWert() - Method in class graph.Knoten
    -
    -
    Gibt den Wert vom Knoten als Double-Wert zurueck
    -
    -
    getEingehendeKanten(int, Predicate<Kante>...) - Method in class graph.Graph
    -
    -
    Gibt eine Liste der eingehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    -
    -
    getEingehendeKanten(Knoten, Predicate<Kante>...) - Method in class graph.Graph
    -
    -
    Gibt eine Liste der eingehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    -
    -
    getFarbe() - Method in class graph.Kante
    -
    -
    Gibt zurueck, in welcher Farbe die Kante gezeichnet werden soll.
    -
    -
    getFarbe() - Method in class graph.Knoten
    -
    -
    Gibt den Index der Farbe des Knoten zurück.
    -
    -
    getFloat(int) - Method in class imp.TableRow
    -
    -
    Liefert den Wert einer Zelle als Float-Zahl
    -
    -
    getFloat(int, int) - Method in class imp.Table
    -
    -
    Liefert den Wert einer Zelle als Float-Zahl
    -
    -
    getFloat(int, String) - Method in class imp.Table
    -
    -
    Liefert den Wert einer Zelle als Float-Zahl
    -
    -
    getFloat(String) - Method in class imp.TableRow
    -
    -
    Liefert den Wert einer Zelle als Float-Zahl
    -
    -
    getFloat(String) - Method in class imp.XML
    -
    -
    Fragt einen Attributwert des aktuellen Elements ab
    -
    -
    getFloat(String, float) - Method in class imp.XML
    -
    -
    Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
    -
    -
    getFloatColumn(int) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als Float-Array.
    -
    -
    getFloatColumn(String) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als Float-Array.
    -
    -
    getFloatContent() - Method in class imp.XML
    -
    -
    Fragt den Inhalt des aktuellen Elements als Floatzahl ab
    -
    -
    getFloatContent(float) - Method in class imp.XML
    -
    -
    Fragt den Inhalt des aktuellen Elements als Floatzahl ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
    -
    -
    getFloatRow(int) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Zeile als Float-Array.
    -
    -
    getGewicht() - Method in class graph.Kante
    -
    -
    Gibt das Gewicht der Kante zurueck
    -
    -
    getGraph() - Method in class graph.GraphPlotter
    -
    -
    Gibt den Graphen zurueck.
    -
    -
    getGraphOptions() - Method in class control.TabMitController
    -
     
    -
    getGraphOptions() - Method in class graph.GraphPlotter
    -
     
    -
    getHeight() - Method in class imp.Picture
    -
    -
    Liefert die Hoehe des Bildes zurueck.
    -
    -
    getHue(Color) - Static method in class imp.HSB
    -
    -
    Liefert den Farbton als Winkel zwischen 0.0° und 360.0°.
    -
    -
    getImage() - Method in class imp.Picture
    -
    -
    Direktes Abfragen des Bildes (fuer interne Zwecke)
    -
    -
    getImage() - Method in class imp.PictureViewer
    -
    -
    Liefert das angezeigte Bild
    -
    -
    getInfo() - Method in class algorithmen.GraphAlgo_TSPBacktracking
    -
     
    -
    getInfo() - Method in class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    getInfo() - Method in class algorithmen.GraphAlgo_TSPGreedy
    -
     
    -
    getInfo() - Method in class algorithmen.GraphAlgo_TSPGreedy2
    -
     
    -
    getInfo() - Method in class algorithmen.GraphAlgo_TSPGreedyOpt
    -
     
    -
    getInfotext() - Method in class graph.Knoten
    -
    -
    Liefert den Infotext des Knotens
    -
    -
    getInt(int) - Method in class imp.TableRow
    -
    -
    Liefert den Wert einer Zelle als Int-Zahl
    -
    -
    getInt(int, int) - Method in class imp.Table
    -
    -
    Liefert den Wert einer Zelle als Integer-Zahl
    -
    -
    getInt(int, String) - Method in class imp.Table
    -
    -
    Liefert den Wert einer Zelle als Integer-Zahl
    -
    -
    getInt(String) - Method in class imp.TableRow
    -
    -
    Liefert den Wert einer Zelle als Int-Zahl
    -
    -
    getInt(String) - Method in class imp.XML
    -
    -
    Fragt einen Attributwert des aktuellen Elements ab
    -
    -
    getInt(String, int) - Method in class imp.XML
    -
    -
    Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
    -
    -
    getIntColumn(int) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als Integer-Array.
    -
    -
    getIntColumn(String) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als Integer-Array.
    -
    -
    getIntContent() - Method in class imp.XML
    -
    -
    Fragt den Inhalt des aktuellen Elements als Integerzahl ab
    -
    -
    getIntContent(int) - Method in class imp.XML
    -
    -
    Fragt den Inhalt des aktuellen Elements als Integerzahl ab - Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
    -
    -
    getIntRow(int) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Zeile als Integer-Array.
    -
    -
    getIntValue() - Method in class imp.NumberField
    -
     
    -
    getIntWert() - Method in class graph.Knoten
    -
    -
    Gibt den Wert vom Knoten als Integer-Wert zurueck
    -
    -
    getKante(int, int) - Method in class graph.Graph
    -
    -
    Gibt eine gesuchte Kante aus dem Graphen zurueck.
    -
    -
    getKante(Knoten, Knoten) - Method in class graph.Graph
    -
    -
    Gibt eine gesuchte Kante aus dem Graphen zurueck.
    -
    -
    getKnoten(int) - Method in class graph.Graph
    -
    -
    Liefert einen Knoten des Graphen
    -
    -
    getKnoteninfo(Knoten, boolean) - Method in class graph.Graph
    -
    -
    Info über einen Knoten zurückgeben
    -
    -
    getLaenge() - Method in class algorithmen.GraphAlgo_TSPGreedyOpt
    -
     
    -
    getLaenge(int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    getNachbarknoten(Knoten, Predicate<Knoten>...) - Method in class graph.Graph
    -
    -
    Gibt die Liste aller Nachbarknoten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    -
    -
    getName() - Method in class imp.XML
    -
    -
    Frage den Namen des aktuellen Elements ab
    -
    -
    getNummer(Kante) - Method in class graph.Graph
    -
    -
    Gibt die Nummer einer Kante zurück
    -
    -
    getNummer(Knoten) - Method in class graph.Graph
    -
    -
    Gibt die Nummer eines Knotens im Graphen zurück
    -
    -
    getObserver() - Method in class imp.Picture
    -
     
    -
    getParent() - Method in class imp.XML
    -
    -
    liefert ein XML-Objekt, das auf den Vaterknoten des aktuellen Elements zeigt.
    -
    -
    getPixelArray() - Method in class imp.Picture
    -
    -
    Liefert das Bild als zweidimensionales Pixel-Array.
    -
    -
    getRestrictTo() - Method in class graph.GraphPlotter
    -
     
    -
    getRow(int) - Method in class imp.Table
    -
    -
    Liefert eine Zeile der Tabelle
    -
    -
    getRowCount() - Method in class imp.Table
    -
    -
    Liefert die Anzahl der Zeilen in der Tabelle
    -
    -
    getSaturation(Color) - Static method in class imp.HSB
    -
    -
    Liefert die Sättigung als Wert zwischen 0.0 (0%) und 1.0 (100%).
    -
    -
    getSelectedKante() - Method in class graph.GraphPlotter
    -
    -
    Gibt das selektierte Kantenobjekt zurueck.
    -
    -
    getSelectedKnoten() - Method in class graph.GraphPlotter
    -
    -
    Gibt das selektierte Knotenobjekt zurueck.
    -
    -
    getSelectedKnotenListe() - Method in class graph.GraphPlotter
    -
    -
    Gibt die selektierte KnotenobjektListe (als Array) zurueck.
    -
    -
    getStart() - Method in class graph.Kante
    -
    -
    Gibt den Startknoten der Kante zurueck
    -
    -
    getStartKnoten() - Method in class algorithmen.GraphAlgo
    -
     
    -
    getStatus() - Method in class graph.Graph
    -
    -
    Speichert den Zustand des Graphen als String-List
    -
    -
    getStatus() - Method in class graph.GraphElement
    -
     
    -
    getStatus() - Method in class graph.Kante
    -
    -
    Liefert den Status einer Kante als String.
    -
    -
    getStatus() - Method in class graph.Knoten
    -
    -
    Liefert den Status eines Knotens als Status-String - Format: wert,markiert,besucht,farbe - wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und - farbe eine zahl ist.
    -
    -
    getString(int) - Method in class imp.TableRow
    -
    -
    Liefert den Wert einer Zelle als String
    -
    -
    getString(int, int) - Method in class imp.Table
    -
    -
    Liefert den Wert einer Zelle als String
    -
    -
    getString(int, String) - Method in class imp.Table
    -
    -
    Liefert den Wert einer Zelle als String
    -
    -
    getString(String) - Method in class imp.TableRow
    -
    -
    Liefert den Wert einer Zelle als String
    -
    -
    getString(String) - Method in class imp.XML
    -
    -
    Fragt einen Attributwert des aktuellen Elements ab
    -
    -
    getString(String, String) - Method in class imp.XML
    -
    -
    Fragt einen Attributwert des aktuellen Elements ab - Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
    -
    -
    getStringColumn(int) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als String-Array.
    -
    -
    getStringColumn(String) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als String-Array.
    -
    -
    getStringRow(int) - Method in class imp.Table
    -
    -
    Liefert alle Werte einer Spalte als String-Array.
    -
    -
    getText() - Method in class graph.GraphOptions
    -
     
    -
    getViewer() - Method in class control.TabMitController
    -
     
    -
    getWaitforclick() - Method in class algorithmen.GraphAlgo
    -
     
    -
    getWaitforrepaint() - Method in class algorithmen.GraphAlgo
    -
     
    -
    getWidth() - Method in class imp.Picture
    -
    -
    Liefert die Breite des Bildes zurueck.
    -
    -
    getX() - Method in class graph.Knoten
    -
    -
    Liefert die x-Position des Knotens
    -
    -
    getY() - Method in class graph.Knoten
    -
    -
    Liefert die y-Position des Knotens
    -
    -
    getZiel() - Method in class graph.Kante
    -
    -
    Gibt den Zielknoten der Kante zurueck
    -
    -
    graph - package graph
    -
     
    -
    graph - Variable in class control.TabMitController
    -
     
    -
    Graph - Class in graph
    -
    -
    Dies ist das Herz vom "GraphTester" - der Graph selber, gepeichert als Adjazenzliste.
    -
    -
    Graph() - Constructor for class graph.Graph
    -
    -
    Der Konstruktor erstellt einen neuen ungerichteten, ungewichteten Graphen (genauer eine neue Adjazenzliste)
    -
    -
    Graph(boolean, boolean) - Constructor for class graph.Graph
    -
    -
    Der Konstruktor erstellt einen neuen Graphen (genauer eine neue Adjazenzliste)
    -
    -
    GraphAlgo - Class in algorithmen
    -
    -
    description
    -
    -
    GraphAlgo() - Constructor for class algorithmen.GraphAlgo
    -
     
    -
    GraphAlgo_BellmanFord - Class in algorithmen
    -
    -
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    -
    -
    GraphAlgo_BellmanFord() - Constructor for class algorithmen.GraphAlgo_BellmanFord
    -
     
    -
    GraphAlgo_Breitensuche - Class in algorithmen
    -
    -
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    -
    -
    GraphAlgo_Breitensuche() - Constructor for class algorithmen.GraphAlgo_Breitensuche
    -
     
    -
    GraphAlgo_Coloring_Schueler - Class in eigeneAlgorithmen
    -
    -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    -
    GraphAlgo_Coloring_Schueler() - Constructor for class eigeneAlgorithmen.GraphAlgo_Coloring_Schueler
    -
     
    -
    GraphAlgo_ColoringBacktracking - Class in algorithmen
    -
    -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    -
    GraphAlgo_ColoringBacktracking() - Constructor for class algorithmen.GraphAlgo_ColoringBacktracking
    -
     
    -
    GraphAlgo_ColoringGreedy - Class in algorithmen
    -
    -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    -
    GraphAlgo_ColoringGreedy() - Constructor for class algorithmen.GraphAlgo_ColoringGreedy
    -
     
    -
    GraphAlgo_ColoringGreedyRandom - Class in algorithmen
    -
    -
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten - die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    -
    -
    GraphAlgo_ColoringGreedyRandom() - Constructor for class algorithmen.GraphAlgo_ColoringGreedyRandom
    -
     
    -
    GraphAlgo_Dijkstra - Class in algorithmen
    -
    -
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    -
    -
    GraphAlgo_Dijkstra() - Constructor for class algorithmen.GraphAlgo_Dijkstra
    -
     
    -
    GraphAlgo_DominatingSetBacktracking - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetBacktracking() - Constructor for class algorithmen.GraphAlgo_DominatingSetBacktracking
    -
     
    -
    GraphAlgo_DominatingSetGenetisch - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGenetisch() - Constructor for class algorithmen.GraphAlgo_DominatingSetGenetisch
    -
     
    -
    GraphAlgo_DominatingSetGreedyA - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGreedyA() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyA
    -
     
    -
    GraphAlgo_DominatingSetGreedyB - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGreedyB() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyB
    -
     
    -
    GraphAlgo_DominatingSetGreedyC - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGreedyC() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyC
    -
     
    -
    GraphAlgo_DominatingSetGreedyD - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGreedyD() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyD
    -
     
    -
    GraphAlgo_DominatingSetGreedyE - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGreedyE() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyE
    -
     
    -
    GraphAlgo_DominatingSetGreedyF - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGreedyF() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyF
    -
     
    -
    GraphAlgo_DominatingSetGreedyG - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGreedyG() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyG
    -
     
    -
    GraphAlgo_DominatingSetGreedyH - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGreedyH() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyH
    -
     
    -
    GraphAlgo_DominatingSetGreedyI - Class in algorithmen
    -
    -
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen - und bestimmt den Zeitbedarf.
    -
    -
    GraphAlgo_DominatingSetGreedyI() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyI
    -
     
    -
    GraphAlgo_EulerkreisExistenz - Class in algorithmen
    -
    -
    Dieser Algorithmus testet, ob ein Eulerkreis existiert.
    -
    -
    GraphAlgo_EulerkreisExistenz() - Constructor for class algorithmen.GraphAlgo_EulerkreisExistenz
    -
     
    -
    GraphAlgo_Moore - Class in algorithmen
    -
    -
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen.
    -
    -
    GraphAlgo_Moore() - Constructor for class algorithmen.GraphAlgo_Moore
    -
     
    -
    GraphAlgo_MST_Kruskal - Class in algorithmen
    -
    -
    Dieser Algorithmus sucht einen minimal Spanning Tree - Algorithmus: Kruskal
    -
    -
    GraphAlgo_MST_Kruskal() - Constructor for class algorithmen.GraphAlgo_MST_Kruskal
    -
     
    -
    GraphAlgo_MST_Prim - Class in algorithmen
    -
    -
    Dieser Algorithmus sucht einen minimal Spanning Tree - Algorithmus: Prim
    -
    -
    GraphAlgo_MST_Prim() - Constructor for class algorithmen.GraphAlgo_MST_Prim
    -
     
    -
    GraphAlgo_Tiefensuche - Class in algorithmen
    -
    -
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    -
    -
    GraphAlgo_Tiefensuche() - Constructor for class algorithmen.GraphAlgo_Tiefensuche
    -
     
    -
    GraphAlgo_TiefensucheRek - Class in algorithmen
    -
    -
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    -
    -
    GraphAlgo_TiefensucheRek() - Constructor for class algorithmen.GraphAlgo_TiefensucheRek
    -
     
    -
    GraphAlgo_toplogischeSortierung - Class in algorithmen
    -
    -
    Dieser Algorithmus findet eine topologische Sortierung des Graphen.
    -
    -
    GraphAlgo_toplogischeSortierung() - Constructor for class algorithmen.GraphAlgo_toplogischeSortierung
    -
     
    -
    GraphAlgo_TSPBacktracking - Class in algorithmen
    -
    -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    -
    GraphAlgo_TSPBacktracking() - Constructor for class algorithmen.GraphAlgo_TSPBacktracking
    -
     
    -
    GraphAlgo_TSPGenetisch - Class in algorithmen
    -
    -
    description
    -
    -
    GraphAlgo_TSPGenetisch() - Constructor for class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    GraphAlgo_TSPGreedy - Class in algorithmen
    -
    -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    -
    GraphAlgo_TSPGreedy() - Constructor for class algorithmen.GraphAlgo_TSPGreedy
    -
     
    -
    GraphAlgo_TSPGreedy2 - Class in algorithmen
    -
    -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    -
    GraphAlgo_TSPGreedy2() - Constructor for class algorithmen.GraphAlgo_TSPGreedy2
    -
     
    -
    GraphAlgo_TSPGreedyOpt - Class in algorithmen
    -
    -
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling - Salesman Problem).
    -
    -
    GraphAlgo_TSPGreedyOpt() - Constructor for class algorithmen.GraphAlgo_TSPGreedyOpt
    -
     
    -
    GraphAlgo_ZyklusBacktracking - Class in algorithmen
    -
    -
    Dieser Algorithmus ist ein Beispiel für einen Backtracking-Algorithmus.
    -
    -
    GraphAlgo_ZyklusBacktracking() - Constructor for class algorithmen.GraphAlgo_ZyklusBacktracking
    -
     
    -
    graphClicked(MouseEvent) - Method in class control.EditTabMitController
    -
     
    -
    graphClicked(MouseEvent) - Method in class control.UnterTabMitController
    -
     
    -
    GraphElement - Class in graph
    -
    -
    Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten.
    -
    -
    GraphElement() - Constructor for class graph.GraphElement
    -
     
    -
    GraphenTester - Class in <Unnamed>
    -
     
    -
    GraphenTester() - Constructor for class GraphenTester
    -
     
    -
    graphLaden(String) - Method in class control.Controller
    -
     
    -
    GraphOptions - Class in graph
    -
    -
    Die Klasse GraphOptions speichert, wie ein Graph in einem Fenster vom - GraphPlotter angezeigt wird.
    -
    -
    GraphOptions() - Constructor for class graph.GraphOptions
    -
     
    -
    GraphPlotter - Class in graph
    -
    -
    Der GraphPlotter ist das Herzstueck der Visualisierung und dient als Schnittstelle zur GUI.
    -
    -
    GraphPlotter() - Constructor for class graph.GraphPlotter
    -
    -
    Der Konstruktor legt sowohl Einstellungen des mxGraphen (Drag&Drop, Editable, ...) als auch des Graphen (gewichtet, gerichtet, ...) fest.
    -
    -
    - - - -

    H

    -
    -
    hasAttribute() - Method in class imp.XML
    -
    -
    liefert zurück, ob das aktuelle Element Attribute hat .
    -
    -
    hasChildren() - Method in class imp.XML
    -
    -
    Überprüft, ob das Element irgendwelche Kinder hat oder nicht, und gibt das Ergebnis als boolean zurück.
    -
    -
    HauptTabMitController - Class in control
    -
    -
    Die Klasse HauptTabMitController stellt einen Tab inclusive ihres Controllers - für das Hauptfenster des Graphentesters dar.
    -
    -
    HauptTabMitController(Graph, GraphOptions) - Constructor for class control.HauptTabMitController
    -
     
    -
    Hilfe - Interface in graph
    -
     
    -
    Hilfefenster - Class in control
    -
    -
    Die Klasse Hilfefenster stellt ein Hilfefenster für die Simulation eines - Algorithmus bereit.
    -
    -
    Hilfefenster() - Constructor for class control.Hilfefenster
    -
     
    -
    HSB - Class in imp
    -
    -
    Hilfsklasse für das HSB-Farbmodell
    -
    -
    HSB() - Constructor for class imp.HSB
    -
     
    -
    - - - -

    I

    -
    -
    imp - package imp
    -
     
    -
    inArbeit - Variable in class algorithmen.GraphAlgo
    -
     
    -
    indentLess() - Method in class control.Hilfefenster
    -
     
    -
    indentLess() - Method in interface graph.Hilfe
    -
     
    -
    indentMore() - Method in class control.Hilfefenster
    -
     
    -
    indentMore() - Method in interface graph.Hilfe
    -
     
    -
    info(String) - Method in class algorithmen.GraphAlgo
    -
     
    -
    infoIndentLess() - Method in class algorithmen.GraphAlgo
    -
     
    -
    infoIndentMore() - Method in class algorithmen.GraphAlgo
    -
     
    -
    init() - Method in class graph.Kante
    -
    -
    Die Methode init initialisiert die Kantenfaerbung (auf unmarkiert)
    -
    -
    init() - Method in class graph.Knoten
    -
    -
    Die Methode init initialisiert den Zustand eines Knotens
    -
    -
    initialisiereAlleKanten() - Method in class graph.Graph
    -
    -
    Initialisiert alle Kanten des Graphen.
    -
    -
    initialisiereAlleKnoten() - Method in class graph.Graph
    -
    -
    Initialisiert alle Knoten des Graphen.
    -
    -
    initialize() - Method in class control.Controller
    -
     
    -
    initialize() - Method in class control.EditTabMitController
    -
     
    -
    initialize() - Method in class control.HauptTabMitController
    -
     
    -
    initialize() - Method in class control.Hilfefenster
    -
     
    -
    initialize() - Method in class control.SimulationTabMitController
    -
     
    -
    initialize() - Method in class control.TabMitController
    -
     
    -
    initialize() - Method in class control.UnterTabMitController
    -
     
    -
    isBesucht() - Method in class graph.Knoten
    -
    -
    Gibt den Besuchtwert vom Knoten zurueck
    -
    -
    isFarbeAutomatisch() - Method in class graph.Knoten
    -
    -
    Gibt zurück, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
    -
    -
    isGeloescht() - Method in class graph.Kante
    -
    -
    Gibt den gelöscht-Wert der Kante zurueck
    -
    -
    isGerichtet() - Method in class graph.Graph
    -
    -
    Gibt zurueck, ob der Graph gerichtet oder ungerichtet ist.
    -
    -
    isGewichtet() - Method in class graph.Graph
    -
    -
    Gibt zurueck, ob der Graph gewichtet oder ungewichtet ist
    -
    -
    isKanteEnthalten(int, int) - Method in class graph.Graph
    -
    -
    Ueberprueft, ob eine Kante im Graphen enthalten ist.
    -
    -
    isKanteEnthalten(Kante) - Method in class graph.Graph
    -
    -
    Ueberprueft, ob eine Kante im Graphen enthalten ist.
    -
    -
    isKanteEnthalten(Knoten, Knoten) - Method in class graph.Graph
    -
    -
    Ueberprueft, ob eine Kante im Graphen enthalten ist.
    -
    -
    isKnotenEnthalten(Knoten) - Method in class graph.Graph
    -
    -
    Ueberprueft, ob ein Knoten in der Knotenliste enthalten ist.
    -
    -
    isLeer() - Method in class graph.Graph
    -
    -
    Ueberprueft, ob die Adjazenzliste leer ist, d.h. keine Knoten im Graphen enthalten sind.
    -
    -
    isMarkiert() - Method in class graph.Kante
    -
    -
    Gibt zurück, ob die Kanten markiert ist
    -
    -
    isMarkiert() - Method in class graph.Knoten
    -
    -
    Gibt den Markiertwert vom Knoten zurueck
    -
    -
    - - - -

    K

    -
    -
    Kante - Class in graph
    -
    -
    Die Klasse Kante beschreibt die Datenstruktur einer Kante, bestehend aus Startknoten, Gewicht und Zielknoten.
    -
    -
    Kante(Knoten, Knoten, double) - Constructor for class graph.Kante
    -
    -
    Der Konstruktor erstellt eine neue Kante mit Start- und Zielknoten und Kantengewicht.
    -
    -
    Knoten - Class in graph
    -
    -
    Diese Klasse Knoten definiert einen Knoten.
    -
    -
    Knoten(int, int) - Constructor for class graph.Knoten
    -
    -
    Der Konstruktor erstellt einen neuen Knoten mit einem neuen Namen
    -
    -
    Knoten(int, int, double) - Constructor for class graph.Knoten
    -
    -
    Der Konstruktor erstellt einen neuen Knoten mit einem Startwert
    -
    -
    knotenFarbe(MouseEvent) - Method in class control.UnterTabMitController
    -
     
    -
    kreuze(int[], int[]) - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    -
     
    -
    kreuze(int[], int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    - - - -

    L

    -
    -
    ladeGraph(Table) - Method in class graph.Graph
    -
    -
    Ein Graph wird aus einer csv-Datei erstellt, die entweder - eine Matrix oder eine Adjazenzliste enthält, die den Graph beschreibt.
    -
    -
    ladeGraph(Table) - Method in class graph.GraphOptions
    -
     
    -
    line(int, int, int, int) - Method in class imp.Picture
    -
    -
    Zeichnet eine Linie (einen direkten Weg zwischen zwei Punkten) auf den Bildschirm.
    -
    -
    listAttributes() - Method in class imp.XML
    -
    -
    Ruft alle Attribute des angegebenen Elements ab und gibt sie als Array von Strings zurück.
    -
    -
    listChildren() - Method in class imp.XML
    -
    -
    Ermittelt die Namen aller Kinder des Elements und gibt die Namen als ein Array von Strings zurück.
    -
    -
    load(String) - Method in class imp.Picture
    -
    -
    Laedt ein Bild aus dem Dateisystem.
    -
    -
    loadCSV(String) - Method in class imp.Table
    -
    -
    Liest den Inhalt einer CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
    -
    -
    loadCSV(String, String) - Method in class imp.Table
    -
    -
    Liest den Inhalt einer CSV-Datei (Separator = ';', Kennung für Text = '"').
    -
    -
    loadCSV(String, String, char, char) - Method in class imp.Table
    -
    -
    Liest den Inhalt einer CSV-Datei.
    -
    -
    loadXML(String) - Method in class imp.XML
    -
    -
    Öffnet das durch den Dateinamen gegebene Dokument
    -
    -
    loescheAlles() - Method in class control.Hilfefenster
    -
     
    -
    loescheAlles() - Method in class graph.Graph
    -
    -
    Loescht den gesamten Graphen
    -
    -
    loescheAlles() - Method in interface graph.Hilfe
    -
     
    -
    loescheGraph() - Method in class graph.Graph
    -
    -
    Löscht alle Knoten und Kanten eines Graphen und stellt auf ungerichtet und ungewichtet zurück.
    -
    -
    - - - -

    M

    -
    -
    main(String[]) - Static method in class GraphenTester
    -
     
    -
    mBearbeiten(MouseEvent) - Method in class control.Controller
    -
     
    -
    mBeenden(ActionEvent) - Method in class control.Controller
    -
     
    -
    mBeenden(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mBesucheKnoten(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mBesuchtLoeschen(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mBreak(ActionEvent) - Method in class control.SimulationTabMitController
    -
     
    -
    mChangeHilfefenster(ActionEvent) - Method in class control.Controller
    -
     
    -
    mChangeOptionBild(ActionEvent) - Method in class control.Controller
    -
     
    -
    mChangeOptionKantengewichte(ActionEvent) - Method in class control.Controller
    -
     
    -
    mChangeOptionKnoteninfo(ActionEvent) - Method in class control.Controller
    -
     
    -
    mChangeOptionKnotenname(ActionEvent) - Method in class control.Controller
    -
     
    -
    mChangeOptionKnotenwerte(ActionEvent) - Method in class control.Controller
    -
     
    -
    melde(String) - Method in class algorithmen.GraphAlgo
    -
     
    -
    menuChangeAnsicht() - Method in class control.Controller
    -
     
    -
    mExperimentiereAuswahl(ActionEvent) - Method in class control.Controller
    -
     
    -
    mExperimentiereKanten(ActionEvent) - Method in class control.Controller
    -
     
    -
    mExperimentiereKnoten(ActionEvent) - Method in class control.Controller
    -
     
    -
    mFaerbeKnoten(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mInfotextAendern() - Method in class control.EditTabMitController
    -
     
    -
    mLoesche() - Method in class control.EditTabMitController
    -
     
    -
    mMarkiereKnoten(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mMarkierungenLoeschen(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mNeuerGraph(ActionEvent) - Method in class control.Controller
    -
     
    -
    mOeffnen(ActionEvent) - Method in class control.Controller
    -
     
    -
    mOeffnen(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mouseClicked(MouseEvent) - Method in class graph.GraphPlotter
    -
     
    -
    mouseDown(MouseEvent) - Method in class graph.GraphPlotter
    -
     
    -
    mouseDragged(MouseEvent) - Method in class graph.GraphPlotter
    -
     
    -
    mouseUp(MouseEvent) - Method in class graph.GraphPlotter
    -
     
    -
    mReset(ActionEvent) - Method in class control.SimulationTabMitController
    -
     
    -
    mResetAlles(ActionEvent) - Method in class control.Controller
    -
     
    -
    mResetBesucht(ActionEvent) - Method in class control.Controller
    -
     
    -
    mResetFarbe(ActionEvent) - Method in class control.Controller
    -
     
    -
    mResetGeloescht(ActionEvent) - Method in class control.Controller
    -
     
    -
    mResetKantenmarkierung(ActionEvent) - Method in class control.Controller
    -
     
    -
    mResetMarkierung(ActionEvent) - Method in class control.Controller
    -
     
    -
    mResetWert(ActionEvent) - Method in class control.Controller
    -
     
    -
    mSchliessen(ActionEvent) - Method in class control.Controller
    -
     
    -
    mSchliessen(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mSimuliere(MouseEvent) - Method in class control.Controller
    -
     
    -
    mSpeichern(ActionEvent) - Method in class control.Controller
    -
     
    -
    mSpeichern(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mStart(ActionEvent) - Method in class control.SimulationTabMitController
    -
     
    -
    mStep(ActionEvent) - Method in class control.SimulationTabMitController
    -
     
    -
    mUeber(ActionEvent) - Method in class control.Controller
    -
     
    -
    mUeber(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mutiere(int[]) - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    -
     
    -
    mutiere(int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    mutiere2(int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    mWertAendern() - Method in class control.EditTabMitController
    -
     
    -
    mWertSetzen(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    mZurueck(ActionEvent) - Method in class control.UnterTabMitController
    -
     
    -
    - - - -

    N

    -
    -
    neueKante(Kante) - Method in class graph.Graph
    -
    -
    Fuegt eine Kante dem Graphen hinzu.
    -
    -
    neueKante(Knoten, Knoten, double) - Method in class graph.Graph
    -
    -
    Fuegt eine Kante dem Graphen hinzu.
    -
    -
    neuerKnoten(Knoten) - Method in class graph.Graph
    -
    -
    Fügt einen Knoten dem Graph hinzu.
    -
    -
    noFill() - Method in class imp.Picture
    -
    -
    Legt fest, dass die Formen nicht gefuellt werden sollen.
    -
    -
    NORMAL - Static variable in class imp.PictureViewer
    -
     
    -
    noStroke() - Method in class imp.Picture
    -
    -
    Legt fest, dass keine Linien oder Raender um Formen gezeichnet werden soll.
    -
    -
    NumberField - Class in imp
    -
     
    -
    NumberField() - Constructor for class imp.NumberField
    -
     
    -
    - - - -

    O

    -
    -
    options - Variable in class control.TabMitController
    -
     
    -
    - - - -

    P

    -
    -
    parent - Variable in class graph.GraphOptions
    -
     
    -
    Picture - Class in imp
    -
    -
    Bildklasse fuer die Simulation von Processing-Befehlen - - Diese Klasse stellt ein BufferedImage bereit, in das mit Processing-Befehlen gezeichnet - werden kann.
    -
    -
    Picture() - Constructor for class imp.Picture
    -
    -
    Erzeugt ein Bild mit Standardgroesse 500x400
    -
    -
    Picture(int, int) - Constructor for class imp.Picture
    -
    -
    Erzeugt ein Bild der angegeben Groesse
    -
    -
    Picture(int, int, String) - Constructor for class imp.Picture
    -
    -
    Erzeugt ein Bild der angegebenen Groesse mit festgelegtem Hintergrund
    -
    -
    Picture(String) - Constructor for class imp.Picture
    -
    -
    Erzeugt ein Bild aus einer Datei
    -
    -
    PictureViewer - Class in imp
    -
     
    -
    PictureViewer() - Constructor for class imp.PictureViewer
    -
    -
    Erzeugt ein ScrollPanel mit integriertem Bild der Größe 1000x1000
    -
    -
    PictureViewer(int, int) - Constructor for class imp.PictureViewer
    -
    -
    Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
    -
    -
    PictureViewer(int, int, String) - Constructor for class imp.PictureViewer
    -
    -
    Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
    -
    -
    PictureViewer(Picture) - Constructor for class imp.PictureViewer
    -
    -
    Erzeugt ein ScrollPanel und zeigt das Bild-Objekt an
    -
    -
    PictureViewer(String) - Constructor for class imp.PictureViewer
    -
    -
    Erzeugt ein ScrollPanel mit integriertem Bild aus einer Bilddatei
    -
    -
    point(int, int) - Method in class imp.Picture
    -
    -
    Zeichnet einen Punkt, d.h. einen Kreis in der Dimension eines Pixels.
    -
    -
    polygon(int[], int[]) - Method in class imp.Picture
    -
    -
    Zeichnet ein Polygon auf das Bild.
    -
    -
    probiere(Knoten) - Method in class algorithmen.GraphAlgo_TSPBacktracking
    -
     
    -
    pushImage() - Method in class imp.PictureViewer
    -
    -
    Speichert das übergebene Bild in der History.
    -
    -
    - - - -

    Q

    -
    -
    quad(int, int, int, int, int, int, int, int) - Method in class imp.Picture
    -
    -
    Zeichnet ein Viereck auf das Bild.
    -
    -
    - - - -

    R

    -
    -
    RADIUS - Static variable in class imp.Picture
    -
     
    -
    rect(int, int, int, int) - Method in class imp.Picture
    -
    -
    Zeichnet ein Rechteck auf das Bild.
    -
    -
    rectMode(int) - Method in class imp.Picture
    -
    -
    Aendert den Koordinaten-Modus beim Zeichnen von Rechtecken.
    -
    -
    removeChild(XML) - Method in class imp.XML
    -
    -
    löscht ein Kind des aktuellen Knotens.
    -
    -
    removeColumn(int) - Method in class imp.Table
    -
    -
    Löscht eine Spalte.
    -
    -
    removeColumn(String) - Method in class imp.Table
    -
    -
    Löscht eine Spalte
    -
    -
    removeRow(int) - Method in class imp.Table
    -
    -
    Löscht eine Zeile
    -
    -
    repaint() - Method in class imp.PictureViewer
    -
    -
    Setzt das angezeigt Bild neu und beachtet dabei den Zoomfaktor.
    -
    -
    replaceSelection(String) - Method in class imp.NumberField
    -
     
    -
    replaceText(int, int, String) - Method in class imp.NumberField
    -
     
    -
    resetInfo() - Method in class algorithmen.GraphAlgo
    -
     
    -
    rows() - Method in class imp.Table
    -
    -
    Liefert die ganze Tabelle als Array von TableRow-Objekten
    -
    -
    run() - Method in class algorithmen.GraphAlgo
    -
     
    -
    - - - -

    S

    -
    -
    save(String) - Method in class imp.Picture
    -
    -
    Speichert ein Bild.
    -
    -
    saveAsMatrix - Variable in class graph.GraphOptions
    -
     
    -
    saveCSV(String) - Method in class imp.Table
    -
    -
    Speichert das aktuelle Dokument als CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
    -
    -
    saveCSV(String, String) - Method in class imp.Table
    -
    -
    Speichert das aktuelle Dokument als CSV-Datei (Separator = ';', Kennung für Text = '"').
    -
    -
    saveCSV(String, String, char, char) - Method in class imp.Table
    -
    -
    Speichert das aktuelle Dokument als CSV-Datei.
    -
    -
    saveXML(String) - Method in class imp.Table
    -
    -
    Speichert die Tabelle als XML-Dokument.
    -
    -
    saveXML(String) - Method in class imp.XML
    -
    -
    Speichert den XML-Baum im angegebenen Dateinamen
    -
    -
    schliesseTabs() - Method in class control.Controller
    -
     
    -
    setAuswahl(List<GraphElement>) - Method in class control.UnterTabMitController
    -
     
    -
    setAutoRefresh(boolean) - Method in class imp.Picture
    -
    -
    Legt fest, ob nach jedem Zeichenbefehl automatisch das Bild auch in - der Oberflaeche aktualisiert wird.
    -
    -
    setBesucht(boolean) - Method in class graph.Knoten
    -
    -
    Setzt das Besuchtattribut vom Knoten
    -
    -
    setContent(String) - Method in class imp.XML
    -
    -
    Setzt den Inhalt/Text des aktuellen Elements
    -
    -
    setDouble(int, double) - Method in class imp.TableRow
    -
    -
    Setzt den Wert einer Zelle als Double-Zahl
    -
    -
    setDouble(int, int, double) - Method in class imp.Table
    -
    -
    Setzt den Wert einer Zelle als Double-Zahl
    -
    -
    setDouble(int, String, double) - Method in class imp.Table
    -
    -
    Setzt den Wert einer Zelle als Double-Zahl
    -
    -
    setDouble(String, double) - Method in class imp.TableRow
    -
    -
    Setzt den Wert einer Zelle als Double-Zahl
    -
    -
    setDouble(String, double) - Method in class imp.XML
    -
    -
    Setzt einen Attributwert des aktuellen Elements
    -
    -
    setDoubleContent(double) - Method in class imp.XML
    -
    -
    Setzt den Inhalt des aktuellen Elements
    -
    -
    setEditable() - Method in class graph.GraphPlotter
    -
     
    -
    setFarbe(int) - Method in class graph.Kante
    -
    -
    Setzt die Farbe auf einen bestimmten Farbindex
    -
    -
    setFarbe(int) - Method in class graph.Knoten
    -
    -
    Setzt den Index der Farbe des Knoten.
    -
    -
    setFarbeAutomatisch(boolean) - Method in class graph.Knoten
    -
    -
    Legt fest, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
    -
    -
    setFloat(int, float) - Method in class imp.TableRow
    -
    -
    Setzt den Wert einer Zelle als Float-Zahl
    -
    -
    setFloat(int, int, float) - Method in class imp.Table
    -
    -
    Setzt den Wert einer Zelle als Float-Zahl
    -
    -
    setFloat(int, String, float) - Method in class imp.Table
    -
    -
    Setzt den Wert einer Zelle als Float-Zahl
    -
    -
    setFloat(String, float) - Method in class imp.TableRow
    -
    -
    Setzt den Wert einer Zelle als Float-Zahl
    -
    -
    setFloat(String, float) - Method in class imp.XML
    -
    -
    Setzt einen Attributwert des aktuellen Elements
    -
    -
    setFloatContent(float) - Method in class imp.XML
    -
    -
    Setzt den Inhalt des aktuellen Elements
    -
    -
    setGeloescht(boolean) - Method in class graph.Kante
    -
    -
    Setzt das gelöscht-Attribut der Kante
    -
    -
    setGerichtet(boolean) - Method in class control.EditTabMitController
    -
     
    -
    setGerichtet(boolean) - Method in class graph.Graph
    -
    -
    Legt fest, ob der Graph gerichtet oder ungerichtet ist.
    -
    -
    setGewicht(double) - Method in class graph.Kante
    -
    -
    Setzt das Gewicht der Kante
    -
    -
    setGewichtet(boolean) - Method in class control.EditTabMitController
    -
     
    -
    setGewichtet(boolean) - Method in class graph.Graph
    -
    -
    Legt fest, ob der Graph gewichtet oder ungewichtet ist.
    -
    -
    setGraph(Graph) - Method in class algorithmen.GraphAlgo
    -
     
    -
    setGraph(Graph, GraphOptions) - Method in class control.SimulationTabMitController
    -
     
    -
    setGraph(Graph, GraphOptions) - Method in class control.TabMitController
    -
     
    -
    setGraph(Graph, GraphOptions) - Method in class control.UnterTabMitController
    -
     
    -
    setGraph(Graph, GraphOptions) - Method in class graph.GraphPlotter
    -
     
    -
    setGraphPlotter(GraphPlotter) - Method in class control.Hilfefenster
    -
     
    -
    setGraphPlotter(GraphPlotter) - Method in interface graph.Hilfe
    -
     
    -
    setGUIElemente(GraphPlotter, Hilfe) - Method in class algorithmen.GraphAlgo
    -
     
    -
    setImage(Picture, boolean) - Method in class imp.PictureViewer
    -
    -
    Setzt das anzuzeigende Bild neu
    -
    -
    setImage(BufferedImage) - Method in class imp.Picture
    -
    -
    Direktes Setzen des Bildes (fuer interne Zwecke)
    -
    -
    setInfotext(boolean) - Method in class control.EditTabMitController
    -
     
    -
    setInfotext(String) - Method in class graph.Knoten
    -
    -
    Setzt den Infotext für einen Knoten
    -
    -
    setInt(int, int) - Method in class imp.TableRow
    -
    -
    Setzt den Wert einer Zelle als Int-Zahl
    -
    -
    setInt(int, int, int) - Method in class imp.Table
    -
    -
    Setzt den Wert einer Zelle als Integer-Zahl
    -
    -
    setInt(int, String, int) - Method in class imp.Table
    -
    -
    Setzt den Wert einer Zelle als Integer-Zahl
    -
    -
    setInt(String, int) - Method in class imp.TableRow
    -
    -
    Setzt den Wert einer Zelle als Int-Zahl
    -
    -
    setInt(String, int) - Method in class imp.XML
    -
    -
    Setzt einen Attributwert des aktuellen Elements
    -
    -
    setIntContent(int) - Method in class imp.XML
    -
    -
    Setzt den Inhalt des aktuellen Elements
    -
    -
    setKnotenTyp(Toggle) - Method in class control.EditTabMitController
    -
     
    -
    setMarkiert(boolean) - Method in class graph.Kante
    -
    -
    Setzt das markiert-Attribut der Kante
    -
    -
    setMarkiert(boolean) - Method in class graph.Knoten
    -
    -
    Setzt das Markiertattribut vom Knoten
    -
    -
    setName(String) - Method in class imp.XML
    -
    -
    Setze den Namen des aktuellen Elements.
    -
    -
    setObserver(PictureViewer) - Method in class imp.Picture
    -
    -
    Legt fest, wer das Bild anzeigt.
    -
    -
    setPixelArray(Color[][]) - Method in class imp.Picture
    -
    -
    Setzt das Bild neu auf Basis des Pixel-Arrays.
    -
    -
    setRestrictTo(GraphElement) - Method in class graph.GraphPlotter
    -
     
    -
    setReviewAllowed(boolean) - Method in class control.Hilfefenster
    -
     
    -
    setReviewAllowed(boolean) - Method in interface graph.Hilfe
    -
     
    -
    setSpeed(int) - Method in class algorithmen.GraphAlgo
    -
     
    -
    setStandardFarbe() - Method in class graph.Kante
    -
    -
    Setzt die Farbe auf die Standardfarbgebung zurück
    -
    -
    setStart(Knoten) - Method in class graph.Kante
    -
    -
    Setzt den Startknoten der Kante
    -
    -
    setStartKnoten(Knoten) - Method in class algorithmen.GraphAlgo
    -
     
    -
    setStatus(String) - Method in class graph.GraphElement
    -
     
    -
    setStatus(String) - Method in class graph.Kante
    -
    -
    Setzt den Status einer Kante, der in einem String gespeichert ist.
    -
    -
    setStatus(String) - Method in class graph.Knoten
    -
    -
    Setzt den Status eines Knotens aus einem Status-String - Format: wert,markiert,besucht,farbe - wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und - farbe eine zahl ist.
    -
    -
    setStatus(List<String>) - Method in class graph.Graph
    -
    -
    Stellt den Zustand des Graphen aus String-List wieder her
    -
    -
    setStepping(boolean) - Method in class algorithmen.GraphAlgo
    -
     
    -
    setString(int, int, String) - Method in class imp.Table
    -
    -
    Setzt den Wert einer Zelle als String
    -
    -
    setString(int, String) - Method in class imp.TableRow
    -
    -
    Setzt den Wert einer Zelle als String
    -
    -
    setString(int, String, String) - Method in class imp.Table
    -
    -
    Setzt den Wert einer Zelle als String
    -
    -
    setString(String, String) - Method in class imp.TableRow
    -
    -
    Setzt den Wert einer Zelle als String
    -
    -
    setString(String, String) - Method in class imp.XML
    -
    -
    Setzt einen Attributwert des aktuellen Elements
    -
    -
    setValue(double) - Method in class imp.NumberField
    -
     
    -
    setValue(int) - Method in class imp.NumberField
    -
     
    -
    setWaitforclick(boolean) - Method in class algorithmen.GraphAlgo
    -
     
    -
    setWaitforrepaint(boolean) - Method in class algorithmen.GraphAlgo
    -
     
    -
    setWert(double) - Method in class graph.Knoten
    -
    -
    Setzt den Wert beim Knoten
    -
    -
    setX(int) - Method in class graph.Knoten
    -
    -
    Setzt die x-Position des Knotens
    -
    -
    setY(int) - Method in class graph.Knoten
    -
    -
    Setzt die y-Position des Knotens
    -
    -
    setZiel(Knoten) - Method in class graph.Kante
    -
    -
    Setzt den Zielknoten der Kante
    -
    -
    setZoom(double) - Method in class imp.PictureViewer
    -
    -
    Setzt den Zoom-Faktor für das Bild.
    -
    -
    sGroesseAendern(Number) - Method in class control.EditTabMitController
    -
     
    -
    showEdgeWeights - Variable in class graph.GraphOptions
    -
     
    -
    showHilfe(boolean) - Method in class control.SimulationTabMitController
    -
     
    -
    showInFrame() - Method in class imp.Picture
    -
     
    -
    showRundreise(int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    -
     
    -
    showState() - Method in class control.Hilfefenster
    -
     
    -
    showTeilmenge(int[]) - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    -
     
    -
    showVertexInfo - Variable in class graph.GraphOptions
    -
     
    -
    showVertexText - Variable in class graph.GraphOptions
    -
     
    -
    showVertexValue - Variable in class graph.GraphOptions
    -
     
    -
    SimulationTabMitController - Class in control
    -
    -
    Die Klasse SimulationTabMitController stellt einen Tab inclusive ihres Controllers - zur Simulation eines Algorithmus dar.
    -
    -
    SimulationTabMitController(Graph, GraphOptions) - Constructor for class control.SimulationTabMitController
    -
     
    -
    size(int, int) - Method in class imp.Picture
    -
    -
    Definiert die Dimension der Breite und Hoehe des Anzeigefensters in Pixeleinheiten.
    -
    -
    start(Stage) - Method in class GraphenTester
    -
     
    -
    stdFarbenKanten - Variable in class graph.GraphOptions
    -
     
    -
    stdFarbenKnoten - Variable in class graph.GraphOptions
    -
     
    -
    step() - Method in class algorithmen.GraphAlgo
    -
     
    -
    stroke(int) - Method in class imp.Picture
    -
    -
    Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
    -
    -
    stroke(int, int, int) - Method in class imp.Picture
    -
    -
    Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
    -
    -
    stroke(String) - Method in class imp.Picture
    -
    -
    Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
    -
    -
    strokeWeight(double) - Method in class imp.Picture
    -
    -
    Legt die Breite des Strichs fuer Linien, Punkte und den Rand um Formen fest.
    -
    -
    - - - -

    T

    -
    -
    Table - Class in imp
    -
     
    -
    Table() - Constructor for class imp.Table
    -
    -
    Erzeugt leeres Tabellen-Dokument.
    -
    -
    Table(String) - Constructor for class imp.Table
    -
    -
    Erzeugt Tabellen-Dokument aus einer CSV-Datei.
    -
    -
    Table(String, String) - Constructor for class imp.Table
    -
    -
    Erzeugt Tabellen-Dokument aus einer CSV-Datei.
    -
    -
    Table(String, String, char, char) - Constructor for class imp.Table
    -
    -
    Erzeugt Tabellen-Dokument aus einer CSV-Datei.
    -
    -
    TableRow - Class in imp
    -
     
    -
    TableRow(Document, Element) - Constructor for class imp.TableRow
    -
    -
    Erzeugt ein TableRow-Objekt.
    -
    -
    TabMitController - Class in control
    -
    -
    Die Klasse TabMitController stellt die Oberklasse für alle Tabs des Graphentesters - dar.
    -
    -
    TabMitController() - Constructor for class control.TabMitController
    -
     
    -
    tabOeffnen(GraphOptions) - Method in class control.TabMitController
    -
     
    -
    text(String, int, int) - Method in class imp.Picture
    -
    -
    Gibt einen Text an den gegebenen Koordinaten aus - Zur Ausgabe des Textes wird der ausgewaehlte Font verwendet.
    -
    -
    textFont(Font) - Method in class imp.Picture
    -
    -
    Legt die Schriftart fuer Textausgaben fest.
    -
    -
    textMode(int) - Method in class imp.Picture
    -
    -
    Aendert den Koordinaten-Modus beim Zeichnen von Texten.
    -
    -
    toCSVString(boolean) - Method in class graph.Graph
    -
    -
    Die Methode erstellt eine CSV-Ausgabe des Graphen entweder als Adjazenzliste oder als Adjazenzmatrix.
    -
    -
    toString() - Method in class graph.Graph
    -
    -
    Textuelle Repraesentation des Graphen.
    -
    -
    toString() - Method in class graph.GraphPlotter
    -
    -
    Ueberschreibt die Methode toString.
    -
    -
    toString() - Method in class graph.Kante
    -
    -
    Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation einer Kante zurueck
    -
    -
    toString() - Method in class graph.Knoten
    -
    -
    Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation eines Knotens zurueck
    -
    -
    triangle(int, int, int, int, int, int) - Method in class imp.Picture
    -
    -
    Zeichnet ein Dreieck auf das Bild.
    -
    -
    trim() - Method in class imp.Table
    -
    -
    Kürzt alle Einträge der Tabelle um unnötige Leerzeichen am Anfang oder Ende
    -
    -
    - - - -

    U

    -
    -
    UnterTabMitController - Class in control
    -
    -
    Die Klasse UnterTabMitController stellt einen Tab inclusive ihres Controllers - zur händischen Erforschung eines Algorithmus.
    -
    -
    UnterTabMitController(Graph, GraphOptions) - Constructor for class control.UnterTabMitController
    -
     
    -
    update() - Method in class control.TabMitController
    -
     
    -
    update() - Method in class control.UnterTabMitController
    -
     
    -
    updateImage() - Method in class graph.GraphPlotter
    -
     
    -
    updateInfofeld() - Method in class control.UnterTabMitController
    -
     
    -
    - - - -

    V

    -
    -
    vertexSize - Variable in class graph.GraphOptions
    -
     
    -
    viewer - Variable in class control.TabMitController
    -
     
    -
    - - - -

    X

    -
    -
    XML - Class in imp
    -
     
    -
    XML() - Constructor for class imp.XML
    -
    -
    Erzeugt ein leeres XMLDokument
    -
    -
    XML(String) - Constructor for class imp.XML
    -
    -
    Erzeugt ein XML-Dokument aus einer Datei
    -
    -
    -A B C D E F G H I K L M N O P Q R S T U V X 
    All Classes All Packages
    -
    -
    - -
    - - + + + + + +Index (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    +
    +
    A B C D E F G H I K L M N O P Q R S T U V X 
    All Classes All Packages + + +

    A

    +
    +
    addChild(String) - Method in class imp.XML
    +
    +
    Erzeuge neues Element nach der aktuellen Position und setze dieses als aktuelles Element
    +
    +
    addColumn() - Method in class imp.Table
    +
    +
    Fügt eine neue Spalte am Ende der Tabelle an.
    +
    +
    addColumn(String) - Method in class imp.Table
    +
    +
    Fügt eine neue Spalte am Ende der Tabelle an und benennt sie.
    +
    +
    addColumn(String, String) - Method in class imp.Table
    +
    +
    Fügt eine neue Spalte am Ende der Tabelle an und benennt und typisiert sie.
    +
    +
    addRow() - Method in class imp.Table
    +
    +
    Fügt eine neue Zeile an das Ende der Tabelle an.
    +
    +
    algorithmen - package algorithmen
    +
     
    +
    append(String) - Method in class control.Hilfefenster
    +
     
    +
    append(String) - Method in interface graph.Hilfe
    +
     
    +
    ausgabe() - Method in class graph.Graph
    +
    +
    Konsolenausgabe der textuellen Repraesentation des Graphen.
    +
    +
    ausgabe() - Method in class graph.GraphPlotter
    +
    +
    Gibt die String-Repraesentation des GraphPlotters auf der Konsole aus.
    +
    +
    auswahl - Variable in class graph.GraphOptions
    +
     
    +
    + + + +

    B

    +
    +
    back() - Method in class imp.PictureViewer
    +
    +
    Ruft das letzte abgespeicherte Bild aus der History wieder auf.
    +
    +
    background(int) - Method in class imp.Picture
    +
    +
    Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird.
    +
    +
    background(int, int, int) - Method in class imp.Picture
    +
    +
    Die Funktion background() setzt die Farbe, die fuer den Hintergrund des Bildes verwendet wird.
    +
    +
    backtracking(Knoten) - Method in class algorithmen.GraphAlgo_ZyklusBacktracking
    +
     
    +
    bAnfang - Variable in class control.UnterTabMitController
    +
     
    +
    bAnfang(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bBesucht(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bBildLaden(ActionEvent) - Method in class control.EditTabMitController
    +
     
    +
    bBildLoeschen(ActionEvent) - Method in class control.EditTabMitController
    +
     
    +
    bDistanzenBestimmen(ActionEvent) - Method in class control.EditTabMitController
    +
     
    +
    bEnde - Variable in class control.UnterTabMitController
    +
     
    +
    bEnde(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    beste - Variable in class algorithmen.GraphAlgo_ColoringBacktracking
    +
     
    +
    beste - Variable in class algorithmen.GraphAlgo_DominatingSetBacktracking
    +
     
    +
    besteAnzahl - Variable in class algorithmen.GraphAlgo_ColoringBacktracking
    +
     
    +
    besteAnzahl - Variable in class algorithmen.GraphAlgo_DominatingSetBacktracking
    +
     
    +
    bGehezu - Variable in class control.UnterTabMitController
    +
     
    +
    bGeheZu(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bHinzufuegenAnfang(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bHinzufuegenEnde(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bildAnzeigen - Variable in class graph.GraphOptions
    +
     
    +
    bildDatei - Variable in class graph.GraphOptions
    +
     
    +
    bLoeschenAusListe(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bMarkieren(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bNaechster(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bSort(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bSortieren - Variable in class control.UnterTabMitController
    +
     
    +
    bStatus - Variable in class control.UnterTabMitController
    +
     
    +
    bStatusRestore(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bStatusSave(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    buildAuswahl() - Method in class control.UnterTabMitController
    +
     
    +
    bVoheriger(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    bWertAendern(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    + + + +

    C

    +
    +
    CENTER - Static variable in class imp.Picture
    +
     
    +
    clear() - Method in class imp.Picture
    +
    +
    Loescht den Inhalt des Bildes.
    +
    +
    clearRows() - Method in class imp.Table
    +
    +
    Löscht alle Zeilen der Tabelle.
    +
    +
    compareTo(GraphElement) - Method in class graph.GraphElement
    +
     
    +
    compareTo(GraphElement) - Method in class graph.Kante
    +
    +
    Vergleicht die Kante mit einer anderen Kante bezüglich ihres Gewichts
    +
    +
    compareTo(GraphElement) - Method in class graph.Knoten
    +
    +
    Vergleicht den Knoten mit einem anderen Knoten bezüglich seines Werts
    +
    +
    control - package control
    +
     
    +
    Controller - Class in control
    +
    +
    Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar.
    +
    +
    Controller() - Constructor for class control.Controller
    +
     
    +
    copy() - Method in class graph.GraphOptions
    +
     
    +
    CORNER - Static variable in class imp.Picture
    +
     
    +
    CORNERS - Static variable in class imp.Picture
    +
     
    +
    + + + +

    D

    +
    +
    delay(int) - Method in class imp.Picture
    +
    +
    Hilfsfunktion zum Verzoegern der Ausgabe
    +
    +
    + + + +

    E

    +
    +
    EditTabMitController - Class in control
    +
    +
    Die Klasse EditTabMitController stellt einen Tab inclusive ihres Controllers + zur Editierung eines Graphs dar.
    +
    +
    EditTabMitController(Graph, GraphOptions) - Constructor for class control.EditTabMitController
    +
     
    +
    eigeneAlgorithmen - package eigeneAlgorithmen
    +
     
    +
    ellipse(int, int, int, int) - Method in class imp.Picture
    +
    +
    Zeichnet eine Ellipse/Kreis auf das Bild.
    +
    +
    ellipseMode(int) - Method in class imp.Picture
    +
    +
    Aendert den Koordinaten-Modus beim Zeichnen von Kreisen/Ellipsen.
    +
    +
    entferneKante(int, int) - Method in class graph.Graph
    +
    +
    Entfernt eine Kante aus dem Graphen.
    +
    +
    entferneKante(Kante) - Method in class graph.Graph
    +
    +
    Entfernt eine Kante aus dem Graphen.
    +
    +
    entferneKante(Knoten, Knoten) - Method in class graph.Graph
    +
    +
    Entfernt eine Kante aus dem Graphen.
    +
    +
    entferneKnoten(int) - Method in class graph.Graph
    +
    +
    Entfernt einen Knoten aus dem Graphen
    +
    +
    entferneKnoten(Knoten) - Method in class graph.Graph
    +
    +
    Entfernt einen Knoten aus dem Graphen
    +
    +
    entferneMarkierungBeiAllenKnoten() - Method in class graph.Graph
    +
    +
    Entfernt die Markierung bei allen Knoten des Graphen.
    +
    +
    erzeugeZufaelligeRundreise() - Method in class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    erzeugeZufaelligeTeilmenge() - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    +
     
    +
    + + + +

    F

    +
    +
    farbenKanten - Variable in class graph.GraphOptions
    +
     
    +
    farbenKnoten - Variable in class graph.GraphOptions
    +
     
    +
    fill(int) - Method in class imp.Picture
    +
    +
    Legt die Farbe fest, mit der Formen gefuellt werden.
    +
    +
    fill(int, int, int) - Method in class imp.Picture
    +
    +
    Legt die Farbe fest, mit der Formen gefuellt werden.
    +
    +
    fill(String) - Method in class imp.Picture
    +
    +
    Legt die Farbe fest, mit der Formen gefuellt werden.
    +
    +
    findRow(String, int) - Method in class imp.Table
    +
    +
    Sucht nach einem bestimmtem Wert in einer Zeile.
    +
    +
    findRow(String, String) - Method in class imp.Table
    +
    +
    Sucht nach einem bestimmtem Wert in einer Zeile.
    +
    +
    FIT - Static variable in class imp.PictureViewer
    +
     
    +
    fokusArt - Variable in class graph.GraphOptions
    +
     
    +
    forceRepaint() - Method in class imp.Picture
    +
    +
    Ein repaint() (das Neuzeichnen) kann manuell erzwungen werden.
    +
    +
    format - Variable in class imp.TableRow
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_BellmanFord
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_Breitensuche
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_ColoringBacktracking
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_ColoringGreedy
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_ColoringGreedyRandom
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_Dijkstra
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetBacktracking
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyA
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyB
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyC
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyD
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyE
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyF
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyG
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyH
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyI
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_EulerkreisExistenz
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_Moore
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_MST_Kruskal
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_MST_Prim
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_Tiefensuche
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TiefensucheRek
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_toplogischeSortierung
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPBacktracking
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPGreedy
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPGreedy2
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_TSPGreedyOpt
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo_ZyklusBacktracking
    +
     
    +
    fuehreAlgorithmusAus() - Method in class algorithmen.GraphAlgo
    +
     
    +
    fuehreAlgorithmusAus() - Method in class eigeneAlgorithmen.GraphAlgo_Coloring_Schueler
    +
     
    +
    + + + +

    G

    +
    +
    g - Variable in class algorithmen.GraphAlgo
    +
     
    +
    getAdjazenzMatrix() - Method in class graph.Graph
    +
    +
    Die Methode getAdjazenzMatrix() gibt die Adjazenzmatrix zurueck.
    +
    +
    getAlleKanten(Predicate<Kante>...) - Method in class graph.Graph
    +
    +
    Gibt eine Liste aller Kanten des Graphen zurück.
    +
    +
    getAlleKnoten(Predicate<Knoten>...) - Method in class graph.Graph
    +
    +
    Gibt eine Liste aller Knoten des Graphen zurueck.
    +
    +
    getAnderesEnde(Knoten) - Method in class graph.Kante
    +
    +
    Gibt Knoten am anderen Ende der Kante zurueck
    +
    +
    getAnzahlKnoten() - Method in class graph.Graph
    +
    +
    Gibt die Anzahl der Knoten im Graph zurueck
    +
    +
    getAttributeCount() - Method in class imp.XML
    +
    +
    liefert die Anzahl der Attribute eines Elements.
    +
    +
    getAusgehendeKanten(int, Predicate<Kante>...) - Method in class graph.Graph
    +
    +
    Gibt eine Liste der ausgehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    +
    +
    getAusgehendeKanten(Knoten, Predicate<Kante>...) - Method in class graph.Graph
    +
    +
    Gibt eine Liste der ausgehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    +
    +
    getBewertung(int[]) - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_BellmanFord
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_Breitensuche
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_ColoringBacktracking
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_ColoringGreedy
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_ColoringGreedyRandom
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_Dijkstra
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetBacktracking
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyA
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyB
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyC
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyD
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyE
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyF
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyG
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyH
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_DominatingSetGreedyI
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_EulerkreisExistenz
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_Moore
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_MST_Kruskal
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_MST_Prim
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_Tiefensuche
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TiefensucheRek
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_toplogischeSortierung
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPBacktracking
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPGreedy
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPGreedy2
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_TSPGreedyOpt
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo_ZyklusBacktracking
    +
     
    +
    getBezeichnung() - Method in class algorithmen.GraphAlgo
    +
     
    +
    getBezeichnung() - Method in class eigeneAlgorithmen.GraphAlgo_Coloring_Schueler
    +
     
    +
    getBrightness(Color) - Static method in class imp.HSB
    +
    +
    Liefert die Helligkeit als Wert zwischen 0.0 (0%) und 1.0 (100%).
    +
    +
    getChild(int) - Method in class imp.XML
    +
    +
    Liefert das i.
    +
    +
    getChild(String) - Method in class imp.XML
    +
    +
    Liefert das erste Kind des Elements mit einem bestimmten Namen.
    +
    +
    getChildren() - Method in class imp.XML
    +
    +
    Liefert alle Kinder des Elements als Array von XML-Objekten.
    +
    +
    getChildren(String) - Method in class imp.XML
    +
    +
    Liefert bestimmte Kinder des Elements als Array von XML-Objekten.
    +
    +
    getColor(double, double, double) - Static method in class imp.HSB
    +
    +
    Liefert ein Java-Color-Objekt mit den angegebenen HSB-Werten.
    +
    +
    getColumn(String) - Method in class imp.TableRow
    +
    +
    Liefert die Nummer einer Spalte
    +
    +
    getColumnCount() - Method in class imp.Table
    +
    +
    Liefert die Anzahl der Spalten in der Tabelle
    +
    +
    getColumnCount() - Method in class imp.TableRow
    +
    +
    Liefert die Anzahl der Spalten der Zeile.
    +
    +
    getColumnTitle(int) - Method in class imp.TableRow
    +
    +
    Liefert den Titel einer Spalte
    +
    +
    getContent() - Method in class imp.XML
    +
    +
    Fragt den Inhalt/Text des aktuellen Elements ab
    +
    +
    getContent(String) - Method in class imp.XML
    +
    +
    Fragt den Inhalt/Text des aktuellen Elements ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
    +
    +
    getDouble(int) - Method in class imp.TableRow
    +
    +
    Liefert den Wert einer Zelle als Double-Zahl
    +
    +
    getDouble(int, int) - Method in class imp.Table
    +
    +
    Liefert den Wert einer Zelle als Double-Zahl
    +
    +
    getDouble(int, String) - Method in class imp.Table
    +
    +
    Liefert den Wert einer Zelle als Double-Zahl
    +
    +
    getDouble(String) - Method in class imp.TableRow
    +
    +
    Liefert den Wert einer Zelle als Double-Zahl
    +
    +
    getDouble(String) - Method in class imp.XML
    +
    +
    Fragt einen Attributwert des aktuellen Elements ab
    +
    +
    getDouble(String, double) - Method in class imp.XML
    +
    +
    Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
    +
    +
    getDoubleColumn(int) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als Double-Array.
    +
    +
    getDoubleColumn(String) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als Double-Array.
    +
    +
    getDoubleContent() - Method in class imp.XML
    +
    +
    Fragt den Inhalt des aktuellen Elements als Doublezahl ab
    +
    +
    getDoubleContent(double) - Method in class imp.XML
    +
    +
    Fragt den Inhalt des aktuellen Elements als Doublezahl ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
    +
    +
    getDoubleRow(int) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als Double-Array.
    +
    +
    getDoubleValue() - Method in class imp.NumberField
    +
     
    +
    getDoubleWert() - Method in class graph.Knoten
    +
    +
    Gibt den Wert vom Knoten als Double-Wert zurueck
    +
    +
    getEingehendeKanten(int, Predicate<Kante>...) - Method in class graph.Graph
    +
    +
    Gibt eine Liste der eingehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    +
    +
    getEingehendeKanten(Knoten, Predicate<Kante>...) - Method in class graph.Graph
    +
    +
    Gibt eine Liste der eingehenden Kanten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    +
    +
    getFarbe() - Method in class graph.Kante
    +
    +
    Gibt zurueck, in welcher Farbe die Kante gezeichnet werden soll.
    +
    +
    getFarbe() - Method in class graph.Knoten
    +
    +
    Gibt den Index der Farbe des Knoten zurück.
    +
    +
    getFloat(int) - Method in class imp.TableRow
    +
    +
    Liefert den Wert einer Zelle als Float-Zahl
    +
    +
    getFloat(int, int) - Method in class imp.Table
    +
    +
    Liefert den Wert einer Zelle als Float-Zahl
    +
    +
    getFloat(int, String) - Method in class imp.Table
    +
    +
    Liefert den Wert einer Zelle als Float-Zahl
    +
    +
    getFloat(String) - Method in class imp.TableRow
    +
    +
    Liefert den Wert einer Zelle als Float-Zahl
    +
    +
    getFloat(String) - Method in class imp.XML
    +
    +
    Fragt einen Attributwert des aktuellen Elements ab
    +
    +
    getFloat(String, float) - Method in class imp.XML
    +
    +
    Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
    +
    +
    getFloatColumn(int) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als Float-Array.
    +
    +
    getFloatColumn(String) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als Float-Array.
    +
    +
    getFloatContent() - Method in class imp.XML
    +
    +
    Fragt den Inhalt des aktuellen Elements als Floatzahl ab
    +
    +
    getFloatContent(float) - Method in class imp.XML
    +
    +
    Fragt den Inhalt des aktuellen Elements als Floatzahl ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
    +
    +
    getFloatRow(int) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Zeile als Float-Array.
    +
    +
    getGewicht() - Method in class graph.Kante
    +
    +
    Gibt das Gewicht der Kante zurueck
    +
    +
    getGraph() - Method in class graph.GraphPlotter
    +
    +
    Gibt den Graphen zurueck.
    +
    +
    getGraphOptions() - Method in class control.TabMitController
    +
     
    +
    getGraphOptions() - Method in class graph.GraphPlotter
    +
     
    +
    getHeight() - Method in class imp.Picture
    +
    +
    Liefert die Hoehe des Bildes zurueck.
    +
    +
    getHue(Color) - Static method in class imp.HSB
    +
    +
    Liefert den Farbton als Winkel zwischen 0.0° und 360.0°.
    +
    +
    getImage() - Method in class imp.Picture
    +
    +
    Direktes Abfragen des Bildes (fuer interne Zwecke)
    +
    +
    getImage() - Method in class imp.PictureViewer
    +
    +
    Liefert das angezeigte Bild
    +
    +
    getInfo() - Method in class algorithmen.GraphAlgo_TSPBacktracking
    +
     
    +
    getInfo() - Method in class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    getInfo() - Method in class algorithmen.GraphAlgo_TSPGreedy
    +
     
    +
    getInfo() - Method in class algorithmen.GraphAlgo_TSPGreedy2
    +
     
    +
    getInfo() - Method in class algorithmen.GraphAlgo_TSPGreedyOpt
    +
     
    +
    getInfotext() - Method in class graph.Knoten
    +
    +
    Liefert den Infotext des Knotens
    +
    +
    getInt(int) - Method in class imp.TableRow
    +
    +
    Liefert den Wert einer Zelle als Int-Zahl
    +
    +
    getInt(int, int) - Method in class imp.Table
    +
    +
    Liefert den Wert einer Zelle als Integer-Zahl
    +
    +
    getInt(int, String) - Method in class imp.Table
    +
    +
    Liefert den Wert einer Zelle als Integer-Zahl
    +
    +
    getInt(String) - Method in class imp.TableRow
    +
    +
    Liefert den Wert einer Zelle als Int-Zahl
    +
    +
    getInt(String) - Method in class imp.XML
    +
    +
    Fragt einen Attributwert des aktuellen Elements ab
    +
    +
    getInt(String, int) - Method in class imp.XML
    +
    +
    Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
    +
    +
    getIntColumn(int) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als Integer-Array.
    +
    +
    getIntColumn(String) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als Integer-Array.
    +
    +
    getIntContent() - Method in class imp.XML
    +
    +
    Fragt den Inhalt des aktuellen Elements als Integerzahl ab
    +
    +
    getIntContent(int) - Method in class imp.XML
    +
    +
    Fragt den Inhalt des aktuellen Elements als Integerzahl ab + Hat das Element keinen Inhalt wird der defaultValue zurückgegeben.
    +
    +
    getIntRow(int) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Zeile als Integer-Array.
    +
    +
    getIntValue() - Method in class imp.NumberField
    +
     
    +
    getIntWert() - Method in class graph.Knoten
    +
    +
    Gibt den Wert vom Knoten als Integer-Wert zurueck
    +
    +
    getKante(int, int) - Method in class graph.Graph
    +
    +
    Gibt eine gesuchte Kante aus dem Graphen zurueck.
    +
    +
    getKante(Knoten, Knoten) - Method in class graph.Graph
    +
    +
    Gibt eine gesuchte Kante aus dem Graphen zurueck.
    +
    +
    getKnoten(int) - Method in class graph.Graph
    +
    +
    Liefert einen Knoten des Graphen
    +
    +
    getKnoteninfo(Knoten, boolean) - Method in class graph.Graph
    +
    +
    Info über einen Knoten zurückgeben
    +
    +
    getLaenge() - Method in class algorithmen.GraphAlgo_TSPGreedyOpt
    +
     
    +
    getLaenge(int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    getNachbarknoten(Knoten, Predicate<Knoten>...) - Method in class graph.Graph
    +
    +
    Gibt die Liste aller Nachbarknoten eines Knotens k zurueck, falls k in der Knotenliste vorhanden ist.
    +
    +
    getName() - Method in class imp.XML
    +
    +
    Frage den Namen des aktuellen Elements ab
    +
    +
    getNummer(Kante) - Method in class graph.Graph
    +
    +
    Gibt die Nummer einer Kante zurück
    +
    +
    getNummer(Knoten) - Method in class graph.Graph
    +
    +
    Gibt die Nummer eines Knotens im Graphen zurück
    +
    +
    getObserver() - Method in class imp.Picture
    +
     
    +
    getParent() - Method in class imp.XML
    +
    +
    liefert ein XML-Objekt, das auf den Vaterknoten des aktuellen Elements zeigt.
    +
    +
    getPixelArray() - Method in class imp.Picture
    +
    +
    Liefert das Bild als zweidimensionales Pixel-Array.
    +
    +
    getRestrictTo() - Method in class graph.GraphPlotter
    +
     
    +
    getRow(int) - Method in class imp.Table
    +
    +
    Liefert eine Zeile der Tabelle
    +
    +
    getRowCount() - Method in class imp.Table
    +
    +
    Liefert die Anzahl der Zeilen in der Tabelle
    +
    +
    getSaturation(Color) - Static method in class imp.HSB
    +
    +
    Liefert die Sättigung als Wert zwischen 0.0 (0%) und 1.0 (100%).
    +
    +
    getSelectedKante() - Method in class graph.GraphPlotter
    +
    +
    Gibt das selektierte Kantenobjekt zurueck.
    +
    +
    getSelectedKnoten() - Method in class graph.GraphPlotter
    +
    +
    Gibt das selektierte Knotenobjekt zurueck.
    +
    +
    getSelectedKnotenListe() - Method in class graph.GraphPlotter
    +
    +
    Gibt die selektierte KnotenobjektListe (als Array) zurueck.
    +
    +
    getStart() - Method in class graph.Kante
    +
    +
    Gibt den Startknoten der Kante zurueck
    +
    +
    getStartKnoten() - Method in class algorithmen.GraphAlgo
    +
     
    +
    getStatus() - Method in class graph.Graph
    +
    +
    Speichert den Zustand des Graphen als String-List
    +
    +
    getStatus() - Method in class graph.GraphElement
    +
     
    +
    getStatus() - Method in class graph.Kante
    +
    +
    Liefert den Status einer Kante als String.
    +
    +
    getStatus() - Method in class graph.Knoten
    +
    +
    Liefert den Status eines Knotens als Status-String + Format: wert,markiert,besucht,farbe + wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und + farbe eine zahl ist.
    +
    +
    getString(int) - Method in class imp.TableRow
    +
    +
    Liefert den Wert einer Zelle als String
    +
    +
    getString(int, int) - Method in class imp.Table
    +
    +
    Liefert den Wert einer Zelle als String
    +
    +
    getString(int, String) - Method in class imp.Table
    +
    +
    Liefert den Wert einer Zelle als String
    +
    +
    getString(String) - Method in class imp.TableRow
    +
    +
    Liefert den Wert einer Zelle als String
    +
    +
    getString(String) - Method in class imp.XML
    +
    +
    Fragt einen Attributwert des aktuellen Elements ab
    +
    +
    getString(String, String) - Method in class imp.XML
    +
    +
    Fragt einen Attributwert des aktuellen Elements ab + Sollte es das Attribut nicht geben, wird ein default-Wert zurückgegeben
    +
    +
    getStringColumn(int) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als String-Array.
    +
    +
    getStringColumn(String) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als String-Array.
    +
    +
    getStringRow(int) - Method in class imp.Table
    +
    +
    Liefert alle Werte einer Spalte als String-Array.
    +
    +
    getText() - Method in class graph.GraphOptions
    +
     
    +
    getViewer() - Method in class control.TabMitController
    +
     
    +
    getWaitforclick() - Method in class algorithmen.GraphAlgo
    +
     
    +
    getWaitforrepaint() - Method in class algorithmen.GraphAlgo
    +
     
    +
    getWidth() - Method in class imp.Picture
    +
    +
    Liefert die Breite des Bildes zurueck.
    +
    +
    getX() - Method in class graph.Knoten
    +
    +
    Liefert die x-Position des Knotens
    +
    +
    getY() - Method in class graph.Knoten
    +
    +
    Liefert die y-Position des Knotens
    +
    +
    getZiel() - Method in class graph.Kante
    +
    +
    Gibt den Zielknoten der Kante zurueck
    +
    +
    graph - package graph
    +
     
    +
    graph - Variable in class control.TabMitController
    +
     
    +
    Graph - Class in graph
    +
    +
    Dies ist das Herz vom "GraphTester" - der Graph selber, gepeichert als Adjazenzliste.
    +
    +
    Graph() - Constructor for class graph.Graph
    +
    +
    Der Konstruktor erstellt einen neuen ungerichteten, ungewichteten Graphen (genauer eine neue Adjazenzliste)
    +
    +
    Graph(boolean, boolean) - Constructor for class graph.Graph
    +
    +
    Der Konstruktor erstellt einen neuen Graphen (genauer eine neue Adjazenzliste)
    +
    +
    GraphAlgo - Class in algorithmen
    +
    +
    description
    +
    +
    GraphAlgo() - Constructor for class algorithmen.GraphAlgo
    +
     
    +
    GraphAlgo_BellmanFord - Class in algorithmen
    +
    +
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    +
    +
    GraphAlgo_BellmanFord() - Constructor for class algorithmen.GraphAlgo_BellmanFord
    +
     
    +
    GraphAlgo_Breitensuche - Class in algorithmen
    +
    +
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    +
    +
    GraphAlgo_Breitensuche() - Constructor for class algorithmen.GraphAlgo_Breitensuche
    +
     
    +
    GraphAlgo_Coloring_Schueler - Class in eigeneAlgorithmen
    +
    +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    +
    GraphAlgo_Coloring_Schueler() - Constructor for class eigeneAlgorithmen.GraphAlgo_Coloring_Schueler
    +
     
    +
    GraphAlgo_ColoringBacktracking - Class in algorithmen
    +
    +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    +
    GraphAlgo_ColoringBacktracking() - Constructor for class algorithmen.GraphAlgo_ColoringBacktracking
    +
     
    +
    GraphAlgo_ColoringGreedy - Class in algorithmen
    +
    +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    +
    GraphAlgo_ColoringGreedy() - Constructor for class algorithmen.GraphAlgo_ColoringGreedy
    +
     
    +
    GraphAlgo_ColoringGreedyRandom - Class in algorithmen
    +
    +
    Dieser Algorithmus färbt einen Graphen, so dass keine benachbarten Knoten + die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
    +
    +
    GraphAlgo_ColoringGreedyRandom() - Constructor for class algorithmen.GraphAlgo_ColoringGreedyRandom
    +
     
    +
    GraphAlgo_Dijkstra - Class in algorithmen
    +
    +
    Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
    +
    +
    GraphAlgo_Dijkstra() - Constructor for class algorithmen.GraphAlgo_Dijkstra
    +
     
    +
    GraphAlgo_DominatingSetBacktracking - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetBacktracking() - Constructor for class algorithmen.GraphAlgo_DominatingSetBacktracking
    +
     
    +
    GraphAlgo_DominatingSetGenetisch - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGenetisch() - Constructor for class algorithmen.GraphAlgo_DominatingSetGenetisch
    +
     
    +
    GraphAlgo_DominatingSetGreedyA - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGreedyA() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyA
    +
     
    +
    GraphAlgo_DominatingSetGreedyB - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGreedyB() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyB
    +
     
    +
    GraphAlgo_DominatingSetGreedyC - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGreedyC() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyC
    +
     
    +
    GraphAlgo_DominatingSetGreedyD - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGreedyD() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyD
    +
     
    +
    GraphAlgo_DominatingSetGreedyE - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGreedyE() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyE
    +
     
    +
    GraphAlgo_DominatingSetGreedyF - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGreedyF() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyF
    +
     
    +
    GraphAlgo_DominatingSetGreedyG - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGreedyG() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyG
    +
     
    +
    GraphAlgo_DominatingSetGreedyH - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGreedyH() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyH
    +
     
    +
    GraphAlgo_DominatingSetGreedyI - Class in algorithmen
    +
    +
    Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen + und bestimmt den Zeitbedarf.
    +
    +
    GraphAlgo_DominatingSetGreedyI() - Constructor for class algorithmen.GraphAlgo_DominatingSetGreedyI
    +
     
    +
    GraphAlgo_EulerkreisExistenz - Class in algorithmen
    +
    +
    Dieser Algorithmus testet, ob ein Eulerkreis existiert.
    +
    +
    GraphAlgo_EulerkreisExistenz() - Constructor for class algorithmen.GraphAlgo_EulerkreisExistenz
    +
     
    +
    GraphAlgo_Moore - Class in algorithmen
    +
    +
    Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen.
    +
    +
    GraphAlgo_Moore() - Constructor for class algorithmen.GraphAlgo_Moore
    +
     
    +
    GraphAlgo_MST_Kruskal - Class in algorithmen
    +
    +
    Dieser Algorithmus sucht einen minimal Spanning Tree + Algorithmus: Kruskal
    +
    +
    GraphAlgo_MST_Kruskal() - Constructor for class algorithmen.GraphAlgo_MST_Kruskal
    +
     
    +
    GraphAlgo_MST_Prim - Class in algorithmen
    +
    +
    Dieser Algorithmus sucht einen minimal Spanning Tree + Algorithmus: Prim
    +
    +
    GraphAlgo_MST_Prim() - Constructor for class algorithmen.GraphAlgo_MST_Prim
    +
     
    +
    GraphAlgo_Tiefensuche - Class in algorithmen
    +
    +
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    +
    +
    GraphAlgo_Tiefensuche() - Constructor for class algorithmen.GraphAlgo_Tiefensuche
    +
     
    +
    GraphAlgo_TiefensucheRek - Class in algorithmen
    +
    +
    Dieser Algorithmus nummeriert alle Knoten des Graphen.
    +
    +
    GraphAlgo_TiefensucheRek() - Constructor for class algorithmen.GraphAlgo_TiefensucheRek
    +
     
    +
    GraphAlgo_toplogischeSortierung - Class in algorithmen
    +
    +
    Dieser Algorithmus findet eine topologische Sortierung des Graphen.
    +
    +
    GraphAlgo_toplogischeSortierung() - Constructor for class algorithmen.GraphAlgo_toplogischeSortierung
    +
     
    +
    GraphAlgo_TSPBacktracking - Class in algorithmen
    +
    +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    +
    GraphAlgo_TSPBacktracking() - Constructor for class algorithmen.GraphAlgo_TSPBacktracking
    +
     
    +
    GraphAlgo_TSPGenetisch - Class in algorithmen
    +
    +
    description
    +
    +
    GraphAlgo_TSPGenetisch() - Constructor for class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    GraphAlgo_TSPGreedy - Class in algorithmen
    +
    +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    +
    GraphAlgo_TSPGreedy() - Constructor for class algorithmen.GraphAlgo_TSPGreedy
    +
     
    +
    GraphAlgo_TSPGreedy2 - Class in algorithmen
    +
    +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    +
    GraphAlgo_TSPGreedy2() - Constructor for class algorithmen.GraphAlgo_TSPGreedy2
    +
     
    +
    GraphAlgo_TSPGreedyOpt - Class in algorithmen
    +
    +
    Dieser Algorithmus sucht einen möglichst kurzen Hamilton-Kreis (Traveling + Salesman Problem).
    +
    +
    GraphAlgo_TSPGreedyOpt() - Constructor for class algorithmen.GraphAlgo_TSPGreedyOpt
    +
     
    +
    GraphAlgo_ZyklusBacktracking - Class in algorithmen
    +
    +
    Dieser Algorithmus ist ein Beispiel für einen Backtracking-Algorithmus.
    +
    +
    GraphAlgo_ZyklusBacktracking() - Constructor for class algorithmen.GraphAlgo_ZyklusBacktracking
    +
     
    +
    graphClicked(MouseEvent) - Method in class control.EditTabMitController
    +
     
    +
    graphClicked(MouseEvent) - Method in class control.UnterTabMitController
    +
     
    +
    GraphElement - Class in graph
    +
    +
    Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten.
    +
    +
    GraphElement() - Constructor for class graph.GraphElement
    +
     
    +
    GraphenTester - Class in <Unnamed>
    +
     
    +
    GraphenTester() - Constructor for class GraphenTester
    +
     
    +
    graphLaden(String) - Method in class control.Controller
    +
     
    +
    GraphOptions - Class in graph
    +
    +
    Die Klasse GraphOptions speichert, wie ein Graph in einem Fenster vom + GraphPlotter angezeigt wird.
    +
    +
    GraphOptions() - Constructor for class graph.GraphOptions
    +
     
    +
    GraphPlotter - Class in graph
    +
    +
    Der GraphPlotter ist das Herzstueck der Visualisierung und dient als Schnittstelle zur GUI.
    +
    +
    GraphPlotter() - Constructor for class graph.GraphPlotter
    +
    +
    Der Konstruktor legt sowohl Einstellungen des mxGraphen (Drag&Drop, Editable, ...) als auch des Graphen (gewichtet, gerichtet, ...) fest.
    +
    +
    + + + +

    H

    +
    +
    hasAttribute() - Method in class imp.XML
    +
    +
    liefert zurück, ob das aktuelle Element Attribute hat .
    +
    +
    hasChildren() - Method in class imp.XML
    +
    +
    Überprüft, ob das Element irgendwelche Kinder hat oder nicht, und gibt das Ergebnis als boolean zurück.
    +
    +
    HauptTabMitController - Class in control
    +
    +
    Die Klasse HauptTabMitController stellt einen Tab inclusive ihres Controllers + für das Hauptfenster des Graphentesters dar.
    +
    +
    HauptTabMitController(Graph, GraphOptions) - Constructor for class control.HauptTabMitController
    +
     
    +
    Hilfe - Interface in graph
    +
     
    +
    Hilfefenster - Class in control
    +
    +
    Die Klasse Hilfefenster stellt ein Hilfefenster für die Simulation eines + Algorithmus bereit.
    +
    +
    Hilfefenster() - Constructor for class control.Hilfefenster
    +
     
    +
    HSB - Class in imp
    +
    +
    Hilfsklasse für das HSB-Farbmodell
    +
    +
    HSB() - Constructor for class imp.HSB
    +
     
    +
    + + + +

    I

    +
    +
    imp - package imp
    +
     
    +
    inArbeit - Variable in class algorithmen.GraphAlgo
    +
     
    +
    indentLess() - Method in class control.Hilfefenster
    +
     
    +
    indentLess() - Method in interface graph.Hilfe
    +
     
    +
    indentMore() - Method in class control.Hilfefenster
    +
     
    +
    indentMore() - Method in interface graph.Hilfe
    +
     
    +
    info(String) - Method in class algorithmen.GraphAlgo
    +
     
    +
    infoIndentLess() - Method in class algorithmen.GraphAlgo
    +
     
    +
    infoIndentMore() - Method in class algorithmen.GraphAlgo
    +
     
    +
    init() - Method in class graph.Kante
    +
    +
    Die Methode init initialisiert die Kantenfaerbung (auf unmarkiert)
    +
    +
    init() - Method in class graph.Knoten
    +
    +
    Die Methode init initialisiert den Zustand eines Knotens
    +
    +
    initialisiereAlleKanten() - Method in class graph.Graph
    +
    +
    Initialisiert alle Kanten des Graphen.
    +
    +
    initialisiereAlleKnoten() - Method in class graph.Graph
    +
    +
    Initialisiert alle Knoten des Graphen.
    +
    +
    initialize() - Method in class control.Controller
    +
     
    +
    initialize() - Method in class control.EditTabMitController
    +
     
    +
    initialize() - Method in class control.HauptTabMitController
    +
     
    +
    initialize() - Method in class control.Hilfefenster
    +
     
    +
    initialize() - Method in class control.SimulationTabMitController
    +
     
    +
    initialize() - Method in class control.TabMitController
    +
     
    +
    initialize() - Method in class control.UnterTabMitController
    +
     
    +
    isBesucht() - Method in class graph.Knoten
    +
    +
    Gibt den Besuchtwert vom Knoten zurueck
    +
    +
    isFarbeAutomatisch() - Method in class graph.Knoten
    +
    +
    Gibt zurück, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
    +
    +
    isGeloescht() - Method in class graph.Kante
    +
    +
    Gibt den gelöscht-Wert der Kante zurueck
    +
    +
    isGerichtet() - Method in class graph.Graph
    +
    +
    Gibt zurueck, ob der Graph gerichtet oder ungerichtet ist.
    +
    +
    isGewichtet() - Method in class graph.Graph
    +
    +
    Gibt zurueck, ob der Graph gewichtet oder ungewichtet ist
    +
    +
    isKanteEnthalten(int, int) - Method in class graph.Graph
    +
    +
    Ueberprueft, ob eine Kante im Graphen enthalten ist.
    +
    +
    isKanteEnthalten(Kante) - Method in class graph.Graph
    +
    +
    Ueberprueft, ob eine Kante im Graphen enthalten ist.
    +
    +
    isKanteEnthalten(Knoten, Knoten) - Method in class graph.Graph
    +
    +
    Ueberprueft, ob eine Kante im Graphen enthalten ist.
    +
    +
    isKnotenEnthalten(Knoten) - Method in class graph.Graph
    +
    +
    Ueberprueft, ob ein Knoten in der Knotenliste enthalten ist.
    +
    +
    isLeer() - Method in class graph.Graph
    +
    +
    Ueberprueft, ob die Adjazenzliste leer ist, d.h. keine Knoten im Graphen enthalten sind.
    +
    +
    isMarkiert() - Method in class graph.Kante
    +
    +
    Gibt zurück, ob die Kanten markiert ist
    +
    +
    isMarkiert() - Method in class graph.Knoten
    +
    +
    Gibt den Markiertwert vom Knoten zurueck
    +
    +
    + + + +

    K

    +
    +
    Kante - Class in graph
    +
    +
    Die Klasse Kante beschreibt die Datenstruktur einer Kante, bestehend aus Startknoten, Gewicht und Zielknoten.
    +
    +
    Kante(Knoten, Knoten, double) - Constructor for class graph.Kante
    +
    +
    Der Konstruktor erstellt eine neue Kante mit Start- und Zielknoten und Kantengewicht.
    +
    +
    Knoten - Class in graph
    +
    +
    Diese Klasse Knoten definiert einen Knoten.
    +
    +
    Knoten(int, int) - Constructor for class graph.Knoten
    +
    +
    Der Konstruktor erstellt einen neuen Knoten mit einem neuen Namen
    +
    +
    Knoten(int, int, double) - Constructor for class graph.Knoten
    +
    +
    Der Konstruktor erstellt einen neuen Knoten mit einem Startwert
    +
    +
    knotenFarbe(MouseEvent) - Method in class control.UnterTabMitController
    +
     
    +
    kreuze(int[], int[]) - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    +
     
    +
    kreuze(int[], int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    + + + +

    L

    +
    +
    ladeGraph(Table) - Method in class graph.Graph
    +
    +
    Ein Graph wird aus einer csv-Datei erstellt, die entweder + eine Matrix oder eine Adjazenzliste enthält, die den Graph beschreibt.
    +
    +
    ladeGraph(Table) - Method in class graph.GraphOptions
    +
     
    +
    line(int, int, int, int) - Method in class imp.Picture
    +
    +
    Zeichnet eine Linie (einen direkten Weg zwischen zwei Punkten) auf den Bildschirm.
    +
    +
    listAttributes() - Method in class imp.XML
    +
    +
    Ruft alle Attribute des angegebenen Elements ab und gibt sie als Array von Strings zurück.
    +
    +
    listChildren() - Method in class imp.XML
    +
    +
    Ermittelt die Namen aller Kinder des Elements und gibt die Namen als ein Array von Strings zurück.
    +
    +
    load(String) - Method in class imp.Picture
    +
    +
    Laedt ein Bild aus dem Dateisystem.
    +
    +
    loadCSV(String) - Method in class imp.Table
    +
    +
    Liest den Inhalt einer CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
    +
    +
    loadCSV(String, String) - Method in class imp.Table
    +
    +
    Liest den Inhalt einer CSV-Datei (Separator = ';', Kennung für Text = '"').
    +
    +
    loadCSV(String, String, char, char) - Method in class imp.Table
    +
    +
    Liest den Inhalt einer CSV-Datei.
    +
    +
    loadXML(String) - Method in class imp.XML
    +
    +
    Öffnet das durch den Dateinamen gegebene Dokument
    +
    +
    loescheAlles() - Method in class control.Hilfefenster
    +
     
    +
    loescheAlles() - Method in class graph.Graph
    +
    +
    Loescht den gesamten Graphen
    +
    +
    loescheAlles() - Method in interface graph.Hilfe
    +
     
    +
    loescheGraph() - Method in class graph.Graph
    +
    +
    Löscht alle Knoten und Kanten eines Graphen und stellt auf ungerichtet und ungewichtet zurück.
    +
    +
    + + + +

    M

    +
    +
    main(String[]) - Static method in class GraphenTester
    +
     
    +
    mBearbeiten(MouseEvent) - Method in class control.Controller
    +
     
    +
    mBeenden(ActionEvent) - Method in class control.Controller
    +
     
    +
    mBeenden(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mBesucheKnoten(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mBesuchtLoeschen(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mBreak(ActionEvent) - Method in class control.SimulationTabMitController
    +
     
    +
    mChangeHilfefenster(ActionEvent) - Method in class control.Controller
    +
     
    +
    mChangeOptionBild(ActionEvent) - Method in class control.Controller
    +
     
    +
    mChangeOptionKantengewichte(ActionEvent) - Method in class control.Controller
    +
     
    +
    mChangeOptionKnoteninfo(ActionEvent) - Method in class control.Controller
    +
     
    +
    mChangeOptionKnotenname(ActionEvent) - Method in class control.Controller
    +
     
    +
    mChangeOptionKnotenwerte(ActionEvent) - Method in class control.Controller
    +
     
    +
    melde(String) - Method in class algorithmen.GraphAlgo
    +
     
    +
    menuChangeAnsicht() - Method in class control.Controller
    +
     
    +
    mExperimentiereAuswahl(ActionEvent) - Method in class control.Controller
    +
     
    +
    mExperimentiereKanten(ActionEvent) - Method in class control.Controller
    +
     
    +
    mExperimentiereKnoten(ActionEvent) - Method in class control.Controller
    +
     
    +
    mFaerbeKnoten(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mInfotextAendern() - Method in class control.EditTabMitController
    +
     
    +
    mLoesche() - Method in class control.EditTabMitController
    +
     
    +
    mMarkiereKnoten(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mMarkierungenLoeschen(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mNeuerGraph(ActionEvent) - Method in class control.Controller
    +
     
    +
    mOeffnen(ActionEvent) - Method in class control.Controller
    +
     
    +
    mOeffnen(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mouseClicked(MouseEvent) - Method in class graph.GraphPlotter
    +
     
    +
    mouseDown(MouseEvent) - Method in class graph.GraphPlotter
    +
     
    +
    mouseDragged(MouseEvent) - Method in class graph.GraphPlotter
    +
     
    +
    mouseUp(MouseEvent) - Method in class graph.GraphPlotter
    +
     
    +
    mReset(ActionEvent) - Method in class control.SimulationTabMitController
    +
     
    +
    mResetAlles(ActionEvent) - Method in class control.Controller
    +
     
    +
    mResetBesucht(ActionEvent) - Method in class control.Controller
    +
     
    +
    mResetFarbe(ActionEvent) - Method in class control.Controller
    +
     
    +
    mResetGeloescht(ActionEvent) - Method in class control.Controller
    +
     
    +
    mResetKantenmarkierung(ActionEvent) - Method in class control.Controller
    +
     
    +
    mResetMarkierung(ActionEvent) - Method in class control.Controller
    +
     
    +
    mResetWert(ActionEvent) - Method in class control.Controller
    +
     
    +
    mSchliessen(ActionEvent) - Method in class control.Controller
    +
     
    +
    mSchliessen(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mSimuliere(MouseEvent) - Method in class control.Controller
    +
     
    +
    mSpeichern(ActionEvent) - Method in class control.Controller
    +
     
    +
    mSpeichern(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mStart(ActionEvent) - Method in class control.SimulationTabMitController
    +
     
    +
    mStep(ActionEvent) - Method in class control.SimulationTabMitController
    +
     
    +
    mUeber(ActionEvent) - Method in class control.Controller
    +
     
    +
    mUeber(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mutiere(int[]) - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    +
     
    +
    mutiere(int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    mutiere2(int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    mWertAendern() - Method in class control.EditTabMitController
    +
     
    +
    mWertSetzen(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    mZurueck(ActionEvent) - Method in class control.UnterTabMitController
    +
     
    +
    + + + +

    N

    +
    +
    neueKante(Kante) - Method in class graph.Graph
    +
    +
    Fuegt eine Kante dem Graphen hinzu.
    +
    +
    neueKante(Knoten, Knoten, double) - Method in class graph.Graph
    +
    +
    Fuegt eine Kante dem Graphen hinzu.
    +
    +
    neuerKnoten(Knoten) - Method in class graph.Graph
    +
    +
    Fügt einen Knoten dem Graph hinzu.
    +
    +
    noFill() - Method in class imp.Picture
    +
    +
    Legt fest, dass die Formen nicht gefuellt werden sollen.
    +
    +
    NORMAL - Static variable in class imp.PictureViewer
    +
     
    +
    noStroke() - Method in class imp.Picture
    +
    +
    Legt fest, dass keine Linien oder Raender um Formen gezeichnet werden soll.
    +
    +
    NumberField - Class in imp
    +
     
    +
    NumberField() - Constructor for class imp.NumberField
    +
     
    +
    + + + +

    O

    +
    +
    options - Variable in class control.TabMitController
    +
     
    +
    + + + +

    P

    +
    +
    parent - Variable in class graph.GraphOptions
    +
     
    +
    Picture - Class in imp
    +
    +
    Bildklasse fuer die Simulation von Processing-Befehlen + + Diese Klasse stellt ein BufferedImage bereit, in das mit Processing-Befehlen gezeichnet + werden kann.
    +
    +
    Picture() - Constructor for class imp.Picture
    +
    +
    Erzeugt ein Bild mit Standardgroesse 500x400
    +
    +
    Picture(int, int) - Constructor for class imp.Picture
    +
    +
    Erzeugt ein Bild der angegeben Groesse
    +
    +
    Picture(int, int, String) - Constructor for class imp.Picture
    +
    +
    Erzeugt ein Bild der angegebenen Groesse mit festgelegtem Hintergrund
    +
    +
    Picture(String) - Constructor for class imp.Picture
    +
    +
    Erzeugt ein Bild aus einer Datei
    +
    +
    PictureViewer - Class in imp
    +
     
    +
    PictureViewer() - Constructor for class imp.PictureViewer
    +
    +
    Erzeugt ein ScrollPanel mit integriertem Bild der Größe 1000x1000
    +
    +
    PictureViewer(int, int) - Constructor for class imp.PictureViewer
    +
    +
    Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
    +
    +
    PictureViewer(int, int, String) - Constructor for class imp.PictureViewer
    +
    +
    Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
    +
    +
    PictureViewer(Picture) - Constructor for class imp.PictureViewer
    +
    +
    Erzeugt ein ScrollPanel und zeigt das Bild-Objekt an
    +
    +
    PictureViewer(String) - Constructor for class imp.PictureViewer
    +
    +
    Erzeugt ein ScrollPanel mit integriertem Bild aus einer Bilddatei
    +
    +
    point(int, int) - Method in class imp.Picture
    +
    +
    Zeichnet einen Punkt, d.h. einen Kreis in der Dimension eines Pixels.
    +
    +
    polygon(int[], int[]) - Method in class imp.Picture
    +
    +
    Zeichnet ein Polygon auf das Bild.
    +
    +
    probiere(Knoten) - Method in class algorithmen.GraphAlgo_TSPBacktracking
    +
     
    +
    pushImage() - Method in class imp.PictureViewer
    +
    +
    Speichert das übergebene Bild in der History.
    +
    +
    + + + +

    Q

    +
    +
    quad(int, int, int, int, int, int, int, int) - Method in class imp.Picture
    +
    +
    Zeichnet ein Viereck auf das Bild.
    +
    +
    + + + +

    R

    +
    +
    RADIUS - Static variable in class imp.Picture
    +
     
    +
    rect(int, int, int, int) - Method in class imp.Picture
    +
    +
    Zeichnet ein Rechteck auf das Bild.
    +
    +
    rectMode(int) - Method in class imp.Picture
    +
    +
    Aendert den Koordinaten-Modus beim Zeichnen von Rechtecken.
    +
    +
    removeChild(XML) - Method in class imp.XML
    +
    +
    löscht ein Kind des aktuellen Knotens.
    +
    +
    removeColumn(int) - Method in class imp.Table
    +
    +
    Löscht eine Spalte.
    +
    +
    removeColumn(String) - Method in class imp.Table
    +
    +
    Löscht eine Spalte
    +
    +
    removeRow(int) - Method in class imp.Table
    +
    +
    Löscht eine Zeile
    +
    +
    repaint() - Method in class imp.PictureViewer
    +
    +
    Setzt das angezeigt Bild neu und beachtet dabei den Zoomfaktor.
    +
    +
    replaceSelection(String) - Method in class imp.NumberField
    +
     
    +
    replaceText(int, int, String) - Method in class imp.NumberField
    +
     
    +
    resetInfo() - Method in class algorithmen.GraphAlgo
    +
     
    +
    rows() - Method in class imp.Table
    +
    +
    Liefert die ganze Tabelle als Array von TableRow-Objekten
    +
    +
    run() - Method in class algorithmen.GraphAlgo
    +
     
    +
    + + + +

    S

    +
    +
    save(String) - Method in class imp.Picture
    +
    +
    Speichert ein Bild.
    +
    +
    saveAsMatrix - Variable in class graph.GraphOptions
    +
     
    +
    saveCSV(String) - Method in class imp.Table
    +
    +
    Speichert das aktuelle Dokument als CSV-Datei ohne Kopfzeile (Separator = ';', Kennung für Text = '"').
    +
    +
    saveCSV(String, String) - Method in class imp.Table
    +
    +
    Speichert das aktuelle Dokument als CSV-Datei (Separator = ';', Kennung für Text = '"').
    +
    +
    saveCSV(String, String, char, char) - Method in class imp.Table
    +
    +
    Speichert das aktuelle Dokument als CSV-Datei.
    +
    +
    saveXML(String) - Method in class imp.Table
    +
    +
    Speichert die Tabelle als XML-Dokument.
    +
    +
    saveXML(String) - Method in class imp.XML
    +
    +
    Speichert den XML-Baum im angegebenen Dateinamen
    +
    +
    schliesseTabs() - Method in class control.Controller
    +
     
    +
    setAuswahl(List<GraphElement>) - Method in class control.UnterTabMitController
    +
     
    +
    setAutoRefresh(boolean) - Method in class imp.Picture
    +
    +
    Legt fest, ob nach jedem Zeichenbefehl automatisch das Bild auch in + der Oberflaeche aktualisiert wird.
    +
    +
    setBesucht(boolean) - Method in class graph.Knoten
    +
    +
    Setzt das Besuchtattribut vom Knoten
    +
    +
    setContent(String) - Method in class imp.XML
    +
    +
    Setzt den Inhalt/Text des aktuellen Elements
    +
    +
    setDouble(int, double) - Method in class imp.TableRow
    +
    +
    Setzt den Wert einer Zelle als Double-Zahl
    +
    +
    setDouble(int, int, double) - Method in class imp.Table
    +
    +
    Setzt den Wert einer Zelle als Double-Zahl
    +
    +
    setDouble(int, String, double) - Method in class imp.Table
    +
    +
    Setzt den Wert einer Zelle als Double-Zahl
    +
    +
    setDouble(String, double) - Method in class imp.TableRow
    +
    +
    Setzt den Wert einer Zelle als Double-Zahl
    +
    +
    setDouble(String, double) - Method in class imp.XML
    +
    +
    Setzt einen Attributwert des aktuellen Elements
    +
    +
    setDoubleContent(double) - Method in class imp.XML
    +
    +
    Setzt den Inhalt des aktuellen Elements
    +
    +
    setEditable() - Method in class graph.GraphPlotter
    +
     
    +
    setFarbe(int) - Method in class graph.Kante
    +
    +
    Setzt die Farbe auf einen bestimmten Farbindex
    +
    +
    setFarbe(int) - Method in class graph.Knoten
    +
    +
    Setzt den Index der Farbe des Knoten.
    +
    +
    setFarbeAutomatisch(boolean) - Method in class graph.Knoten
    +
    +
    Legt fest, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
    +
    +
    setFloat(int, float) - Method in class imp.TableRow
    +
    +
    Setzt den Wert einer Zelle als Float-Zahl
    +
    +
    setFloat(int, int, float) - Method in class imp.Table
    +
    +
    Setzt den Wert einer Zelle als Float-Zahl
    +
    +
    setFloat(int, String, float) - Method in class imp.Table
    +
    +
    Setzt den Wert einer Zelle als Float-Zahl
    +
    +
    setFloat(String, float) - Method in class imp.TableRow
    +
    +
    Setzt den Wert einer Zelle als Float-Zahl
    +
    +
    setFloat(String, float) - Method in class imp.XML
    +
    +
    Setzt einen Attributwert des aktuellen Elements
    +
    +
    setFloatContent(float) - Method in class imp.XML
    +
    +
    Setzt den Inhalt des aktuellen Elements
    +
    +
    setGeloescht(boolean) - Method in class graph.Kante
    +
    +
    Setzt das gelöscht-Attribut der Kante
    +
    +
    setGerichtet(boolean) - Method in class control.EditTabMitController
    +
     
    +
    setGerichtet(boolean) - Method in class graph.Graph
    +
    +
    Legt fest, ob der Graph gerichtet oder ungerichtet ist.
    +
    +
    setGewicht(double) - Method in class graph.Kante
    +
    +
    Setzt das Gewicht der Kante
    +
    +
    setGewichtet(boolean) - Method in class control.EditTabMitController
    +
     
    +
    setGewichtet(boolean) - Method in class graph.Graph
    +
    +
    Legt fest, ob der Graph gewichtet oder ungewichtet ist.
    +
    +
    setGraph(Graph) - Method in class algorithmen.GraphAlgo
    +
     
    +
    setGraph(Graph, GraphOptions) - Method in class control.SimulationTabMitController
    +
     
    +
    setGraph(Graph, GraphOptions) - Method in class control.TabMitController
    +
     
    +
    setGraph(Graph, GraphOptions) - Method in class control.UnterTabMitController
    +
     
    +
    setGraph(Graph, GraphOptions) - Method in class graph.GraphPlotter
    +
     
    +
    setGraphPlotter(GraphPlotter) - Method in class control.Hilfefenster
    +
     
    +
    setGraphPlotter(GraphPlotter) - Method in interface graph.Hilfe
    +
     
    +
    setGUIElemente(GraphPlotter, Hilfe) - Method in class algorithmen.GraphAlgo
    +
     
    +
    setImage(Picture, boolean) - Method in class imp.PictureViewer
    +
    +
    Setzt das anzuzeigende Bild neu
    +
    +
    setImage(BufferedImage) - Method in class imp.Picture
    +
    +
    Direktes Setzen des Bildes (fuer interne Zwecke)
    +
    +
    setInfotext(boolean) - Method in class control.EditTabMitController
    +
     
    +
    setInfotext(String) - Method in class graph.Knoten
    +
    +
    Setzt den Infotext für einen Knoten
    +
    +
    setInt(int, int) - Method in class imp.TableRow
    +
    +
    Setzt den Wert einer Zelle als Int-Zahl
    +
    +
    setInt(int, int, int) - Method in class imp.Table
    +
    +
    Setzt den Wert einer Zelle als Integer-Zahl
    +
    +
    setInt(int, String, int) - Method in class imp.Table
    +
    +
    Setzt den Wert einer Zelle als Integer-Zahl
    +
    +
    setInt(String, int) - Method in class imp.TableRow
    +
    +
    Setzt den Wert einer Zelle als Int-Zahl
    +
    +
    setInt(String, int) - Method in class imp.XML
    +
    +
    Setzt einen Attributwert des aktuellen Elements
    +
    +
    setIntContent(int) - Method in class imp.XML
    +
    +
    Setzt den Inhalt des aktuellen Elements
    +
    +
    setKnotenTyp(Toggle) - Method in class control.EditTabMitController
    +
     
    +
    setMarkiert(boolean) - Method in class graph.Kante
    +
    +
    Setzt das markiert-Attribut der Kante
    +
    +
    setMarkiert(boolean) - Method in class graph.Knoten
    +
    +
    Setzt das Markiertattribut vom Knoten
    +
    +
    setName(String) - Method in class imp.XML
    +
    +
    Setze den Namen des aktuellen Elements.
    +
    +
    setObserver(PictureViewer) - Method in class imp.Picture
    +
    +
    Legt fest, wer das Bild anzeigt.
    +
    +
    setPixelArray(Color[][]) - Method in class imp.Picture
    +
    +
    Setzt das Bild neu auf Basis des Pixel-Arrays.
    +
    +
    setRestrictTo(GraphElement) - Method in class graph.GraphPlotter
    +
     
    +
    setReviewAllowed(boolean) - Method in class control.Hilfefenster
    +
     
    +
    setReviewAllowed(boolean) - Method in interface graph.Hilfe
    +
     
    +
    setSpeed(int) - Method in class algorithmen.GraphAlgo
    +
     
    +
    setStandardFarbe() - Method in class graph.Kante
    +
    +
    Setzt die Farbe auf die Standardfarbgebung zurück
    +
    +
    setStart(Knoten) - Method in class graph.Kante
    +
    +
    Setzt den Startknoten der Kante
    +
    +
    setStartKnoten(Knoten) - Method in class algorithmen.GraphAlgo
    +
     
    +
    setStatus(String) - Method in class graph.GraphElement
    +
     
    +
    setStatus(String) - Method in class graph.Kante
    +
    +
    Setzt den Status einer Kante, der in einem String gespeichert ist.
    +
    +
    setStatus(String) - Method in class graph.Knoten
    +
    +
    Setzt den Status eines Knotens aus einem Status-String + Format: wert,markiert,besucht,farbe + wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und + farbe eine zahl ist.
    +
    +
    setStatus(List<String>) - Method in class graph.Graph
    +
    +
    Stellt den Zustand des Graphen aus String-List wieder her
    +
    +
    setStepping(boolean) - Method in class algorithmen.GraphAlgo
    +
     
    +
    setString(int, int, String) - Method in class imp.Table
    +
    +
    Setzt den Wert einer Zelle als String
    +
    +
    setString(int, String) - Method in class imp.TableRow
    +
    +
    Setzt den Wert einer Zelle als String
    +
    +
    setString(int, String, String) - Method in class imp.Table
    +
    +
    Setzt den Wert einer Zelle als String
    +
    +
    setString(String, String) - Method in class imp.TableRow
    +
    +
    Setzt den Wert einer Zelle als String
    +
    +
    setString(String, String) - Method in class imp.XML
    +
    +
    Setzt einen Attributwert des aktuellen Elements
    +
    +
    setValue(double) - Method in class imp.NumberField
    +
     
    +
    setValue(int) - Method in class imp.NumberField
    +
     
    +
    setWaitforclick(boolean) - Method in class algorithmen.GraphAlgo
    +
     
    +
    setWaitforrepaint(boolean) - Method in class algorithmen.GraphAlgo
    +
     
    +
    setWert(double) - Method in class graph.Knoten
    +
    +
    Setzt den Wert beim Knoten
    +
    +
    setX(int) - Method in class graph.Knoten
    +
    +
    Setzt die x-Position des Knotens
    +
    +
    setY(int) - Method in class graph.Knoten
    +
    +
    Setzt die y-Position des Knotens
    +
    +
    setZiel(Knoten) - Method in class graph.Kante
    +
    +
    Setzt den Zielknoten der Kante
    +
    +
    setZoom(double) - Method in class imp.PictureViewer
    +
    +
    Setzt den Zoom-Faktor für das Bild.
    +
    +
    sGroesseAendern(Number) - Method in class control.EditTabMitController
    +
     
    +
    showEdgeWeights - Variable in class graph.GraphOptions
    +
     
    +
    showHilfe(boolean) - Method in class control.SimulationTabMitController
    +
     
    +
    showInFrame() - Method in class imp.Picture
    +
     
    +
    showRundreise(int[]) - Method in class algorithmen.GraphAlgo_TSPGenetisch
    +
     
    +
    showState() - Method in class control.Hilfefenster
    +
     
    +
    showTeilmenge(int[]) - Method in class algorithmen.GraphAlgo_DominatingSetGenetisch
    +
     
    +
    showVertexInfo - Variable in class graph.GraphOptions
    +
     
    +
    showVertexText - Variable in class graph.GraphOptions
    +
     
    +
    showVertexValue - Variable in class graph.GraphOptions
    +
     
    +
    SimulationTabMitController - Class in control
    +
    +
    Die Klasse SimulationTabMitController stellt einen Tab inclusive ihres Controllers + zur Simulation eines Algorithmus dar.
    +
    +
    SimulationTabMitController(Graph, GraphOptions) - Constructor for class control.SimulationTabMitController
    +
     
    +
    size(int, int) - Method in class imp.Picture
    +
    +
    Definiert die Dimension der Breite und Hoehe des Anzeigefensters in Pixeleinheiten.
    +
    +
    start(Stage) - Method in class GraphenTester
    +
     
    +
    stdFarbenKanten - Variable in class graph.GraphOptions
    +
     
    +
    stdFarbenKnoten - Variable in class graph.GraphOptions
    +
     
    +
    step() - Method in class algorithmen.GraphAlgo
    +
     
    +
    stroke(int) - Method in class imp.Picture
    +
    +
    Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
    +
    +
    stroke(int, int, int) - Method in class imp.Picture
    +
    +
    Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
    +
    +
    stroke(String) - Method in class imp.Picture
    +
    +
    Legt die Farbe fest, mit der Linien und Raender um Formen gezeichnet werden.
    +
    +
    strokeWeight(double) - Method in class imp.Picture
    +
    +
    Legt die Breite des Strichs fuer Linien, Punkte und den Rand um Formen fest.
    +
    +
    + + + +

    T

    +
    +
    Table - Class in imp
    +
     
    +
    Table() - Constructor for class imp.Table
    +
    +
    Erzeugt leeres Tabellen-Dokument.
    +
    +
    Table(String) - Constructor for class imp.Table
    +
    +
    Erzeugt Tabellen-Dokument aus einer CSV-Datei.
    +
    +
    Table(String, String) - Constructor for class imp.Table
    +
    +
    Erzeugt Tabellen-Dokument aus einer CSV-Datei.
    +
    +
    Table(String, String, char, char) - Constructor for class imp.Table
    +
    +
    Erzeugt Tabellen-Dokument aus einer CSV-Datei.
    +
    +
    TableRow - Class in imp
    +
     
    +
    TableRow(Document, Element) - Constructor for class imp.TableRow
    +
    +
    Erzeugt ein TableRow-Objekt.
    +
    +
    TabMitController - Class in control
    +
    +
    Die Klasse TabMitController stellt die Oberklasse für alle Tabs des Graphentesters + dar.
    +
    +
    TabMitController() - Constructor for class control.TabMitController
    +
     
    +
    tabOeffnen(GraphOptions) - Method in class control.TabMitController
    +
     
    +
    text(String, int, int) - Method in class imp.Picture
    +
    +
    Gibt einen Text an den gegebenen Koordinaten aus + Zur Ausgabe des Textes wird der ausgewaehlte Font verwendet.
    +
    +
    textFont(Font) - Method in class imp.Picture
    +
    +
    Legt die Schriftart fuer Textausgaben fest.
    +
    +
    textMode(int) - Method in class imp.Picture
    +
    +
    Aendert den Koordinaten-Modus beim Zeichnen von Texten.
    +
    +
    toCSVString(boolean) - Method in class graph.Graph
    +
    +
    Die Methode erstellt eine CSV-Ausgabe des Graphen entweder als Adjazenzliste oder als Adjazenzmatrix.
    +
    +
    toString() - Method in class graph.Graph
    +
    +
    Textuelle Repraesentation des Graphen.
    +
    +
    toString() - Method in class graph.GraphPlotter
    +
    +
    Ueberschreibt die Methode toString.
    +
    +
    toString() - Method in class graph.Kante
    +
    +
    Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation einer Kante zurueck
    +
    +
    toString() - Method in class graph.Knoten
    +
    +
    Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation eines Knotens zurueck
    +
    +
    triangle(int, int, int, int, int, int) - Method in class imp.Picture
    +
    +
    Zeichnet ein Dreieck auf das Bild.
    +
    +
    trim() - Method in class imp.Table
    +
    +
    Kürzt alle Einträge der Tabelle um unnötige Leerzeichen am Anfang oder Ende
    +
    +
    + + + +

    U

    +
    +
    UnterTabMitController - Class in control
    +
    +
    Die Klasse UnterTabMitController stellt einen Tab inclusive ihres Controllers + zur händischen Erforschung eines Algorithmus.
    +
    +
    UnterTabMitController(Graph, GraphOptions) - Constructor for class control.UnterTabMitController
    +
     
    +
    update() - Method in class control.TabMitController
    +
     
    +
    update() - Method in class control.UnterTabMitController
    +
     
    +
    updateImage() - Method in class graph.GraphPlotter
    +
     
    +
    updateInfofeld() - Method in class control.UnterTabMitController
    +
     
    +
    + + + +

    V

    +
    +
    vertexSize - Variable in class graph.GraphOptions
    +
     
    +
    viewer - Variable in class control.TabMitController
    +
     
    +
    + + + +

    X

    +
    +
    XML - Class in imp
    +
     
    +
    XML() - Constructor for class imp.XML
    +
    +
    Erzeugt ein leeres XMLDokument
    +
    +
    XML(String) - Constructor for class imp.XML
    +
    +
    Erzeugt ein XML-Dokument aus einer Datei
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V X 
    All Classes All Packages
    +
    +
    + +
    + + diff --git a/doc/index.html b/doc/index.html index 4a8d7a0..f2bd147 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,26 +1,23 @@ - - - - -Generated Documentation (Untitled) - - - - - - - - - - - -
    - -

    graph/package-summary.html

    -
    - - + + + + + +Generated Documentation (Untitled) + + + + + + + +
    + +

    graph/package-summary.html

    +
    + + diff --git a/doc/jquery/jszip/dist/jszip.js b/doc/jquery/jszip/dist/jszip.js index 02804cd..f44b705 100644 --- a/doc/jquery/jszip/dist/jszip.js +++ b/doc/jquery/jszip/dist/jszip.js @@ -4341,8 +4341,8 @@ module.exports = require('./_descriptors') ? function(object, key, value){ },{"./_descriptors":42,"./_object-dp":52,"./_property-desc":53}],48:[function(require,module,exports){ module.exports = require('./_global').document && document.documentElement; },{"./_global":46}],49:[function(require,module,exports){ -module.exports = !require('./_descriptors') && !require('./_fails')(function(){ - return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7; +module.exports = !require('./_descriptors') && !require('./_fails')(function(){ + return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7; }); },{"./_descriptors":42,"./_dom-create":43,"./_fails":45}],50:[function(require,module,exports){ // fast apply, http://jsperf.lnkit.com/fast-apply/5 diff --git a/doc/legal/ADDITIONAL_LICENSE_INFO b/doc/legal/ADDITIONAL_LICENSE_INFO index ff700cd..3f7e921 100644 --- a/doc/legal/ADDITIONAL_LICENSE_INFO +++ b/doc/legal/ADDITIONAL_LICENSE_INFO @@ -1,37 +1 @@ - ADDITIONAL INFORMATION ABOUT LICENSING - -Certain files distributed by Oracle America, Inc. and/or its affiliates are -subject to the following clarification and special exception to the GPLv2, -based on the GNU Project exception for its Classpath libraries, known as the -GNU Classpath Exception. - -Note that Oracle includes multiple, independent programs in this software -package. Some of those programs are provided under licenses deemed -incompatible with the GPLv2 by the Free Software Foundation and others. -For example, the package includes programs licensed under the Apache -License, Version 2.0 and may include FreeType. Such programs are licensed -to you under their original licenses. - -Oracle facilitates your further distribution of this package by adding the -Classpath Exception to the necessary parts of its GPLv2 code, which permits -you to use that code in combination with other independent modules not -licensed under the GPLv2. However, note that this would not permit you to -commingle code under an incompatible license with Oracle's GPLv2 licensed -code by, for example, cutting and pasting such code into a file also -containing Oracle's GPLv2 licensed code and then distributing the result. - -Additionally, if you were to remove the Classpath Exception from any of the -files to which it applies and distribute the result, you would likely be -required to license some or all of the other code in that distribution under -the GPLv2 as well, and since the GPLv2 is incompatible with the license terms -of some items included in the distribution by Oracle, removing the Classpath -Exception could therefore effectively compromise your ability to further -distribute the package. - -Failing to distribute notices associated with some files may also create -unexpected legal consequences. - -Proceed with caution and we recommend that you obtain the advice of a lawyer -skilled in open source matters before removing the Classpath Exception or -making modifications to this package which may subsequently be redistributed -and/or involve the use of third party software. +Please see ..\java.base\ADDITIONAL_LICENSE_INFO diff --git a/doc/legal/ASSEMBLY_EXCEPTION b/doc/legal/ASSEMBLY_EXCEPTION index 065b8d9..e09f918 100644 --- a/doc/legal/ASSEMBLY_EXCEPTION +++ b/doc/legal/ASSEMBLY_EXCEPTION @@ -1,27 +1 @@ - -OPENJDK ASSEMBLY EXCEPTION - -The OpenJDK source code made available by Oracle America, Inc. (Oracle) at -openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU -General Public License version 2 -only ("GPL2"), with the following clarification and special exception. - - Linking this OpenJDK Code statically or dynamically with other code - is making a combined work based on this library. Thus, the terms - and conditions of GPL2 cover the whole combination. - - As a special exception, Oracle gives you permission to link this - OpenJDK Code with certain code licensed by Oracle as indicated at - http://openjdk.java.net/legal/exception-modules-2007-05-08.html - ("Designated Exception Modules") to produce an executable, - regardless of the license terms of the Designated Exception Modules, - and to copy and distribute the resulting executable under GPL2, - provided that the Designated Exception Modules continue to be - governed by the licenses under which they were offered by Oracle. - -As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code -to build an executable that includes those portions of necessary code that -Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 -with the Classpath exception). If you modify or add to the OpenJDK code, -that new GPL2 code may still be combined with Designated Exception Modules -if the new code is made subject to this exception by its copyright holder. +Please see ..\java.base\ASSEMBLY_EXCEPTION diff --git a/doc/legal/LICENSE b/doc/legal/LICENSE index 8b400c7..940481e 100644 --- a/doc/legal/LICENSE +++ b/doc/legal/LICENSE @@ -1,347 +1 @@ -The GNU General Public License (GPL) - -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Everyone is permitted to copy and distribute verbatim copies of this license -document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to share -and change it. By contrast, the GNU General Public License is intended to -guarantee your freedom to share and change free software--to make sure the -software is free for all its users. This General Public License applies to -most of the Free Software Foundation's software and to any other program whose -authors commit to using it. (Some other Free Software Foundation software is -covered by the GNU Library General Public License instead.) You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our -General Public Licenses are designed to make sure that you have the freedom to -distribute copies of free software (and charge for this service if you wish), -that you receive source code or can get it if you want it, that you can change -the software or use pieces of it in new free programs; and that you know you -can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny -you these rights or to ask you to surrender the rights. These restrictions -translate to certain responsibilities for you if you distribute copies of the -software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for -a fee, you must give the recipients all the rights that you have. You must -make sure that they, too, receive or can get the source code. And you must -show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) -offer you this license which gives you legal permission to copy, distribute -and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that -everyone understands that there is no warranty for this free software. If the -software is modified by someone else and passed on, we want its recipients to -know that what they have is not the original, so that any problems introduced -by others will not reflect on the original authors' reputations. - -Finally, any free program is threatened constantly by software patents. We -wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program proprietary. -To prevent this, we have made it clear that any patent must be licensed for -everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification -follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a notice -placed by the copyright holder saying it may be distributed under the terms of -this General Public License. The "Program", below, refers to any such program -or work, and a "work based on the Program" means either the Program or any -derivative work under copyright law: that is to say, a work containing the -Program or a portion of it, either verbatim or with modifications and/or -translated into another language. (Hereinafter, translation is included -without limitation in the term "modification".) Each licensee is addressed as -"you". - -Activities other than copying, distribution and modification are not covered by -this License; they are outside its scope. The act of running the Program is -not restricted, and the output from the Program is covered only if its contents -constitute a work based on the Program (independent of having been made by -running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source code as -you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice and -disclaimer of warranty; keep intact all the notices that refer to this License -and to the absence of any warranty; and give any other recipients of the -Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you may -at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus -forming a work based on the Program, and copy and distribute such modifications -or work under the terms of Section 1 above, provided that you also meet all of -these conditions: - - a) You must cause the modified files to carry prominent notices stating - that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in whole or - in part contains or is derived from the Program or any part thereof, to be - licensed as a whole at no charge to all third parties under the terms of - this License. - - c) If the modified program normally reads commands interactively when run, - you must cause it, when started running for such interactive use in the - most ordinary way, to print or display an announcement including an - appropriate copyright notice and a notice that there is no warranty (or - else, saying that you provide a warranty) and that users may redistribute - the program under these conditions, and telling the user how to view a copy - of this License. (Exception: if the Program itself is interactive but does - not normally print such an announcement, your work based on the Program is - not required to print an announcement.) - -These requirements apply to the modified work as a whole. If identifiable -sections of that work are not derived from the Program, and can be reasonably -considered independent and separate works in themselves, then this License, and -its terms, do not apply to those sections when you distribute them as separate -works. But when you distribute the same sections as part of a whole which is a -work based on the Program, the distribution of the whole must be on the terms -of this License, whose permissions for other licensees extend to the entire -whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your -rights to work written entirely by you; rather, the intent is to exercise the -right to control the distribution of derivative or collective works based on -the Program. - -In addition, mere aggregation of another work not based on the Program with the -Program (or with a work based on the Program) on a volume of a storage or -distribution medium does not bring the other work under the scope of this -License. - -3. You may copy and distribute the Program (or a work based on it, under -Section 2) in object code or executable form under the terms of Sections 1 and -2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable source - code, which must be distributed under the terms of Sections 1 and 2 above - on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three years, to - give any third party, for a charge no more than your cost of physically - performing source distribution, a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of Sections 1 - and 2 above on a medium customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer to - distribute corresponding source code. (This alternative is allowed only - for noncommercial distribution and only if you received the program in - object code or executable form with such an offer, in accord with - Subsection b above.) - -The source code for a work means the preferred form of the work for making -modifications to it. For an executable work, complete source code means all -the source code for all modules it contains, plus any associated interface -definition files, plus the scripts used to control compilation and installation -of the executable. However, as a special exception, the source code -distributed need not include anything that is normally distributed (in either -source or binary form) with the major components (compiler, kernel, and so on) -of the operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the source -code from the same place counts as distribution of the source code, even though -third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as -expressly provided under this License. Any attempt otherwise to copy, modify, -sublicense or distribute the Program is void, and will automatically terminate -your rights under this License. However, parties who have received copies, or -rights, from you under this License will not have their licenses terminated so -long as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. -However, nothing else grants you permission to modify or distribute the Program -or its derivative works. These actions are prohibited by law if you do not -accept this License. Therefore, by modifying or distributing the Program (or -any work based on the Program), you indicate your acceptance of this License to -do so, and all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), -the recipient automatically receives a license from the original licensor to -copy, distribute or modify the Program subject to these terms and conditions. -You may not impose any further restrictions on the recipients' exercise of the -rights granted herein. You are not responsible for enforcing compliance by -third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), conditions -are imposed on you (whether by court order, agreement or otherwise) that -contradict the conditions of this License, they do not excuse you from the -conditions of this License. If you cannot distribute so as to satisfy -simultaneously your obligations under this License and any other pertinent -obligations, then as a consequence you may not distribute the Program at all. -For example, if a patent license would not permit royalty-free redistribution -of the Program by all those who receive copies directly or indirectly through -you, then the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply and -the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or -other property right claims or to contest validity of any such claims; this -section has the sole purpose of protecting the integrity of the free software -distribution system, which is implemented by public license practices. Many -people have made generous contributions to the wide range of software -distributed through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing to -distribute software through any other system and a licensee cannot impose that -choice. - -This section is intended to make thoroughly clear what is believed to be a -consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain -countries either by patents or by copyrighted interfaces, the original -copyright holder who places the Program under this License may add an explicit -geographical distribution limitation excluding those countries, so that -distribution is permitted only in or among countries not thus excluded. In -such case, this License incorporates the limitation as if written in the body -of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the -General Public License from time to time. Such new versions will be similar in -spirit to the present version, but may differ in detail to address new problems -or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any later -version", you have the option of following the terms and conditions either of -that version or of any later version published by the Free Software Foundation. -If the Program does not specify a version number of this License, you may -choose any version ever published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs -whose distribution conditions are different, write to the author to ask for -permission. For software which is copyrighted by the Free Software Foundation, -write to the Free Software Foundation; we sometimes make exceptions for this. -Our decision will be guided by the two goals of preserving the free status of -all derivatives of our free software and of promoting the sharing and reuse of -software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR -THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE -STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE -PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND -PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, -YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL -ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE -PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR -INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA -BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER -OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible -use to the public, the best way to achieve this is to make it free software -which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach -them to the start of each source file to most effectively convey the exclusion -of warranty; and each file should have at least the "copyright" line and a -pointer to where the full notice is found. - - One line to give the program's name and a brief idea of what it does. - - Copyright (C) - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this when it -starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author Gnomovision comes - with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free - software, and you are welcome to redistribute it under certain conditions; - type 'show c' for details. - -The hypothetical commands 'show w' and 'show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may be -called something other than 'show w' and 'show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your school, -if any, to sign a "copyright disclaimer" for the program, if necessary. Here -is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - 'Gnomovision' (which makes passes at compilers) written by James Hacker. - - signature of Ty Coon, 1 April 1989 - - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General Public -License instead of this License. - - -"CLASSPATH" EXCEPTION TO THE GPL - -Certain source files distributed by Oracle America and/or its affiliates are -subject to the following clarification and special exception to the GPL, but -only where Oracle has expressly included in the particular source file's header -the words "Oracle designates this particular file as subject to the "Classpath" -exception as provided by Oracle in the LICENSE file that accompanied this code." - - Linking this library statically or dynamically with other modules is making - a combined work based on this library. Thus, the terms and conditions of - the GNU General Public License cover the whole combination. - - As a special exception, the copyright holders of this library give you - permission to link this library with independent modules to produce an - executable, regardless of the license terms of these independent modules, - and to copy and distribute the resulting executable under terms of your - choice, provided that you also meet, for each linked independent module, - the terms and conditions of the license of that module. An independent - module is a module which is not derived from or based on this library. If - you modify this library, you may extend this exception to your version of - the library, but you are not obligated to do so. If you do not wish to do - so, delete this exception statement from your version. +Please see ..\java.base\LICENSE diff --git a/doc/legal/jszip.md b/doc/legal/jszip.md new file mode 100644 index 0000000..203e4b0 --- /dev/null +++ b/doc/legal/jszip.md @@ -0,0 +1,26 @@ +## JSZip v3.2.1 + +### MIT License +
    +
    +Copyright (c) 2009-2016 Stuart Knightley, David Duponchel, Franz Buchinger, António Afonso
    +
    +Permission is hereby granted, free of charge, to any person obtaining a
    +copy of this software and associated documentation files (the "Software"),
    +to deal in the Software without restriction, including without limitation
    +the rights to use, copy, modify, merge, publish, distribute, sublicense,
    +and/or sell copies of the Software, and to permit persons to whom the
    +Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included
    +in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
    +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
    +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    +OTHER DEALINGS IN THE SOFTWARE.
    +
    +
    diff --git a/doc/legal/pako.md b/doc/legal/pako.md new file mode 100644 index 0000000..de339d8 --- /dev/null +++ b/doc/legal/pako.md @@ -0,0 +1,45 @@ +## Pako v1.0 + +### Pako License +
    +Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +(C) 1995-2013 Jean-loup Gailly and Mark Adler
    +(C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
    +
    +This software is provided 'as-is', without any express or implied
    +warranty. In no event will the authors be held liable for any damages
    +arising from the use of this software.
    +
    +Permission is granted to anyone to use this software for any purpose,
    +including commercial applications, and to alter it and redistribute it
    +freely, subject to the following restrictions:
    +
    +1. The origin of this software must not be misrepresented; you must not
    +claim that you wrote the original software. If you use this software
    +in a product, an acknowledgment in the product documentation would be
    +appreciated but is not required.
    +2. Altered source versions must be plainly marked as such, and must not be
    + misrepresented as being the original software.
    +3. This notice may not be removed or altered from any source distribution.
    +
    +
    + + diff --git a/doc/logfile.txt b/doc/logfile.txt index a34a098..f2c68e6 100644 --- a/doc/logfile.txt +++ b/doc/logfile.txt @@ -1,74 +1,36 @@ -Class documentation -<---- javadoc command: ----> -/usr/share/bluej/jdk/bin/javadoc --author --version --nodeprecated --package --Xdoclint:none --noindex --notree --nohelp --nonavbar --source -17 --classpath -/usr/share/bluej/bluejcore.jar:/usr/share/bluej/junit-jupiter-migrationsupport-5.5.2.jar:/usr/share/bluej/junit-platform-suite-api-1.5.2.jar:/usr/share/bluej/junit-platform-launcher-1.5.2.jar:/usr/share/bluej/junit-jupiter-5.5.2.jar:/usr/share/bluej/junit-platform-console-1.5.2.jar:/usr/share/bluej/junit-quickcheck-core-0.9.jar:/usr/share/bluej/junit-platform-runner-1.5.2.jar:/usr/share/bluej/junit-platform-console-standalone-1.5.2.jar:/usr/share/bluej/junit-platform-engine-1.5.2.jar:/usr/share/bluej/junit-jupiter-api-5.5.2.jar:/usr/share/bluej/junit-vintage-engine-5.5.2.jar:/usr/share/bluej/junit-jupiter-engine-5.5.2.jar:/usr/share/bluej/junit-jupiter-params-5.5.2.jar:/usr/share/bluej/junit-platform-testkit-1.5.2.jar:/usr/share/bluej/junit-platform-commons-1.5.2.jar:/usr/share/bluej/junit-platform-reporting-1.5.2.jar:/usr/share/bluej/hamcrest-core-1.3.jar:/usr/share/bluej/hamcrest-library-1.3.jar:/usr/share/bluej/lang-stride.jar:/usr/share/bluej/javafx/lib/javafx.base.jar:/usr/share/bluej/javafx/lib/javafx.controls.jar:/usr/share/bluej/javafx/lib/javafx.fxml.jar:/usr/share/bluej/javafx/lib/javafx.graphics.jar:/usr/share/bluej/javafx/lib/javafx.media.jar:/usr/share/bluej/javafx/lib/javafx.properties.jar:/usr/share/bluej/javafx/lib/javafx.swing.jar:/usr/share/bluej/javafx/lib/javafx.web.jar:/home/sbel/gt/1_graphentester/+libs/jdom-1.1.3.jar:/home/sbel/gt/1_graphentester/+libs/commons-io-2.4.jar:/home/sbel/gt/1_graphentester/+libs/csv.jar:/home/sbel/gt/1_graphentester --d -/home/sbel/gt/1_graphentester/doc --encoding -UTF-8 --charset -UTF-8 -/home/sbel/gt/1_graphentester/graph/Graph.java -<---- end of javadoc command ----> -Loading source file /home/sbel/gt/1_graphentester/graph/Graph.java... -Constructing Javadoc information... -Standard Doclet version 17.0.4+8 -Building tree for all the packages and classes... -Generating /home/sbel/gt/1_graphentester/doc/graph/Graph.html... -/home/sbel/gt/1_graphentester/graph/Graph.java:240: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:240: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:302: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:302: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:320: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:320: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:346: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:346: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:370: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:370: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:394: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:394: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:410: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -/home/sbel/gt/1_graphentester/graph/Graph.java:410: warning: invalid input: '&' - * @param filter optionaler Filter, der auf die Liste angewendet wird. Er muss einen boolean-Wert zurückgeben: z.B. @literal{k->k.isMarkiert() && k.isBesucht()} - ^ -Generating /home/sbel/gt/1_graphentester/doc/graph/package-summary.html... -Generating /home/sbel/gt/1_graphentester/doc/index.html... -14 warnings +Class documentation +<---- javadoc command: ----> +C:\Program Files\BlueJ\jdk\bin\javadoc.exe +-author +-version +-nodeprecated +-package +-Xdoclint:none +-noindex +-notree +-nohelp +-nonavbar +-source +11 +-classpath +C:\Program Files\BlueJ\lib\bluejcore.jar;C:\Program Files\BlueJ\lib\junit-jupiter-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-jupiter-api-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-jupiter-engine-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-jupiter-migrationsupport-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-jupiter-params-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-commons-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-console-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-console-standalone-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-engine-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-launcher-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-reporting-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-runner-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-suite-api-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-testkit-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-quickcheck-core-0.9.jar;C:\Program Files\BlueJ\lib\junit-vintage-engine-5.5.2.jar;C:\Program Files\BlueJ\lib\hamcrest-core-1.3.jar;C:\Program Files\BlueJ\lib\hamcrest-library-1.3.jar;C:\Program Files\BlueJ\lib\lang-stride.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.base.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.controls.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.fxml.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.graphics.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.media.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.properties.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.swing.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.web.jar;H:\GitTest\3_vorlagen_tauschordner\1_graphentester\+libs\commons-io-2.4.jar;H:\GitTest\3_vorlagen_tauschordner\1_graphentester\+libs\csv.jar;H:\GitTest\3_vorlagen_tauschordner\1_graphentester\+libs\jdom-1.1.3.jar;H:\GitTest\3_vorlagen_tauschordner\1_graphentester +-d +H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc +-encoding +UTF-8 +-charset +UTF-8 +H:\GitTest\3_vorlagen_tauschordner\1_graphentester\graph\GraphElement.java +<---- end of javadoc command ----> +Loading source file H:\GitTest\3_vorlagen_tauschordner\1_graphentester\graph\GraphElement.java... +Constructing Javadoc information... +Standard Doclet version 11.0.14.1 +Building tree for all the packages and classes... +Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\graph\GraphElement.html... +Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\graph\package-summary.html... +Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\constant-values.html... +Building index for all the packages and classes... +Building index for all classes... +Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\allclasses.html... +Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\allclasses.html... +Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\index.html... diff --git a/doc/overview-summary.html b/doc/overview-summary.html index 337b6ad..91faf01 100644 --- a/doc/overview-summary.html +++ b/doc/overview-summary.html @@ -1,23 +1,23 @@ - - - - - -1_graphentester - - - - - - - -
    - -

    index.html

    -
    - - + + + + + +1_graphentester + + + + + + + +
    + +

    index.html

    +
    + + diff --git a/doc/overview-tree.html b/doc/overview-tree.html index b39f3fa..880a115 100644 --- a/doc/overview-tree.html +++ b/doc/overview-tree.html @@ -1,282 +1,282 @@ - - - - - -Class Hierarchy (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    -
    -
    -

    Hierarchy For All Packages

    -Package Hierarchies: - -
    -
    -
    -

    Class Hierarchy

    - -
    -
    -

    Interface Hierarchy

    - -
    -
    -
    -
    - -
    - - + + + + + +Class Hierarchy (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For All Packages

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +
    +
    + +
    + + diff --git a/doc/package-summary.html b/doc/package-summary.html index d9ccba9..71c1d29 100644 --- a/doc/package-summary.html +++ b/doc/package-summary.html @@ -1,163 +1,163 @@ - - - - - -<Unnamed> (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    -
    -
    -

    Package <Unnamed>

    -
    -
    -
      -
    • - - - - - - - - - - - - -
      Class Summary 
      ClassDescription
      GraphenTester 
      -
    • -
    -
    -
    -
    - -
    - - + + + + + +<Unnamed> (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package <Unnamed>

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      GraphenTester 
      +
    • +
    +
    +
    +
    + +
    + + diff --git a/doc/package-tree.html b/doc/package-tree.html index a9b2f38..d63a204 100644 --- a/doc/package-tree.html +++ b/doc/package-tree.html @@ -1,164 +1,164 @@ - - - - - - Class Hierarchy (1_graphentester) - - - - - - - - - - - - - - - -
    - -
    -
    -
    -

    Hierarchy For Package <Unnamed>

    -Package Hierarchies: - -
    -
    -
    -

    Class Hierarchy

    - -
    -
    -
    -
    - -
    - - + + + + + + Class Hierarchy (1_graphentester) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package <Unnamed>

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    +
    + +
    + + diff --git a/doc/script.js b/doc/script.js index 864989c..53f3ea0 100644 --- a/doc/script.js +++ b/doc/script.js @@ -1,132 +1,149 @@ -/* - * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -var moduleSearchIndex; -var packageSearchIndex; -var typeSearchIndex; -var memberSearchIndex; -var tagSearchIndex; -function loadScripts(doc, tag) { - createElem(doc, tag, 'search.js'); - - createElem(doc, tag, 'module-search-index.js'); - createElem(doc, tag, 'package-search-index.js'); - createElem(doc, tag, 'type-search-index.js'); - createElem(doc, tag, 'member-search-index.js'); - createElem(doc, tag, 'tag-search-index.js'); -} - -function createElem(doc, tag, path) { - var script = doc.createElement(tag); - var scriptElement = doc.getElementsByTagName(tag)[0]; - script.src = pathtoroot + path; - scriptElement.parentNode.insertBefore(script, scriptElement); -} - -function show(tableId, selected, columns) { - if (tableId !== selected) { - document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') - .forEach(function(elem) { - elem.style.display = 'none'; - }); - } - document.querySelectorAll('div.' + selected) - .forEach(function(elem, index) { - elem.style.display = ''; - var isEvenRow = index % (columns * 2) < columns; - elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); - elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); - }); - updateTabs(tableId, selected); -} - -function updateTabs(tableId, selected) { - document.querySelector('div#' + tableId +' .summary-table') - .setAttribute('aria-labelledby', selected); - document.querySelectorAll('button[id^="' + tableId + '"]') - .forEach(function(tab, index) { - if (selected === tab.id || (tableId === selected && index === 0)) { - tab.className = activeTableTab; - tab.setAttribute('aria-selected', true); - tab.setAttribute('tabindex',0); - } else { - tab.className = tableTab; - tab.setAttribute('aria-selected', false); - tab.setAttribute('tabindex',-1); - } - }); -} - -function switchTab(e) { - var selected = document.querySelector('[aria-selected=true]'); - if (selected) { - if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { - // left or up arrow key pressed: move focus to previous tab - selected.previousSibling.click(); - selected.previousSibling.focus(); - e.preventDefault(); - } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { - // right or down arrow key pressed: move focus to next tab - selected.nextSibling.click(); - selected.nextSibling.focus(); - e.preventDefault(); - } - } -} - -var updateSearchResults = function() {}; - -function indexFilesLoaded() { - return moduleSearchIndex - && packageSearchIndex - && typeSearchIndex - && memberSearchIndex - && tagSearchIndex; -} - -// Workaround for scroll position not being included in browser history (8249133) -document.addEventListener("DOMContentLoaded", function(e) { - var contentDiv = document.querySelector("div.flex-content"); - window.addEventListener("popstate", function(e) { - if (e.state !== null) { - contentDiv.scrollTop = e.state; - } - }); - window.addEventListener("hashchange", function(e) { - history.replaceState(contentDiv.scrollTop, document.title); - }); - contentDiv.addEventListener("scroll", function(e) { - var timeoutID; - if (!timeoutID) { - timeoutID = setTimeout(function() { - history.replaceState(contentDiv.scrollTop, document.title); - timeoutID = null; - }, 100); - } - }); - if (!location.hash) { - history.replaceState(contentDiv.scrollTop, document.title); - } -}); +/* + * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'jquery/jszip/dist/jszip.js'); + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils.js'); + if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0 || + window.navigator.userAgent.indexOf('Edge/') > 0) { + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils-ie.js'); + } + createElem(doc, tag, 'search.js'); + + $.get(pathtoroot + "module-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "module-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("module-search-index.json").async("text").then(function(content){ + moduleSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "package-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "package-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("package-search-index.json").async("text").then(function(content){ + packageSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "type-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "type-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("type-search-index.json").async("text").then(function(content){ + typeSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "member-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "member-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("member-search-index.json").async("text").then(function(content){ + memberSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "tag-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "tag-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("tag-search-index.json").async("text").then(function(content){ + tagSearchIndex = JSON.parse(content); + }); + }); + }); + }); + if (!moduleSearchIndex) { + createElem(doc, tag, 'module-search-index.js'); + } + if (!packageSearchIndex) { + createElem(doc, tag, 'package-search-index.js'); + } + if (!typeSearchIndex) { + createElem(doc, tag, 'type-search-index.js'); + } + if (!memberSearchIndex) { + createElem(doc, tag, 'member-search-index.js'); + } + if (!tagSearchIndex) { + createElem(doc, tag, 'tag-search-index.js'); + } + $(window).resize(function() { + $('.navPadding').css('padding-top', $('.fixedNav').css("height")); + }); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(type) { + count = 0; + for (var key in data) { + var row = document.getElementById(key); + if ((data[key] & type) !== 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) { + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} + +function updateModuleFrame(pFrame, cFrame) { + top.packageFrame.location = pFrame; + top.classFrame.location = cFrame; +} diff --git a/doc/search.js b/doc/search.js index d4bc17b..9d3fb81 100644 --- a/doc/search.js +++ b/doc/search.js @@ -1,329 +1,329 @@ -/* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -var noResult = {l: "No results found"}; -var catModules = "Modules"; -var catPackages = "Packages"; -var catTypes = "Types"; -var catMembers = "Members"; -var catSearchTags = "SearchTags"; -var highlight = "$&"; -var camelCaseRegexp = ""; -var secondaryMatcher = ""; -function getHighlightedText(item) { - var ccMatcher = new RegExp(camelCaseRegexp); - var label = item.replace(ccMatcher, highlight); - if (label === item) { - label = item.replace(secondaryMatcher, highlight); - } - return label; -} -function getURLPrefix(ui) { - var urlPrefix=""; - if (useModuleDirectories) { - var slash = "/"; - if (ui.item.category === catModules) { - return ui.item.l + slash; - } else if (ui.item.category === catPackages && ui.item.m) { - return ui.item.m + slash; - } else if ((ui.item.category === catTypes && ui.item.p) || ui.item.category === catMembers) { - $.each(packageSearchIndex, function(index, item) { - if (ui.item.p == item.l) { - urlPrefix = item.m + slash; - } - }); - return urlPrefix; - } else { - return urlPrefix; - } - } - return urlPrefix; -} -var watermark = 'Search'; -$(function() { - $("#search").val(''); - $("#search").prop("disabled", false); - $("#reset").prop("disabled", false); - $("#search").val(watermark).addClass('watermark'); - $("#search").blur(function() { - if ($(this).val().length == 0) { - $(this).val(watermark).addClass('watermark'); - } - }); - $("#search").on('click keydown', function() { - if ($(this).val() == watermark) { - $(this).val('').removeClass('watermark'); - } - }); - $("#reset").click(function() { - $("#search").val(''); - $("#search").focus(); - }); - $("#search").focus(); - $("#search")[0].setSelectionRange(0, 0); -}); -$.widget("custom.catcomplete", $.ui.autocomplete, { - _create: function() { - this._super(); - this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); - }, - _renderMenu: function(ul, items) { - var rMenu = this, - currentCategory = ""; - $.each(items, function(index, item) { - var li; - if (item.l !== noResult.l && item.category !== currentCategory) { - ul.append("
  • " + item.category + "
  • "); - currentCategory = item.category; - } - li = rMenu._renderItemData(ul, item); - if (item.category) { - li.attr("aria-label", item.category + " : " + item.l); - li.attr("class", "resultItem"); - } else { - li.attr("aria-label", item.l); - li.attr("class", "resultItem"); - } - }); - }, - _renderItem: function(ul, item) { - var label = ""; - if (item.category === catModules) { - label = getHighlightedText(item.l); - } else if (item.category === catPackages) { - label = (item.m) - ? getHighlightedText(item.m + "/" + item.l) - : getHighlightedText(item.l); - } else if (item.category === catTypes) { - label = (item.p) - ? getHighlightedText(item.p + "." + item.l) - : getHighlightedText(item.l); - } else if (item.category === catMembers) { - label = getHighlightedText(item.p + "." + (item.c + "." + item.l)); - } else if (item.category === catSearchTags) { - label = getHighlightedText(item.l); - } else { - label = item.l; - } - $li = $("
  • ").appendTo(ul); - if (item.category === catSearchTags) { - if (item.d) { - $("").attr("href", "#") - .html(label + " (" + item.h + ")
    " - + item.d + "
    ") - .appendTo($li); - } else { - $("
    ").attr("href", "#") - .html(label + " (" + item.h + ")") - .appendTo($li); - } - } else { - $("").attr("href", "#") - .html(label) - .appendTo($li); - } - return $li; - } -}); -$(function() { - $("#search").catcomplete({ - minLength: 1, - delay: 100, - source: function(request, response) { - var result = new Array(); - var presult = new Array(); - var tresult = new Array(); - var mresult = new Array(); - var tgresult = new Array(); - var secondaryresult = new Array(); - var displayCount = 0; - var exactMatcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term) + "$", "i"); - camelCaseRegexp = ($.ui.autocomplete.escapeRegex(request.term)).split(/(?=[A-Z])/).join("([a-z0-9_$]*?)"); - var camelCaseMatcher = new RegExp("^" + camelCaseRegexp); - secondaryMatcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i"); - - // Return the nested innermost name from the specified object - function nestedName(e) { - return e.l.substring(e.l.lastIndexOf(".") + 1); - } - - function concatResults(a1, a2) { - a1 = a1.concat(a2); - a2.length = 0; - return a1; - } - - if (moduleSearchIndex) { - var mdleCount = 0; - $.each(moduleSearchIndex, function(index, item) { - item.category = catModules; - if (exactMatcher.test(item.l)) { - result.push(item); - mdleCount++; - } else if (camelCaseMatcher.test(item.l)) { - result.push(item); - } else if (secondaryMatcher.test(item.l)) { - secondaryresult.push(item); - } - }); - displayCount = mdleCount; - result = concatResults(result, secondaryresult); - } - if (packageSearchIndex) { - var pCount = 0; - var pkg = ""; - $.each(packageSearchIndex, function(index, item) { - item.category = catPackages; - pkg = (item.m) - ? (item.m + "/" + item.l) - : item.l; - if (exactMatcher.test(item.l)) { - presult.push(item); - pCount++; - } else if (camelCaseMatcher.test(pkg)) { - presult.push(item); - } else if (secondaryMatcher.test(pkg)) { - secondaryresult.push(item); - } - }); - result = result.concat(concatResults(presult, secondaryresult)); - displayCount = (pCount > displayCount) ? pCount : displayCount; - } - if (typeSearchIndex) { - var tCount = 0; - $.each(typeSearchIndex, function(index, item) { - item.category = catTypes; - var s = nestedName(item); - if (exactMatcher.test(s)) { - tresult.push(item); - tCount++; - } else if (camelCaseMatcher.test(s)) { - tresult.push(item); - } else if (secondaryMatcher.test(item.p + "." + item.l)) { - secondaryresult.push(item); - } - }); - result = result.concat(concatResults(tresult, secondaryresult)); - displayCount = (tCount > displayCount) ? tCount : displayCount; - } - if (memberSearchIndex) { - var mCount = 0; - $.each(memberSearchIndex, function(index, item) { - item.category = catMembers; - var s = nestedName(item); - if (exactMatcher.test(s)) { - mresult.push(item); - mCount++; - } else if (camelCaseMatcher.test(s)) { - mresult.push(item); - } else if (secondaryMatcher.test(item.c + "." + item.l)) { - secondaryresult.push(item); - } - }); - result = result.concat(concatResults(mresult, secondaryresult)); - displayCount = (mCount > displayCount) ? mCount : displayCount; - } - if (tagSearchIndex) { - var tgCount = 0; - $.each(tagSearchIndex, function(index, item) { - item.category = catSearchTags; - if (exactMatcher.test(item.l)) { - tgresult.push(item); - tgCount++; - } else if (secondaryMatcher.test(item.l)) { - secondaryresult.push(item); - } - }); - result = result.concat(concatResults(tgresult, secondaryresult)); - displayCount = (tgCount > displayCount) ? tgCount : displayCount; - } - displayCount = (displayCount > 500) ? displayCount : 500; - var counter = function() { - var count = {Modules: 0, Packages: 0, Types: 0, Members: 0, SearchTags: 0}; - var f = function(item) { - count[item.category] += 1; - return (count[item.category] <= displayCount); - }; - return f; - }(); - response(result.filter(counter)); - }, - response: function(event, ui) { - if (!ui.content.length) { - ui.content.push(noResult); - } else { - $("#search").empty(); - } - }, - autoFocus: true, - position: { - collision: "flip" - }, - select: function(event, ui) { - if (ui.item.l !== noResult.l) { - var url = getURLPrefix(ui); - if (ui.item.category === catModules) { - if (useModuleDirectories) { - url += "module-summary.html"; - } else { - url = ui.item.l + "-summary.html"; - } - } else if (ui.item.category === catPackages) { - if (ui.item.url) { - url = ui.item.url; - } else { - url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; - } - } else if (ui.item.category === catTypes) { - if (ui.item.url) { - url = ui.item.url; - } else if (ui.item.p === "") { - url += ui.item.l + ".html"; - } else { - url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; - } - } else if (ui.item.category === catMembers) { - if (ui.item.p === "") { - url += ui.item.c + ".html" + "#"; - } else { - url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; - } - if (ui.item.url) { - url += ui.item.url; - } else { - url += ui.item.l; - } - } else if (ui.item.category === catSearchTags) { - url += ui.item.u; - } - if (top !== window) { - parent.classFrame.location = pathtoroot + url; - } else { - window.location.href = pathtoroot + url; - } - } - } - }); -}); +/* + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Types"; +var catMembers = "Members"; +var catSearchTags = "SearchTags"; +var highlight = "$&"; +var camelCaseRegexp = ""; +var secondaryMatcher = ""; +function getHighlightedText(item) { + var ccMatcher = new RegExp(camelCaseRegexp); + var label = item.replace(ccMatcher, highlight); + if (label === item) { + label = item.replace(secondaryMatcher, highlight); + } + return label; +} +function getURLPrefix(ui) { + var urlPrefix=""; + if (useModuleDirectories) { + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if ((ui.item.category === catTypes && ui.item.p) || ui.item.category === catMembers) { + $.each(packageSearchIndex, function(index, item) { + if (ui.item.p == item.l) { + urlPrefix = item.m + slash; + } + }); + return urlPrefix; + } else { + return urlPrefix; + } + } + return urlPrefix; +} +var watermark = 'Search'; +$(function() { + $("#search").val(''); + $("#search").prop("disabled", false); + $("#reset").prop("disabled", false); + $("#search").val(watermark).addClass('watermark'); + $("#search").blur(function() { + if ($(this).val().length == 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + $("#search").on('click keydown', function() { + if ($(this).val() == watermark) { + $(this).val('').removeClass('watermark'); + } + }); + $("#reset").click(function() { + $("#search").val(''); + $("#search").focus(); + }); + $("#search").focus(); + $("#search")[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this, + currentCategory = ""; + $.each(items, function(index, item) { + var li; + if (item.l !== noResult.l && item.category !== currentCategory) { + ul.append("
  • " + item.category + "
  • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "resultItem"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "resultItem"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + if (item.category === catModules) { + label = getHighlightedText(item.l); + } else if (item.category === catPackages) { + label = (item.m) + ? getHighlightedText(item.m + "/" + item.l) + : getHighlightedText(item.l); + } else if (item.category === catTypes) { + label = (item.p) + ? getHighlightedText(item.p + "." + item.l) + : getHighlightedText(item.l); + } else if (item.category === catMembers) { + label = getHighlightedText(item.p + "." + (item.c + "." + item.l)); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l); + } else { + label = item.l; + } + $li = $("
  • ").appendTo(ul); + if (item.category === catSearchTags) { + if (item.d) { + $("").attr("href", "#") + .html(label + " (" + item.h + ")
    " + + item.d + "
    ") + .appendTo($li); + } else { + $("
    ").attr("href", "#") + .html(label + " (" + item.h + ")") + .appendTo($li); + } + } else { + $("").attr("href", "#") + .html(label) + .appendTo($li); + } + return $li; + } +}); +$(function() { + $("#search").catcomplete({ + minLength: 1, + delay: 100, + source: function(request, response) { + var result = new Array(); + var presult = new Array(); + var tresult = new Array(); + var mresult = new Array(); + var tgresult = new Array(); + var secondaryresult = new Array(); + var displayCount = 0; + var exactMatcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term) + "$", "i"); + camelCaseRegexp = ($.ui.autocomplete.escapeRegex(request.term)).split(/(?=[A-Z])/).join("([a-z0-9_$]*?)"); + var camelCaseMatcher = new RegExp("^" + camelCaseRegexp); + secondaryMatcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i"); + + // Return the nested innermost name from the specified object + function nestedName(e) { + return e.l.substring(e.l.lastIndexOf(".") + 1); + } + + function concatResults(a1, a2) { + a1 = a1.concat(a2); + a2.length = 0; + return a1; + } + + if (moduleSearchIndex) { + var mdleCount = 0; + $.each(moduleSearchIndex, function(index, item) { + item.category = catModules; + if (exactMatcher.test(item.l)) { + result.push(item); + mdleCount++; + } else if (camelCaseMatcher.test(item.l)) { + result.push(item); + } else if (secondaryMatcher.test(item.l)) { + secondaryresult.push(item); + } + }); + displayCount = mdleCount; + result = concatResults(result, secondaryresult); + } + if (packageSearchIndex) { + var pCount = 0; + var pkg = ""; + $.each(packageSearchIndex, function(index, item) { + item.category = catPackages; + pkg = (item.m) + ? (item.m + "/" + item.l) + : item.l; + if (exactMatcher.test(item.l)) { + presult.push(item); + pCount++; + } else if (camelCaseMatcher.test(pkg)) { + presult.push(item); + } else if (secondaryMatcher.test(pkg)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(presult, secondaryresult)); + displayCount = (pCount > displayCount) ? pCount : displayCount; + } + if (typeSearchIndex) { + var tCount = 0; + $.each(typeSearchIndex, function(index, item) { + item.category = catTypes; + var s = nestedName(item); + if (exactMatcher.test(s)) { + tresult.push(item); + tCount++; + } else if (camelCaseMatcher.test(s)) { + tresult.push(item); + } else if (secondaryMatcher.test(item.p + "." + item.l)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(tresult, secondaryresult)); + displayCount = (tCount > displayCount) ? tCount : displayCount; + } + if (memberSearchIndex) { + var mCount = 0; + $.each(memberSearchIndex, function(index, item) { + item.category = catMembers; + var s = nestedName(item); + if (exactMatcher.test(s)) { + mresult.push(item); + mCount++; + } else if (camelCaseMatcher.test(s)) { + mresult.push(item); + } else if (secondaryMatcher.test(item.c + "." + item.l)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(mresult, secondaryresult)); + displayCount = (mCount > displayCount) ? mCount : displayCount; + } + if (tagSearchIndex) { + var tgCount = 0; + $.each(tagSearchIndex, function(index, item) { + item.category = catSearchTags; + if (exactMatcher.test(item.l)) { + tgresult.push(item); + tgCount++; + } else if (secondaryMatcher.test(item.l)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(tgresult, secondaryresult)); + displayCount = (tgCount > displayCount) ? tgCount : displayCount; + } + displayCount = (displayCount > 500) ? displayCount : 500; + var counter = function() { + var count = {Modules: 0, Packages: 0, Types: 0, Members: 0, SearchTags: 0}; + var f = function(item) { + count[item.category] += 1; + return (count[item.category] <= displayCount); + }; + return f; + }(); + response(result.filter(counter)); + }, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search").empty(); + } + }, + autoFocus: true, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.l !== noResult.l) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + if (useModuleDirectories) { + url += "module-summary.html"; + } else { + url = ui.item.l + "-summary.html"; + } + } else if (ui.item.category === catPackages) { + if (ui.item.url) { + url = ui.item.url; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.url) { + url = ui.item.url; + } else if (ui.item.p === "") { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === "") { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.url) { + url += ui.item.url; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + } + } + }); +}); diff --git a/doc/serialized-form.html b/doc/serialized-form.html index 3cba42a..f855eeb 100644 --- a/doc/serialized-form.html +++ b/doc/serialized-form.html @@ -1,179 +1,179 @@ - - - - - -Serialized Form (GraphTester_v6.7) - - - - - - - - - - - - - - - -
    - -
    -
    -
    -

    Serialized Form

    -
    -
    - -
    -
    -
    - -
    - - + + + + + +Serialized Form (GraphTester_v6.7) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    +
    + +
    +
    +
    + +
    + + diff --git a/doc/stylesheet.css b/doc/stylesheet.css index 836c62d..c027275 100644 --- a/doc/stylesheet.css +++ b/doc/stylesheet.css @@ -1,865 +1,906 @@ -/* - * Javadoc style sheet - */ - -@import url('resources/fonts/dejavu.css'); - -/* - * Styles for individual HTML elements. - * - * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular - * HTML element throughout the page. - */ - -body { - background-color:#ffffff; - color:#353833; - font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; - font-size:14px; - margin:0; - padding:0; - height:100%; - width:100%; -} -iframe { - margin:0; - padding:0; - height:100%; - width:100%; - overflow-y:scroll; - border:none; -} -a:link, a:visited { - text-decoration:none; - color:#4A6782; -} -a[href]:hover, a[href]:focus { - text-decoration:none; - color:#bb7a2a; -} -a[name] { - color:#353833; -} -pre { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; -} -h1 { - font-size:20px; -} -h2 { - font-size:18px; -} -h3 { - font-size:16px; -} -h4 { - font-size:15px; -} -h5 { - font-size:14px; -} -h6 { - font-size:13px; -} -ul { - list-style-type:disc; -} -code, tt { - font-family:'DejaVu Sans Mono', monospace; -} -:not(h1, h2, h3, h4, h5, h6) > code, -:not(h1, h2, h3, h4, h5, h6) > tt { - font-size:14px; - padding-top:4px; - margin-top:8px; - line-height:1.4em; -} -dt code { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; - padding-top:4px; -} -.summary-table dt code { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; - vertical-align:top; - padding-top:4px; -} -sup { - font-size:8px; -} -button { - font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; - font-size: 14px; -} -/* - * Styles for HTML generated by javadoc. - * - * These are style classes that are used by the standard doclet to generate HTML documentation. - */ - -/* - * Styles for document title and copyright. - */ -.clear { - clear:both; - height:0; - overflow:hidden; -} -.about-language { - float:right; - padding:0 21px 8px 8px; - font-size:11px; - margin-top:-9px; - height:2.9em; -} -.legal-copy { - margin-left:.5em; -} -.tab { - background-color:#0066FF; - color:#ffffff; - padding:8px; - width:5em; - font-weight:bold; -} -/* - * Styles for navigation bar. - */ -@media screen { - .flex-box { - position:fixed; - display:flex; - flex-direction:column; - height: 100%; - width: 100%; - } - .flex-header { - flex: 0 0 auto; - } - .flex-content { - flex: 1 1 auto; - overflow-y: auto; - } -} -.top-nav { - background-color:#4D7A97; - color:#FFFFFF; - float:left; - padding:0; - width:100%; - clear:right; - min-height:2.8em; - padding-top:10px; - overflow:hidden; - font-size:12px; -} -.sub-nav { - background-color:#dee3e9; - float:left; - width:100%; - overflow:hidden; - font-size:12px; -} -.sub-nav div { - clear:left; - float:left; - padding:0 0 5px 6px; - text-transform:uppercase; -} -.sub-nav .nav-list { - padding-top:5px; -} -ul.nav-list { - display:block; - margin:0 25px 0 0; - padding:0; -} -ul.sub-nav-list { - float:left; - margin:0 25px 0 0; - padding:0; -} -ul.nav-list li { - list-style:none; - float:left; - padding: 5px 6px; - text-transform:uppercase; -} -.sub-nav .nav-list-search { - float:right; - margin:0 0 0 0; - padding:5px 6px; - clear:none; -} -.nav-list-search label { - position:relative; - right:-16px; -} -ul.sub-nav-list li { - list-style:none; - float:left; - padding-top:10px; -} -.top-nav a:link, .top-nav a:active, .top-nav a:visited { - color:#FFFFFF; - text-decoration:none; - text-transform:uppercase; -} -.top-nav a:hover { - text-decoration:none; - color:#bb7a2a; - text-transform:uppercase; -} -.nav-bar-cell1-rev { - background-color:#F8981D; - color:#253441; - margin: auto 5px; -} -.skip-nav { - position:absolute; - top:auto; - left:-9999px; - overflow:hidden; -} -/* - * Hide navigation links and search box in print layout - */ -@media print { - ul.nav-list, div.sub-nav { - display:none; - } -} -/* - * Styles for page header and footer. - */ -.title { - color:#2c4557; - margin:10px 0; -} -.sub-title { - margin:5px 0 0 0; -} -.header ul { - margin:0 0 15px 0; - padding:0; -} -.header ul li, .footer ul li { - list-style:none; - font-size:13px; -} -/* - * Styles for headings. - */ -body.class-declaration-page .summary h2, -body.class-declaration-page .details h2, -body.class-use-page h2, -body.module-declaration-page .block-list h2 { - font-style: italic; - padding:0; - margin:15px 0; -} -body.class-declaration-page .summary h3, -body.class-declaration-page .details h3, -body.class-declaration-page .summary .inherited-list h2 { - background-color:#dee3e9; - border:1px solid #d0d9e0; - margin:0 0 6px -8px; - padding:7px 5px; -} -/* - * Styles for page layout containers. - */ -main { - clear:both; - padding:10px 20px; - position:relative; -} -dl.notes > dt { - font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; - font-size:12px; - font-weight:bold; - margin:10px 0 0 0; - color:#4E4E4E; -} -dl.notes > dd { - margin:5px 10px 10px 0; - font-size:14px; - font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; -} -dl.name-value > dt { - margin-left:1px; - font-size:1.1em; - display:inline; - font-weight:bold; -} -dl.name-value > dd { - margin:0 0 0 1px; - font-size:1.1em; - display:inline; -} -/* - * Styles for lists. - */ -li.circle { - list-style:circle; -} -ul.horizontal li { - display:inline; - font-size:0.9em; -} -div.inheritance { - margin:0; - padding:0; -} -div.inheritance div.inheritance { - margin-left:2em; -} -ul.block-list, -ul.details-list, -ul.member-list, -ul.summary-list { - margin:10px 0 10px 0; - padding:0; -} -ul.block-list > li, -ul.details-list > li, -ul.member-list > li, -ul.summary-list > li { - list-style:none; - margin-bottom:15px; - line-height:1.4; -} -.summary-table dl, .summary-table dl dt, .summary-table dl dd { - margin-top:0; - margin-bottom:1px; -} -ul.see-list, ul.see-list-long { - padding-left: 0; - list-style: none; -} -ul.see-list li { - display: inline; -} -ul.see-list li:not(:last-child):after, -ul.see-list-long li:not(:last-child):after { - content: ", "; - white-space: pre-wrap; -} -/* - * Styles for tables. - */ -.summary-table, .details-table { - width:100%; - border-spacing:0; - border-left:1px solid #EEE; - border-right:1px solid #EEE; - border-bottom:1px solid #EEE; - padding:0; -} -.caption { - position:relative; - text-align:left; - background-repeat:no-repeat; - color:#253441; - font-weight:bold; - clear:none; - overflow:hidden; - padding:0; - padding-top:10px; - padding-left:1px; - margin:0; - white-space:pre; -} -.caption a:link, .caption a:visited { - color:#1f389c; -} -.caption a:hover, -.caption a:active { - color:#FFFFFF; -} -.caption span { - white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - padding-bottom:7px; - display:inline-block; - float:left; - background-color:#F8981D; - border: none; - height:16px; -} -div.table-tabs { - padding:10px 0 0 1px; - margin:0; -} -div.table-tabs > button { - border: none; - cursor: pointer; - padding: 5px 12px 7px 12px; - font-weight: bold; - margin-right: 3px; -} -div.table-tabs > button.active-table-tab { - background: #F8981D; - color: #253441; -} -div.table-tabs > button.table-tab { - background: #4D7A97; - color: #FFFFFF; -} -.two-column-summary { - display: grid; - grid-template-columns: minmax(15%, max-content) minmax(15%, auto); -} -.three-column-summary { - display: grid; - grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); -} -.four-column-summary { - display: grid; - grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); -} -@media screen and (max-width: 600px) { - .two-column-summary { - display: grid; - grid-template-columns: 1fr; - } -} -@media screen and (max-width: 800px) { - .three-column-summary { - display: grid; - grid-template-columns: minmax(10%, max-content) minmax(25%, auto); - } - .three-column-summary .col-last { - grid-column-end: span 2; - } -} -@media screen and (max-width: 1000px) { - .four-column-summary { - display: grid; - grid-template-columns: minmax(15%, max-content) minmax(15%, auto); - } -} -.summary-table > div, .details-table > div { - text-align:left; - padding: 8px 3px 3px 7px; -} -.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { - vertical-align:top; - padding-right:0; - padding-top:8px; - padding-bottom:3px; -} -.table-header { - background:#dee3e9; - font-weight: bold; -} -.col-first, .col-first { - font-size:13px; -} -.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { - font-size:13px; -} -.col-first, .col-second, .col-constructor-name { - vertical-align:top; - overflow: auto; -} -.col-last { - white-space:normal; -} -.col-first a:link, .col-first a:visited, -.col-second a:link, .col-second a:visited, -.col-first a:link, .col-first a:visited, -.col-second a:link, .col-second a:visited, -.col-constructor-name a:link, .col-constructor-name a:visited, -.col-summary-item-name a:link, .col-summary-item-name a:visited, -.constant-values-container a:link, .constant-values-container a:visited, -.all-classes-container a:link, .all-classes-container a:visited, -.all-packages-container a:link, .all-packages-container a:visited { - font-weight:bold; -} -.table-sub-heading-color { - background-color:#EEEEFF; -} -.even-row-color, .even-row-color .table-header { - background-color:#FFFFFF; -} -.odd-row-color, .odd-row-color .table-header { - background-color:#EEEEEF; -} -/* - * Styles for contents. - */ -.deprecated-content { - margin:0; - padding:10px 0; -} -div.block { - font-size:14px; - font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; -} -.col-last div { - padding-top:0; -} -.col-last a { - padding-bottom:3px; -} -.module-signature, -.package-signature, -.type-signature, -.member-signature { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; - margin:14px 0; - white-space: pre-wrap; -} -.module-signature, -.package-signature, -.type-signature { - margin-top: 0; -} -.member-signature .type-parameters-long, -.member-signature .parameters, -.member-signature .exceptions { - display: inline-block; - vertical-align: top; - white-space: pre; -} -.member-signature .type-parameters { - white-space: normal; -} -/* - * Styles for formatting effect. - */ -.source-line-no { - color:green; - padding:0 30px 0 0; -} -h1.hidden { - visibility:hidden; - overflow:hidden; - font-size:10px; -} -.block { - display:block; - margin:0 10px 5px 0; - color:#474747; -} -.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, -.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, -.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { - font-weight:bold; -} -.deprecation-comment, .help-footnote, .preview-comment { - font-style:italic; -} -.deprecation-block { - font-size:14px; - font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; - border-style:solid; - border-width:thin; - border-radius:10px; - padding:10px; - margin-bottom:10px; - margin-right:10px; - display:inline-block; -} -.preview-block { - font-size:14px; - font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; - border-style:solid; - border-width:thin; - border-radius:10px; - padding:10px; - margin-bottom:10px; - margin-right:10px; - display:inline-block; -} -div.block div.deprecation-comment { - font-style:normal; -} -/* - * Styles specific to HTML5 elements. - */ -main, nav, header, footer, section { - display:block; -} -/* - * Styles for javadoc search. - */ -.ui-autocomplete-category { - font-weight:bold; - font-size:15px; - padding:7px 0 7px 3px; - background-color:#4D7A97; - color:#FFFFFF; -} -.result-item { - font-size:13px; -} -.ui-autocomplete { - max-height:85%; - max-width:65%; - overflow-y:scroll; - overflow-x:scroll; - white-space:nowrap; - box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); -} -ul.ui-autocomplete { - position:fixed; - z-index:999999; -} -ul.ui-autocomplete li { - float:left; - clear:both; - width:100%; -} -.result-highlight { - font-weight:bold; -} -#search-input { - background-image:url('resources/glass.png'); - background-size:13px; - background-repeat:no-repeat; - background-position:2px 3px; - padding-left:20px; - position:relative; - right:-18px; - width:400px; -} -#reset-button { - background-color: rgb(255,255,255); - background-image:url('resources/x.png'); - background-position:center; - background-repeat:no-repeat; - background-size:12px; - border:0 none; - width:16px; - height:16px; - position:relative; - left:-4px; - top:-4px; - font-size:0px; -} -.watermark { - color:#545454; -} -.search-tag-desc-result { - font-style:italic; - font-size:11px; -} -.search-tag-holder-result { - font-style:italic; - font-size:12px; -} -.search-tag-result:target { - background-color:yellow; -} -.module-graph span { - display:none; - position:absolute; -} -.module-graph:hover span { - display:block; - margin: -100px 0 0 100px; - z-index: 1; -} -.inherited-list { - margin: 10px 0 10px 0; -} -section.class-description { - line-height: 1.4; -} -.summary section[class$="-summary"], .details section[class$="-details"], -.class-uses .detail, .serialized-class-details { - padding: 0px 20px 5px 10px; - border: 1px solid #ededed; - background-color: #f8f8f8; -} -.inherited-list, section[class$="-details"] .detail { - padding:0 0 5px 8px; - background-color:#ffffff; - border:none; -} -.vertical-separator { - padding: 0 5px; -} -ul.help-section-list { - margin: 0; -} -ul.help-subtoc > li { - display: inline-block; - padding-right: 5px; - font-size: smaller; -} -ul.help-subtoc > li::before { - content: "\2022" ; - padding-right:2px; -} -span.help-note { - font-style: italic; -} -/* - * Indicator icon for external links. - */ -main a[href*="://"]::after { - content:""; - display:inline-block; - background-image:url('data:image/svg+xml; utf8, \ - \ - \ - '); - background-size:100% 100%; - width:7px; - height:7px; - margin-left:2px; - margin-bottom:4px; -} -main a[href*="://"]:hover::after, -main a[href*="://"]:focus::after { - background-image:url('data:image/svg+xml; utf8, \ - \ - \ - '); -} - -/* - * Styles for user-provided tables. - * - * borderless: - * No borders, vertical margins, styled caption. - * This style is provided for use with existing doc comments. - * In general, borderless tables should not be used for layout purposes. - * - * plain: - * Plain borders around table and cells, vertical margins, styled caption. - * Best for small tables or for complex tables for tables with cells that span - * rows and columns, when the "striped" style does not work well. - * - * striped: - * Borders around the table and vertical borders between cells, striped rows, - * vertical margins, styled caption. - * Best for tables that have a header row, and a body containing a series of simple rows. - */ - -table.borderless, -table.plain, -table.striped { - margin-top: 10px; - margin-bottom: 10px; -} -table.borderless > caption, -table.plain > caption, -table.striped > caption { - font-weight: bold; - font-size: smaller; -} -table.borderless th, table.borderless td, -table.plain th, table.plain td, -table.striped th, table.striped td { - padding: 2px 5px; -} -table.borderless, -table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, -table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { - border: none; -} -table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { - background-color: transparent; -} -table.plain { - border-collapse: collapse; - border: 1px solid black; -} -table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { - background-color: transparent; -} -table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, -table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { - border: 1px solid black; -} -table.striped { - border-collapse: collapse; - border: 1px solid black; -} -table.striped > thead { - background-color: #E3E3E3; -} -table.striped > thead > tr > th, table.striped > thead > tr > td { - border: 1px solid black; -} -table.striped > tbody > tr:nth-child(even) { - background-color: #EEE -} -table.striped > tbody > tr:nth-child(odd) { - background-color: #FFF -} -table.striped > tbody > tr > th, table.striped > tbody > tr > td { - border-left: 1px solid black; - border-right: 1px solid black; -} -table.striped > tbody > tr > th { - font-weight: normal; -} -/** - * Tweak font sizes and paddings for small screens. - */ -@media screen and (max-width: 1050px) { - #search-input { - width: 300px; - } -} -@media screen and (max-width: 800px) { - #search-input { - width: 200px; - } - .top-nav, - .bottom-nav { - font-size: 11px; - padding-top: 6px; - } - .sub-nav { - font-size: 11px; - } - .about-language { - padding-right: 16px; - } - ul.nav-list li, - .sub-nav .nav-list-search { - padding: 6px; - } - ul.sub-nav-list li { - padding-top: 5px; - } - main { - padding: 10px; - } - .summary section[class$="-summary"], .details section[class$="-details"], - .class-uses .detail, .serialized-class-details { - padding: 0 8px 5px 8px; - } - body { - -webkit-text-size-adjust: none; - } -} -@media screen and (max-width: 500px) { - #search-input { - width: 150px; - } - .top-nav, - .bottom-nav { - font-size: 10px; - } - .sub-nav { - font-size: 10px; - } - .about-language { - font-size: 10px; - padding-right: 12px; - } -} +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +a[name]:before, a[name]:target, a[id]:before, a[id]:target { + content:""; + display:inline-block; + position:relative; + padding-top:129px; + margin-top:-129px; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} + +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.navPadding { + padding-top: 107px; +} +.fixedNav { + position:fixed; + width:100%; + z-index:999; + background-color:#ffffff; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch { + float:right; + margin:0 0 0 0; + padding:0; +} +ul.navListSearch li { + list-style:none; + float:right; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch li label { + position:relative; + right:-16px; +} +ul.subNavList li { + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Styles for page header and footer. + */ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexNav { + position:relative; + font-size:12px; + background-color:#dee3e9; +} +.indexNav ul { + margin-top:0; + padding:5px; +} +.indexNav ul li { + display:inline; + list-style-type:none; + padding-right:10px; + text-transform:uppercase; +} +.indexNav h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* + * Styles for page layout containers. + */ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer, +.allClassesContainer, .allPackagesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* + * Styles for tables. + */ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary, +.requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary, .requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption, +.requiresSummary caption, .packagesSummary caption, .providesSummary caption, .usesSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.constantsSummary caption a:link, .deprecatedSummary caption a:link, +.requiresSummary caption a:link, .packagesSummary caption a:link, .providesSummary caption a:link, +.usesSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.requiresSummary caption a:hover, .packagesSummary caption a:hover, .providesSummary caption a:hover, +.usesSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.constantsSummary caption a:active, .deprecatedSummary caption a:active, +.requiresSummary caption a:active, .packagesSummary caption a:active, .providesSummary caption a:active, +.usesSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.constantsSummary caption a:visited, .deprecatedSummary caption a:visited, +.requiresSummary caption a:visited, .packagesSummary caption a:visited, .providesSummary caption a:visited, +.usesSummary caption a:visited { + color:#FFFFFF; +} +.useSummary caption a:link, .useSummary caption a:hover, .useSummary caption a:active, +.useSummary caption a:visited { + color:#1f389c; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span, +.requiresSummary caption span, .packagesSummary caption span, .providesSummary caption span, +.usesSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span, +.overviewSummary caption span.activeTableTab span, .typeSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span, +.overviewSummary caption span.tableTab span, .typeSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab, +.packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab, +.overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab, +.typeSummary caption span.tableTab, .typeSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd, +.requiresSummary .tabEnd, .packagesSummary .tabEnd, .providesSummary .tabEnd, .usesSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd, .packagesSummary .activeTableTab .tabEnd, +.overviewSummary .activeTableTab .tabEnd, .typeSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd, .packagesSummary .tableTab .tabEnd, +.overviewSummary .tableTab .tabEnd, .typeSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; +} +.rowColor th, .altColor th { + font-weight:normal; +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td, +.requiresSummary td, .packagesSummary td, .providesSummary td, .usesSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .useSummary th, +.constantsSummary th, .packagesSummary th, td.colFirst, td.colSecond, td.colLast, .useSummary td, +.constantsSummary td { + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .constantsSummary th, +.packagesSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + font-size:13px; +} +td.colSecond, th.colSecond, td.colLast, th.colConstructorName, th.colDeprecatedItemName, th.colLast { + font-size:13px; +} +.constantsSummary th, .packagesSummary th { + font-size:13px; +} +.providesSummary th.colFirst, .providesSummary th.colLast, .providesSummary td.colFirst, +.providesSummary td.colLast { + white-space:normal; + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.requiresSummary td.colFirst, .requiresSummary th.colFirst, +.packagesSummary td.colFirst, .packagesSummary td.colSecond, .packagesSummary th.colFirst, .packagesSummary th, +.usesSummary td.colFirst, .usesSummary th.colFirst, +.providesSummary td.colFirst, .providesSummary th.colFirst, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName, +.typeSummary td.colFirst, .typeSummary th.colFirst { + vertical-align:top; +} +.packagesSummary th.colLast, .packagesSummary td.colLast { + white-space:normal; +} +td.colFirst a:link, td.colFirst a:visited, +td.colSecond a:link, td.colSecond a:visited, +th.colFirst a:link, th.colFirst a:visited, +th.colSecond a:link, th.colSecond a:visited, +th.colConstructorName a:link, th.colConstructorName a:visited, +th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, +.constantValuesContainer td a:link, .constantValuesContainer td a:visited, +.allClassesContainer td a:link, .allClassesContainer td a:visited, +.allPackagesContainer td a:link, .allPackagesContainer td a:visited { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor, .altColor th { + background-color:#FFFFFF; +} +.rowColor, .rowColor th { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +td.colLast div { + padding-top:0px; +} +td.colLast a { + padding-bottom:3px; +} +/* + * Styles for formatting effect. + */ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .implementationLabel, .memberNameLabel, .memberNameLink, +.moduleLabelInPackage, .moduleLabelInType, .overrideSpecifyLabel, .packageLabelInType, +.packageHierarchyLabel, .paramLabel, .returnLabel, .seeLabel, .simpleTagLabel, +.throwsLabel, .typeNameLabel, .typeNameLink, .searchTagLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} +.deprecationBlock { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} +div.contentContainer ul.blockList li.blockList h2 { + padding-bottom:0px; +} +/* + * Styles for IFRAME. + */ +.mainContainer { + margin:0 auto; + padding:0; + height:100%; + width:100%; + position:fixed; + top:0; + left:0; +} +.leftContainer { + height:100%; + position:fixed; + width:320px; +} +.leftTop { + position:relative; + float:left; + width:315px; + top:0; + left:0; + height:30%; + border-right:6px solid #ccc; + border-bottom:6px solid #ccc; +} +.leftBottom { + position:relative; + float:left; + width:315px; + bottom:0; + left:0; + height:70%; + border-right:6px solid #ccc; + border-top:1px solid #000; +} +.rightContainer { + position:absolute; + left:320px; + top:0; + bottom:0; + height:100%; + right:0; + border-left:1px solid #000; +} +.rightIframe { + margin:0; + padding:0; + height:100%; + right:30px; + width:100%; + overflow:visible; + margin-bottom:30px; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.resultItem { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.resultHighlight { + font-weight:bold; +} +#search { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; +} +#reset { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:17px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.searchTagDescResult { + font-style:italic; + font-size:11px; +} +.searchTagHolderResult { + font-style:italic; + font-size:12px; +} +.searchTagResult:before, .searchTagResult:target { + color:red; +} +.moduleGraph span { + display:none; + position:absolute; +} +.moduleGraph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.methodSignature { + white-space:normal; +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} diff --git a/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.ctxt b/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.ctxt index 2f5ba81..4a407d4 100644 --- a/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.ctxt +++ b/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.ctxt @@ -1,6 +1,6 @@ #BlueJ class context comment0.target=GraphAlgo_Coloring_Schueler -comment0.text=\n\ Dieser\ Algorithmus\ f\u00E4rbt\ einen\ Graphen,\ so\ dass\ keine\ benachbarten\ Knoten\n\ die\ gleiche\ Farbe\ haben\ und\ m\u00F6glichst\ wenige\ Farben\ benutzt\ werden.\n\ Algorithmus\:\ Beispieldatei,\ in\ der\ Sch\u00FCler\ den\ Algorithmus\ selbst\ umsetzen\ k\u00F6nnen\n\n\ @version\ 1.0\ from\ 10.12.2020\n\ @author\ Thomas\ Schaller\n +comment0.text=\r\n\ Dieser\ Algorithmus\ f\u00E4rbt\ einen\ Graphen,\ so\ dass\ keine\ benachbarten\ Knoten\r\n\ die\ gleiche\ Farbe\ haben\ und\ m\u00F6glichst\ wenige\ Farben\ benutzt\ werden.\r\n\ Algorithmus\:\ Beispieldatei,\ in\ der\ Sch\u00FCler\ den\ Algorithmus\ selbst\ umsetzen\ k\u00F6nnen\r\n\r\n\ @version\ 1.0\ from\ 10.12.2020\r\n\ @author\ Thomas\ Schaller\r\n comment1.params= comment1.target=java.lang.String\ getBezeichnung() comment2.params= diff --git a/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.java b/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.java index b86d12f..e6e8822 100644 --- a/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.java +++ b/eigeneAlgorithmen/GraphAlgo_Coloring_Schueler.java @@ -19,7 +19,7 @@ import algorithmen.*; public class GraphAlgo_Coloring_Schueler extends GraphAlgo { - + Graph gr; public String getBezeichnung() { return "Greedy-Coloring (toDo)"; @@ -29,7 +29,8 @@ public class GraphAlgo_Coloring_Schueler extends GraphAlgo { // Anfang Methoden public void fuehreAlgorithmusAus() { - getStartKnoten().setFarbe(3); + gr = getGraph(); + getStartKnoten().setFarbe(3); // Hole alle Knoten vom Graph g diff --git a/eigeneAlgorithmen/package.bluej b/eigeneAlgorithmen/package.bluej index ed5c45c..864787f 100644 --- a/eigeneAlgorithmen/package.bluej +++ b/eigeneAlgorithmen/package.bluej @@ -1,27 +1,34 @@ -#BlueJ package file -objectbench.height=93 -objectbench.width=776 -package.divider.horizontal=0.599476439790576 -package.divider.vertical=0.8003992015968064 -package.editor.height=394 -package.editor.width=659 -package.editor.x=819 -package.editor.y=382 -package.frame.height=600 -package.frame.width=800 -package.numDependencies=0 -package.numTargets=1 -package.showExtends=true -package.showUses=true -readme.height=60 -readme.name=@README -readme.width=49 -readme.x=10 -readme.y=10 -target1.height=50 -target1.name=GraphAlgo_Coloring_Schueler -target1.showInterface=false -target1.type=ClassTarget -target1.width=220 -target1.x=10 -target1.y=90 +#BlueJ package file +objectbench.height=93 +objectbench.width=760 +package.divider.horizontal=0.599476439790576 +package.divider.vertical=0.8 +package.editor.height=393 +package.editor.width=649 +package.editor.x=819 +package.editor.y=382 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=0 +package.numTargets=2 +package.showExtends=true +package.showUses=true +readme.height=60 +readme.name=@README +readme.width=49 +readme.x=10 +readme.y=10 +target1.height=70 +target1.name=GraphAlgo_Dijkstra_Eigener +target1.showInterface=false +target1.type=ClassTarget +target1.width=200 +target1.x=70 +target1.y=10 +target2.height=50 +target2.name=GraphAlgo_Coloring_Schueler +target2.showInterface=false +target2.type=ClassTarget +target2.width=210 +target2.x=10 +target2.y=90 diff --git a/graph/Graph.java b/graph/Graph.java index 8c601c5..2f104bf 100644 --- a/graph/Graph.java +++ b/graph/Graph.java @@ -456,6 +456,7 @@ public class Graph if (!isKnotenEnthalten(k)){ kList.add(k); adList.add(new ArrayList()); + k.setGraph(this); } } @@ -493,6 +494,7 @@ public class Graph } adList.remove(index); kList.remove(k); + k.setGraph(null); return true; } @@ -577,6 +579,7 @@ public class Graph adList.get(kList.indexOf(e.getStart())).add(e); if(!gerichtet) adList.get(kList.indexOf(e.getZiel())).add(e); kaList.add(e); + e.setGraph(this); } /** @@ -625,8 +628,10 @@ public class Graph } } kaList.remove(e1); + e1.setGraph(null); if(!gerichtet) { kaList.remove(e2); + e2.setGraph(null); } } @@ -654,6 +659,8 @@ public class Graph * Loescht den gesamten Graphen */ public void loescheAlles() { + for(Kante k : kaList) k.setGraph(null); + for(Knoten k : kList) k.setGraph(null); adList.clear(); kList.clear(); kaList.clear(); diff --git a/graph/Graph.uml b/graph/Graph.uml index ee8976c..10d13d4 100644 --- a/graph/Graph.uml +++ b/graph/Graph.uml @@ -1,16 +1,16 @@ -[Diagram] -comments=0 -OffsetX=0 -OffsetY=0 -Visibility=0 -ShowParameter=4 -SortOrder=0 -ShowIcons=0 -ShowConnections=0 -Fontname=Segoe UI -Fontsize=10 -ShowObjectDiagram=0 - -[Interactive] -I0= - +[Diagram] +comments=0 +OffsetX=0 +OffsetY=0 +Visibility=0 +ShowParameter=4 +SortOrder=0 +ShowIcons=0 +ShowConnections=0 +Fontname=Segoe UI +Fontsize=10 +ShowObjectDiagram=0 + +[Interactive] +I0= + diff --git a/graph/GraphElement.java b/graph/GraphElement.java index d665af8..e96d0fb 100644 --- a/graph/GraphElement.java +++ b/graph/GraphElement.java @@ -1,16 +1,229 @@ package graph; - +import java.util.HashMap; +import java.util.List; +import java.util.Arrays; /** * Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten. * Sie ist nur für die interne Verarbeitung wichtig. * * @author Thomas Schaller - * @version v1.1 + * @version 28.02.2023 (v7.0) + * v7.0: Die am Element gespeicherten Informationen werden in einer Hashmap gespeichert. Daher können beliebige weitere Informationen abgelegt werden. + * Es wird auch gespeichert, als welcher Typ die Information übergeben wurde. */ public abstract class GraphElement implements Comparable { - public abstract int compareTo(GraphElement e); - public abstract String getStatus(); - public abstract void setStatus(String status); + protected HashMap daten; + protected HashMap typen; + protected Graph g; + protected String sortierKriterium; + + public GraphElement() { + daten = new HashMap(); + typen = new HashMap(); + } + + /** + * Setzt den Status einer Kante, der in einem String gespeichert ist. + * Form: markiert,geloescht,farbe + * Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und + * die farbe eine Zahl + * @param status Statusstring + */ + public void setStatus(String status) { + List items = Arrays.asList(status.split("\\s*,\\s*")); + for(int i=0; i< items.size(); i++) { + String[] pair = items.get(i).split(":"); + daten.put(pair[0], pair[1]); + } + } + + /** + * Liefert den Status einer Kante als String. + * Form: markiert,geloescht,farbe + * Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und + * die farbe eine Zahl + * @return Statusstring + */ + public String getStatus() { + String s = ""; + for (String i : daten.keySet()) { + s = s + ","+i+":"+daten.get(i); + } + s = s.substring(1); + return s; + } + + + /** Setzt das Sortierkriterium des Knoten/der Kante. + * @param name Bezeichnung des Wertes nach dem sortiert werden soll + */ + public void setSortierkriterium(String name) { + sortierKriterium = name; + } + + /** Gibt die Beschreibung des Knoten / der Kante als Kurztext für die Anzeige im + * Kreis bzw. Kasten zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile + * dargestellt. Es werden nur die Werte angezeigt. Es sind max. 2 Zeilen zulässig. + * @param namen Namen der Werte, die im Kurztext angezeigt werden sollen. + */ + public abstract List getKurztext(String[] namen); + + /** Gibt die Beschreibung des Knoten / der Kante als Langtext für die Anzeige im + * Tooltip-Fenster zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile + * dargestellt. Es wird jeweils die Bezeichnung und der Wert ausgegeben. + * @param namen Namen der Werte, die im Tooltip angezeigt werden sollen. + */ + public abstract List getLangtext(String[] namen); + + /** Speichert den Graphen, in den Knoten/Kante eingefügt wurde. Damit kann er selbst seine Nummer + * ermitteln. + * @param g Graph + */ + public void setGraph(Graph g) { + this.g = g; + } + + /** Speichert zusätzliche Daten am Knoten oder der Kante + * @param name Bezeichnung der Art der Daten + * @param wert Wert der zu speichernden Daten + */ + public void set(String name, String wert) { + wert = wert.replaceAll(":", ""); + wert = wert.replaceAll(",", ""); + daten.put(name.toLowerCase(), wert); + typen.put(name.toLowerCase(), "String"); + } + + /** Speichert zusätzliche Daten am Knoten oder der Kante + * Double.POSITIVE_INFINITY bzw. NEGATIVE_INFINITY wird als +/- unendlich dargestellt + * @param name Bezeichnung der Art der Daten + * @param wert Wert der zu speichernden Daten + */ + public void set(String name, double wert) { + if(wert == Double.POSITIVE_INFINITY) { + daten.put(name.toLowerCase(), "\u221e"); + + } else { + if(wert == Double.NEGATIVE_INFINITY) { + daten.put(name.toLowerCase(), "-\u221e"); + + } else { + if((int) wert == wert) { + daten.put(name.toLowerCase(), ""+(int) wert); + } else { + daten.put(name.toLowerCase(), ""+wert); + } + } + } + typen.put(name.toLowerCase(), "Number"); + } + + /** Speichert zusätzliche Daten am Knoten oder der Kante + * Integer.MAX_VALUE bzw. MIN_VALUE werden als +/- unendlich dargestellt. + * @param name Bezeichnung der Art der Daten + * @param wert Wert der zu speichernden Daten + */ + public void set(String name, int wert) { + typen.put(name.toLowerCase(), "Number"); + + if(wert == Integer.MAX_VALUE) { + daten.put(name.toLowerCase(), "\u221e"); + return; + } + if(wert == Integer.MIN_VALUE) { + daten.put(name.toLowerCase(), "-\u221e"); + return; + } + daten.put(name.toLowerCase(), ""+wert); + } + + /** Speichert zusätzliche Daten am Knoten oder der Kante + * @param name Bezeichnung der Art der Daten + * @param wert Wert der zu speichernden Daten + */ + public void set(String name, boolean wert) { + typen.put(name.toLowerCase(), "Boolean"); + daten.put(name.toLowerCase(), ""+wert); + } + + /** Gibt zusätzliche Daten als String zurück + * @param name Bezeichnung der zusätzlichen Daten + * @return Wert von "name" oder "", wenn name nicht gespeichert ist + */ + public String getString(String name) { + if(daten.containsKey(name.toLowerCase())) { + return daten.get(name.toLowerCase()); + } else { + return ""; + } + } + + /** Gibt zusätzliche Daten als int zurück + * @param name Bezeichnung der zusätzlichen Daten + * @return Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist + */ + public int getInt(String name) { + try{ + if(daten.get(name.toLowerCase()).equals("\u221e")) return Integer.MAX_VALUE; + if(daten.get(name.toLowerCase()).equals("-\u221e")) return Integer.MIN_VALUE; + return Integer.parseInt(daten.get(name.toLowerCase())); + } catch(Exception e) { + return 0; + } + } + + /** Gibt zusätzliche Daten als int zurück + * @param name Bezeichnung der zusätzlichen Daten + * @return Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist + */ + public double getDouble(String name) { + try{ + if(daten.get(name.toLowerCase()).equals("\u221e")) return Double.POSITIVE_INFINITY; + if(daten.get(name.toLowerCase()).equals("-\u221e")) return Double.NEGATIVE_INFINITY; + return Double.parseDouble(daten.get(name.toLowerCase())); + } catch(Exception e) { + return 0.0; + } + } + + /** Gibt zusätzliche Daten als int zurück + * @param name Bezeichnung der zusätzlichen Daten + * @return Wert von "name" oder false, wenn name nicht gespeichert ist oder kein Boolean ist + */ + public boolean getBoolean(String name) { + try{ + return Boolean.parseBoolean(daten.get(name.toLowerCase())); + } catch(Exception e) { + return false; + } + } + + /** Vergleicht den Knoten/Kante mit einem anderen Knoten/Kante bezüglich seines Sortierkriteriums + * Das Sortierkriterium ist normalerweise der "Wert", kann aber mit setSortierkriterium gesetzt werden. + * @param e anderer Knoten + * @return kleiner 0 der andere Knoten hat einen größeren Wert, größer 0 der andere Knoten hat einen kleineren Wert, gleich 0 beide sind gleich + */ + public int compareTo(GraphElement e) { + double w1, w2; + String s1 = sortierKriterium.toLowerCase(); + String s2 = e.sortierKriterium.toLowerCase(); + if(!typen.get(s1).equals(e.typen.get(s2))) return 0; + + if(typen.get(s1).equals("String")){ + return getString(s1).compareTo(e.getString(s2)); + } + if(typen.get(s1).equals("Number")){ + return (int) (getDouble(s1) - e.getDouble(s2)); + } + if(typen.get(s1).equals("Boolean")){ + if(getBoolean(s1) == e.getBoolean(s2)) return 0; + if(getBoolean(s1)) return 1; else return -1; + } + + return 0; + } + + } diff --git a/graph/GraphOptions.java b/graph/GraphOptions.java index 1dd1ae7..f20477e 100644 --- a/graph/GraphOptions.java +++ b/graph/GraphOptions.java @@ -7,10 +7,15 @@ import java.util.Arrays; * GraphPlotter angezeigt wird. * * @author Thomas Schaller - * @version v6.7 (9.12.2020) + * @version v7.0 (28.02.2023) + * v7.0 Angezeigte Informationen bei Knoten/Kanten können ausgewählt werden + * */ public class GraphOptions { + // Graph + Graph g; + // Bild public String bildDatei = ""; public boolean bildAnzeigen = false; @@ -21,6 +26,12 @@ public class GraphOptions public boolean showVertexValue = true; public boolean showVertexText = false; public boolean showVertexInfo = false; + + // Welche Informationen sollen bei Knoten und Kanten angezeigt werden + public String[] kanteKurztext; + public String[] kanteLangtext; + public String[] knotenKurztext = {"Wert"}; + public String[] knotenLangtext = {"Infotext","Wert","Markiert","Besucht"}; // Speicheroption public boolean saveAsMatrix = false; @@ -36,7 +47,15 @@ public class GraphOptions public GraphElement parent = null; public int auswahl = 0; // 0 = alle, 1 = Nachbarn, 2 = Single - public GraphOptions() { + public GraphOptions(Graph g) { + this.g = g; + if(g.isGewichtet()) { + kanteKurztext = new String[]{"Gewicht"}; + kanteLangtext = new String[]{"Gewicht","Markiert","Gelöscht"}; + } else { + kanteKurztext = new String[]{}; + kanteLangtext = new String[]{"Markiert","Gelöscht"}; + } } public void ladeGraph(Table csvParser) { @@ -145,7 +164,7 @@ public class GraphOptions } public GraphOptions copy() { - GraphOptions kopie = new GraphOptions(); + GraphOptions kopie = new GraphOptions(g); kopie.bildDatei= bildDatei; kopie.bildAnzeigen = bildAnzeigen; kopie.vertexSize = vertexSize; @@ -161,6 +180,10 @@ public class GraphOptions kopie.fokusArt = fokusArt; kopie.auswahl = auswahl; kopie.parent = parent; + kopie.kanteKurztext = kanteKurztext.clone(); + kopie.knotenKurztext = knotenKurztext.clone(); + kopie.kanteLangtext = kanteLangtext.clone(); + kopie.knotenLangtext = knotenLangtext.clone(); return kopie; } diff --git a/graph/GraphPlotter.java b/graph/GraphPlotter.java index d096f37..eb933f9 100644 --- a/graph/GraphPlotter.java +++ b/graph/GraphPlotter.java @@ -1,6 +1,11 @@ package graph; import imp.*; +import javafx.beans.property.BooleanProperty; +import javafx.beans.property.ObjectProperty; +import javafx.beans.property.SimpleObjectProperty; +import javafx.beans.property.SimpleBooleanProperty; +import java.awt.Graphics2D; import javafx.geometry.Point2D; import javafx.geometry.Pos; @@ -12,13 +17,18 @@ import java.util.ArrayList; import java.util.List; import javafx.scene.control.Tooltip; import javafx.util.Duration; +import javafx.animation.AnimationTimer; +import java.awt.image.*; import org.apache.commons.io.FileUtils; /** * Der GraphPlotter ist das Herzstueck der Visualisierung und dient als Schnittstelle zur GUI. * * @author Thomas Schaller - * @version 09.12.2020 (v6.7) + * @version 07.02.2023 (v7.0) + * v6.9: Context-Menü schließt, wenn an andere Stelle geklickt wird + * v7.0: MouseOver - Infos für Knoten und Kanten, Infos können ausgewählt werden. + * */ public class GraphPlotter extends PictureViewer { // Anfang Attribute @@ -38,6 +48,9 @@ public class GraphPlotter extends PictureViewer { private GraphElement restrictTo = null; private Point2D offset = new Point2D(0,0); + private ObjectProperty mouseLocation = new SimpleObjectProperty(new Point2D(0, 0)); + private BooleanProperty mouseMoving = new SimpleBooleanProperty(); + // private JTextArea jTAMeldungen = new JTextArea(""); // private JScrollPane jTAMeldungenScrollPane = new JScrollPane(jTAMeldungen); @@ -51,36 +64,41 @@ public class GraphPlotter extends PictureViewer { * @param String hintergrundBild Gibt den Namen eines Hintergrundbildes an */ public GraphPlotter() { - options = new GraphOptions(); graph = new Graph(); + options = new GraphOptions(graph); this.setStyle("-fx-background:#FFFFE8"); // add(jTAMeldungenScrollPane, BorderLayout.SOUTH); setOnMouseClicked(mouseEvent -> mouseClicked(mouseEvent)); - // setOnMouseMoved(mouseEvent -> { mouseX = mouseEvent.getSceneX(); mouseY = mouseEvent.getSceneY(); t.hide();}); this.widthProperty().addListener((value, oldWidth, newWidth) -> updateImage()); this.heightProperty().addListener((value, oldWidth, newWidth) -> updateImage()); - // t = new Tooltip(); - // Tooltip.install(this, t); - // t.setPrefWidth(80); - // t.setWrapText(true); - // t.setHideOnEscape(true); - // t.setStyle("-fx-background: rgba(30,30,30); -fx-text-fill: black; -fx-background-color: rgba(230,230,90,0.8);"+ - // "-fx-background-radius: 6px; -fx-background-insets: 0; -fx-padding: 0.667em 0.75em 0.667em 0.75em; "+ - // " -fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.5) , 10, 0.0 , 0 , 3 ); -fx-font-size: 0.85em;"); + setOnMouseMoved(e -> mouseLocation.set(new Point2D(e.getSceneX(), e.getSceneY()))); + mouseMoving.addListener((obs, wasMoving, isNowMoving) -> { + updateImage(); + }); - // t.setShowDelay(Duration.seconds(1)); - // t.setOnShowing(ev -> {// called just prior to being shown - // Point2D local = this.getContent().sceneToLocal(mouseX, mouseY); - // Knoten k = getKnotenAt((int) local.getX(), (int) local.getY()); - // if(k == null) { - // t.hide(); - // } else { - // t.setText("Knoten Nr. "+graph.getNummer(k)+"\nWert: "+k.getDoubleWert()); - // } - // }); + AnimationTimer timer = new AnimationTimer() { + private double lastMouseX ; + private double lastMouseY ; + long lastMouseMovement ; + long MIN_STATIONARY_TIME = 2000; + @Override + public void handle(long timestamp) { + double x = mouseLocation.get().getX(); + double y = mouseLocation.get().getY(); + if (Math.abs(lastMouseX-x) > 5 || Math.abs(lastMouseY-y)>5) { + lastMouseMovement = timestamp ; + lastMouseX = x; + lastMouseY = y; + } + + mouseMoving.set(timestamp - lastMouseMovement < MIN_STATIONARY_TIME); + + } + }; + timer.start(); } @@ -101,10 +119,10 @@ public class GraphPlotter extends PictureViewer { public void setRestrictTo(GraphElement k) { if(restrictTo != k) { - restrictTo = k; - selected.clear(); - if (k!= null) selected.add(k); - updateImage(); + restrictTo = k; + selected.clear(); + if (k!= null) selected.add(k); + updateImage(); } } @@ -175,7 +193,9 @@ public class GraphPlotter extends PictureViewer { Point2D local = this.getContent().sceneToLocal(mouseEvent.getSceneX(), mouseEvent.getSceneY()); Knoten k = getKnotenAt((int) local.getX(), (int) local.getY()); if(dragMode == 3 && k==null && getKanteAt((int) local.getX(), (int) local.getY())==null) { // neuer Knoten - graph.neuerKnoten(new Knoten((int)local.getX(), (int) local.getY())) ; + if(getContextMenu() == null) { + graph.neuerKnoten(new Knoten((int)local.getX(), (int) local.getY())) ; + } else { setContextMenu(null); } } else { if(dragMode == 2 && k != null && k != dragKnoten) { graph.neueKante(dragKnoten, k, 0.0); @@ -323,6 +343,9 @@ public class GraphPlotter extends PictureViewer { } public Picture updateImage() { + Picture p = new Picture(2000,2000,"FFFFE8"); + Graphics2D g = (Graphics2D) p.getImage().getGraphics(); + Knoten restrictToKnoten = null; Kante restrictToKante = null; if(restrictTo != null && restrictTo instanceof Knoten) restrictToKnoten = (Knoten) restrictTo; @@ -340,8 +363,6 @@ public class GraphPlotter extends PictureViewer { miny = Math.min(miny,k.getY()); } - Picture p = new Picture(2000,2000,"FFFFE8"); - if(restrictToKnoten != null) { knoten = graph.getNachbarknoten(restrictToKnoten); kanten = graph.getAusgehendeKanten(restrictToKnoten); @@ -464,15 +485,28 @@ public class GraphPlotter extends PictureViewer { } } - if(options.showEdgeWeights && graph.isGewichtet()) { + if(options.showEdgeWeights) { + double my = (startY+startY+endY)/3; double mx = (startX+startX+endX)/3; + p.fill(255); p.stroke(0); p.strokeWeight(1); - p.rect((int) mx-15, (int) my-7, 30, 16); - p.fill(0); - p.text(format(k.getGewicht()), (int) mx, (int) my); + + int lh = g.getFontMetrics().getAscent(); + List t = k.getKurztext(options.kanteKurztext); + if(t.size() == 1) { + p.rect((int) mx-15, (int) my-(lh+4)/2, 30, lh+4); + p.fill(0); + p.text(t.get(0), (int) mx, (int) my); + } + if(t.size() > 1) { + p.rect((int) mx-15, (int) my-(lh+2), 30, lh*2+4); + p.fill(0); + p.text(t.get(0), (int) mx, (int) my-lh/2); + p.text(t.get(1), (int) mx, (int) my+lh/2); + } } } } @@ -499,7 +533,14 @@ public class GraphPlotter extends PictureViewer { p.text(""+graph.getNummer(k), k.getX(), k.getY()); } else { if (options.showVertexValue) { - p.text(format(k.getDoubleWert()), k.getX(), k.getY()); + List t = k.getKurztext(options.knotenKurztext); + if(t.size() == 1) { + p.text(t.get(0), k.getX(), k.getY()); + } else { + int lh = g.getFontMetrics().getAscent(); + p.text(t.get(0), k.getX(), k.getY()-lh/2); + p.text(t.get(1), k.getX(), k.getY()+lh/2); + } } } @@ -511,6 +552,43 @@ public class GraphPlotter extends PictureViewer { } } + // Tooltip anzeigen, aber nicht wenn im Editiermodus + if(!mouseMoving.get() && !editable) { + Point2D local = this.getContent().sceneToLocal(mouseLocation.get().getX(), mouseLocation.get().getY()); + + int x = (int) local.getX(); + int y = (int) local.getY(); + + // sowohl bei Kante wie auch Knoten + GraphElement k = getKnotenAt(x,y); + if(k == null) { k = getKanteAt(x,y);} + if(k != null) { + p.fill(200); + p.stroke(0); + p.strokeWeight(2); + + List t; + if(k instanceof Knoten) t = k.getLangtext(options.knotenLangtext); + else t = k.getLangtext(options.kanteLangtext); + + // Größe des Kastens berechnen + int w = 0; + int lh = g.getFontMetrics().getAscent(); + int h = t.size() * lh; + for(int i = 0; i w) w = w2; + } + + // Rechteck mit Text ausgeben + p.rect(x, y, w+16, h+10); + p.fill("303030"); + for(int i = 0; i items = Arrays.asList(status.split("\\s*,\\s*")); - this.markiert = items.get(0).equals("1"); - this.geloescht = items.get(1).equals("1"); - this.farbe = Integer.parseInt(items.get(2)); - } - - /** - * Liefert den Status einer Kante als String. - * Form: markiert,geloescht,farbe - * Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und - * die farbe eine Zahl - * @return Statusstring - */ - public String getStatus() { - return ""+(markiert ? "1," : "0,")+ (geloescht ? "1," : "0,")+ farbe; + set("Markiert", false); + set("Gelöscht", false); + set("Farbe", -1); } + /** + * Liefert einen kurzen Text, der den Wert des Knotens angibt und innerhalb der Kreises + * des Knotens angezeigt werden kann. + * @return Array von Anzeigezeilen (dürfen max. 2 sein) + */ + public List getKurztext(String[] namen) { + int l = Math.min(namen.length,2); + List t = new ArrayList(); + for(int i = 0; i getLangtext(String[] namen) { + int l = namen.length; + List t = new ArrayList(); + + String symbol = "<->"; + if(g.isGerichtet()) symbol = "->"; + if(!start.getInfotext().equals("") && !ziel.getInfotext().equals("")) { + t.add(start.getInfotext()+" "+symbol+" "+ziel.getInfotext()); + } else { + t.add("Knoten Nr."+g.getNummer(start)+" "+symbol+" Knoten Nr."+g.getNummer(ziel)); + } + + for(int i = 0; i=0 && farbe < 20) - this.farbe = farbe; + set("Farbe",farbe); } /** @@ -198,19 +218,10 @@ public class Kante extends GraphElement */ public void setStandardFarbe() { - farbe = -1; + setFarbe(-1); } - /** Vergleicht die Kante mit einer anderen Kante bezüglich ihres Gewichts - * @param e andere Kante - * @return kleiner 0 die andere Kante hat ein größeres Gewicht, größer 0 die andere Kante hat ein kleineres Gewicht, gleich 0 beides sind gleich - */ - public int compareTo(GraphElement e) { - double w1, w2; - if(e instanceof Knoten) w1 = ((Knoten) e).getDoubleWert(); else w1 = ((Kante) e).getGewicht(); - w2 = getGewicht(); - return (int) (w2-w1); - } + /** * Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation einer Kante zurueck @@ -219,7 +230,7 @@ public class Kante extends GraphElement */ @Override public String toString() { - return " --("+gewicht+")--> "; + return " --("+getGewicht()+")--> "; } } diff --git a/graph/Knoten.java b/graph/Knoten.java index a20b1b9..3df00cb 100644 --- a/graph/Knoten.java +++ b/graph/Knoten.java @@ -1,6 +1,7 @@ package graph; import java.util.List; import java.util.Arrays; +import java.util.ArrayList; /** * Diese Klasse Knoten definiert einen Knoten. @@ -8,17 +9,16 @@ import java.util.Arrays; * Im Infotext kann eine zusätzliche Information für die Anzeige gespeichert werden. * * @author Dirk Zechnall, Thomas Schaller - * @version 22.07.2020 (v6.4) + * @version 28.02.2023 (v7.0) + * v7.0: Die Knoteninformationen werden in einer Hashmap gespeichert. Daher können beliebige weitere Informationen abgelegt werden. */ public class Knoten extends GraphElement { - private String infotext; - private double wert; // wird z.B. fuer den Colorierungs-Algorithmus verwendet - speichert da die Farben (codiert als Zahlen) - private boolean istMarkiert = false; - private boolean istBesucht = false; + + private int x; private int y; - private int farbe = -1; + /** * Der Konstruktor erstellt einen neuen Knoten mit einem neuen Namen * @@ -26,10 +26,7 @@ public class Knoten extends GraphElement * @param y y-Position des Knotens */ public Knoten(int x, int y) { - this.x = x; - this.y = y; - wert = 0; - infotext = ""; + this(x,y,0); } /** @@ -40,62 +37,74 @@ public class Knoten extends GraphElement * @param neuerWert Der neue Wert des Knotens */ public Knoten(int x, int y, double neuerWert) { + super(); this.x = x; this.y = y; - wert = neuerWert; - infotext = ""; - } - - /** - * Setzt den Status eines Knotens aus einem Status-String - * Format: wert,markiert,besucht,farbe - * wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und - * farbe eine zahl ist. - * - * @param status Der Statusstring - */ - public void setStatus(String status) { - List items = Arrays.asList(status.split("\\s*,\\s*")); - this.wert = Double.parseDouble(items.get(0)); // wird z.B. fuer den Colorierungs-Algorithmus verwendet - speichert da die Farben (codiert als Zahlen) - this.istMarkiert = items.get(1).equals("1"); - this.istBesucht = items.get(2).equals("1"); - this.farbe = Integer.parseInt(items.get(3)); - } - - /** - * Liefert den Status eines Knotens als Status-String - * Format: wert,markiert,besucht,farbe - * wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und - * farbe eine zahl ist. - * - * @return Der Statusstring - */ - public String getStatus() { - return ""+wert+","+(istMarkiert ? "1," : "0,")+ (istBesucht ? "1," : "0,")+ farbe; + set("Wert",neuerWert); + set("Markiert", false); + set("Geloescht", false); + set("Farbe", -1); + setSortierkriterium("Wert"); } /** * Die Methode init initialisiert den Zustand eines Knotens */ protected void init() { - wert = 0.0; - farbe = -1; - istMarkiert = false; - istBesucht = false; + set("Wert", 0.0); + set("Farbe", -1); + set("Markiert", false); + set("Besucht", false); } + /** + * Liefert einen kurzen Text, der den Wert des Knotens angibt und innerhalb der Kreises + * des Knotens angezeigt werden kann. + * @return Array von Anzeigezeilen (dürfen max. 2 sein) + */ + public List getKurztext(String[] namen) { + int l = Math.min(namen.length,2); + List t = new ArrayList(); + for(int i = 0; i3) + t.add(text.substring(0,3)); + else + t.add(text); + } + return t; + } + + /** + * Liefert eine ausführliche Beschreibung der Werte des Knoten. Wird in dem Tooltext Fenster + * angezeigt, wenn man mit der Maus über den Knoten geht. + * @return Array von Anzeigezeilen + */ + public List getLangtext(String[] namen) { + int l = namen.length; + List t = new ArrayList(); + t.add("Knoten Nr. "+g.getNummer(this)); + for(int i = 0; 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�~kK+PXa9{IXD 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�Q#BL@$Thumwq9E4>N&`PSq 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%0D$1NQL;JzT>X(p2T4|Q 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ν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 aTWCTvyu$_iuJRp6)Pf@z z5eR(eAdkwWxw*#WOE;{}8`0cDj~tJx+&OjMYXbZFx%D?*JM)3}y*Fyr%K_3RF;-!J z1#Vn`EP-;JeDr6OiIuZGHI1{xfiao&9a(HT1S5LT>VbPa;@&-v-OKdWlqx`l1=^8- zdfC3{OTD%8<+*f;QP$H4=gQ=c*hw#&o2wT1HymY@F(Je_pNvMMX_|0PAnqYbiq7MM zxL+i-N3c&;}ewgaS>$B4l-rYm5T` zX8h9m>nBdEef#+rO6Bn6@sj}H`z1@1v`0$6k8*%(uV!y?!r! z@bv2bP#N3Wj;qxwp~jeuJ+S6As`=|zT#}{Vz2H6jI2P1deW0RHq8>1tJ2J;ak+*qu z{pM3v*z3vmu}bZ^$Gno)-e_0nOExiJpk8CWjHcQ;O6LdzmhZ&>h}n5j$f1S)IotPa zNh$%ra|z2f^U^VCONMH#4b}8cr(T*-I|YZ)flLIvyJ(DW8?-FtAiCXd7)IC_ zN8ktHfA^4Z3j8COh@|tzo84zV`EwHG%BmlM)4RHHk6TH58w26<%2Fk$(^8%LbzZ7- zUL}5==Pt|C-PCrBU~l|yXLMSOa^$4(OQqZLRs`^+dS&y5xZ1B!5ycxtj5bnDw3ZYx0H{I`yq@eQT~UM+g)Y zkb$EC^WJ*HsT@`25tP(=8>}TCJe^JQQdsI`@hDGoYr!BOj)Ncwb>&pbe9kWy0~ir@ zV`HneF!%CHXDB9xBX$@HN_TR6IK{!9m01+|AN=5xPP><1dF`9uc&QxLS_`#VK(x~y zw^}=^C~GA-vM3%{nbk$WlP6gi90-8`5M~hie(^o+tpNgD`s*{LtDBckMAzFrf6foR zsMj9)VVG-!2^lk&NoCNj;u#-J_-yxCh25c~`>Zm$nP$VZb-YQdI#nZ?%h|59k-5A>ASHK1i4PbP8Au+9 zX(F?M3|!?FFSGnmUJ1m3=m-Ec7A>;sB0IF%dT%Qcf@hiR zblTUh_HJ%ozj>|GZnv{cYNLn4L9f5n>vVgaZkA0Ot@(w81tB=7L-msbHA99J03cPO zG|2w!J9>Q+07f5s>`JG*ytG`c)&M|C8Aavca3BN+08VxQKpWlPQc~VJqSn*!?>-3t zw$nFPI_T{;X>v}rTJ`ny?)rN7wO6msx9Y1$qo~H8c=A+OE1!Aw;>P9>A$C9CeCE|F z#;TwB*`JD{@-4=ko6Keq)c^owmTD8L6aeB;<=l2-qA>MPtJT`RwuLhf09=fa=DVvO z!O+`ix=Z|>E8|l<$6OEr0HoPCcMfsSWO)&@1b{Sm0Fdp$^%P=hRiSC`hP6OuvT#x1 z*bm80*lhMDirj>I0DwvqY7_t(SP4%Dk++RRp_DeT@+poT1%RLY_)mWIt6%ZBKNxf> zLinN#0KiKCfF?us$SMHX-l$otU3lwKg%d$J0AyN@R60sznmgsJ)4ABcAPCETnr0p& zX_f&%B@&#w8Kpb$LOu7;N0{~jZ_Gsk& zlV1QzK%4wG{urIvqAWT%Ys25+=!nt5AYO_ndI3Q6AWmd1Z-4Hryj{`7+|BkpOl|n?Cc?-}Mo|R- zGWqTv2+!^ogw3S}xq9`A&q6%m-XysFqhx0Uc#Qd+d5rxC^Jd70G~c>3>RjF$5B6nR zcP?*@*A<#@&-mQq+~c0{JD0bF@GDDxsz&$pk-;9rm|{#By|3B;?dwLpIT?&Qm$wQC z^l2%;VdPBvy zJdOaMc&E{tZ?xvaQYFh|#YfE+IsV}4BpLPkTe;i;iTi;H?BQ(NPXGE<0O+sPCabl_ zpFBz#DX=!nWUI9h$72A{%19#%Al&^U(LRW+G;ymA0Ld4=OKI?ShXFz5G?VdQI!)wz zpL%p*vErO6_Larz<4>HL492g%axorAg35;lK}SP79Hd|V>R&D{w7Tu#>e6C?{mR*j zM;KCMX&C@uR~y)fYd3QiGW-4|{a{r^Q3V)EstbA8W1or=EJx7yjcH^Bm%Mlu4Oq8iW7 z0YE9_2-w7#K@x9eiE`GeR792VfBG*`IRI@&|L)K2OP9HK`y%o-pq-3U@#32RfXV@` zi(^NR$xPn3@>V6N4u?a`xpGjFsLWid?Qm*uL%8Bc$M#K14tB74idkWU2LP5vy0naS zEI7Yop$Q~MR-!v`@$E+A0{`BVm=jPSpYK=V;m~_`tP}U)pEQ{)ABhA?dTmc`vk2W5 zTf&5ud|M7l;1kZRNAZtfZw7v&n`zofTgRKt6P0j*xlqpb=7~yWp#%WqL9%sev~_7T z9wc*1Ra(`zk-Wn;14@Af0OrAce%`u#X>s1>)=Ndp)wrf{9@`vcAbFKt-X7ka{B_&I zx#M%GKD1;igS!Q~w}-kQUd23DfKVKdqDZtB{3sIjCTq4xvqiE@VrrsD@CpV1kE>Is z7nc@~v^(AQ=194FfFD8(sS@*q{_;0bIY5lCpZ?H;$BsFt_5$0C0@B^$LP{tARQ%hY zE3K#H&wLmF^!lcr>bLi7BX;4+l|gs7wzdY!RS)EfJSC2gWz|pm}tLy9M&tFk) z2jkUV%hq-}9n0^1?@g7-pZvtnMp0QBcgO4y-V!R~+C<^CD*fOxs(1tda>zb6Pnu*hGUJ48LBcHn=xIW(Y9PHs%?tSJNlq^YZLvKqD`E=JNgiQ={#4IBVi zDP<>KB2lYXXUM^3l0#JDlAyz$R| zvH0`GzyHKK%&(nPk-RVkt*w7;nKI_)@buNEBQM^zeI#FFimZ)eiS3z z0Y49u=$K!~n78pcnaiA{E|lQ{Yo4eS0GX5Y{_R5vFb3FKt@8UGXX=*p1kzPJvRZBl z916Hc_{XQE?aSNM`EpTKf7q6)yHQ9dkyZu(2xrBM8My&~N)^w*DT+k3Cb++kgjK3~ zZEe0<6IU;8wl_xzF||i&DD=Yu`2c_hRK0q6Fz;Xe@B{3ZKC!r3F>YKOWj6E9D4_Ap7lId{dz*lnEiIvP008-)ed92eb|CnzuXmksAMGGC7zA}@XKh1J!gala=-Af+4)tsL1sAKS@EFe5opIAr$0>a8cy z11toeWEtOG#WP9@XuK!wyD(7SYqRS;2N}9P)jq{X0_t%vQe3`CV@J!(m6SWHbuN-(BAr1f#+!ZrWIt8MU-)N-Q(^6CeLLA?)RsUXA0Clif0L1B|0H9vKytJ}-=B2ay&NSO; zP@W%DzU6WdzA#GfMY{q59o&1yd;G~`zxM0D`sgDM_Isn>{LOzexIQ`}!V25RgEN;_ z|LNbQr&a)9`d2THe&>tatIiIGfEBM1uxr;gos)(5X@BgA>1YH1rJ%wEzjF0TC8+i$ zF&7*FBBTMpOz{n=V|%MwE|+d3jU0Kmoy#t(b_E^hf}?cEQJ!a$dT_8Riv(!+K?~lT zzOPx#c&_-Xq?8CeJmCOl+MWfnUM0LH*1 zb<@=RC_$zOV%)WScFrc*JYANVQtiMi+cb2+r>qvIQ32`F=s* zPMu!#1wVIoqrW{uh)L--ujjdy&MBFJV+jV~u5O)Ozt$)2f#zcH$dSF2s~YgV6tLB5 z#p8Z~3Z;-%s`x;0mEl-?^eF&PXRc6oUw!HcDqlRmDO1yGEyVFi8%-G*4C0#!+MIf7 z|0G+;p=)dNje2twC$F8mC{rh;lOucWYTWI|XV0InH*25x_$MY=7DbgTlX0AN2N}qj zb)kkZ0suR?88W+~)2)ul<<7Yji-{;IcRKAt0;TBQvgb&eb~22C0KoN}CA$@4Wsw2E zu;YrT+gPEoLKO@PjXB}7+wcH!FU!(mIu?R+%mARW;IFI&l}PxJ*Q^DVNbChaN9A}_ z=_VrYDFE;qEDCl`Q#%3xCG7w}2*02>*eSf{7RyZj^rt_4v%UGsD=$lHrw=>|09NNt zTm0is0Dv1$SL@C8`o5fo0{n^>TiL#GuEB}`AB&n~_twu~X}743so_)&r+Qe{!$X%x z&%W=epZ@8Oc#Qns=lN|1OUb{ zyun03Q#M>U=qa>`vG#5?ZySVA6->y-!s80coqZ8G8sh`m76%;35;=$cH?UM5>lK~{*OI^7;(zz zGuQ4JfJBIO27@eoH5Z)0TM*d|j|mdVb^7C=}8+mbFno3R4<0AQ`^tuzkc2i%Ef5CA~6>bDmBsEUE* zGtLxMF$3&z6jgC+!AFrRhUj=y=~+&PJJ)UQ$j%=SAzf&#*r`-oF1WNQLkEft`Okmq z=gyrwck$wzVOS-lGAWhujmut%6+B+N_-1SI*r7_kma$9=V9T9M(~LR3e0rr24EIvN z;CQF);3x!uVr`)uR7({AxZdtW)#_+E^dqlWD3~b*00F+q z@;Dwz>9S~NJyB#N?VObIM$$-$iZ_EwMfliU{ZBi$^4g#H!{_~qC=Q3v-IPXge;LL1 z6&j?KfK~+Mp)fewS>H4p^Km>9RR~(1XgOYS$Wb$4ep$aG$KB_DMp)VQ*1!15@WZVw z)_s-s&av$?Fx`UIg9s~=Q)T2~;P*r21;ahwyF9EcR;bYLb|WO>m;;>B(P8rF0fT8w zDWa3fL@;3tP=<^FN{L5Huf6o*si5P9by8U^5fWhTup-u@Kz$~*uf^qsvSqhhqfww0 z%8NAd!qMb@^uW1BtyHFje4hiOa0CU0P=Fcuz5Z6ETrmccL}HB7sp@{?h4STX$W{3B zAJ8G(Sz0g}>RC@jqfI5M+_-TQz=mN2$WV$VKoahlMpXMicGkHV^P&*K#EE$SBX@T$ zb{@ZZxx2hPFBK%oboU!DcEnnXIRk)+B4uU(K#uIzmhw1`d#-3Ah%s)?H+|o4G#ZSt zuYcnkqtWPr<0r3~#o(lgXsp-SR!ZTnzxMhbs1kuK)n=x66-yU@}PnKx-pY z7?1O!NpF^ALhxR%*PL&HMAV_f99iEQ>bHih=xRF)?=g!ACKx$NP02@_lbu0UW-e9c zNL8i&kO7-ycspZd&j`wV5_%=Jy**r9n8Re(g;{yCt2%3#M<|N*L|L6oOCpFpO%u-b zlJ9EXiF#4W0ogz&3ab%w|bON~NM|@V2cKh6v$rfBRe2S|mm>9dDyNx2vbf zRH^m0jVJUYk51Du4-THG5hfm?7&(f({&2#D*R0Nc>pL%e@VO^KJs7*xW6@F+X~uK~dEIywHcHfhu8b*2Z7tz^a+ZCFTlg{9k{ zg?G^QQ)9<~dWgxy$=wtMN-6T(_KkRXxolX5aw-$x0wHFw^@w83BOZtEyYwFKkLyg{ z|LIRR=4=1*F9uWpL|%K)`b|2%&bqH-=NoxQA@;kOpYykHW0Z_;reUr8u7V%Z+}9Of zS8|db3Vw&g3yYvWLs+^juT48>u#G0U1ppXc-vR(!J-%};2onqykN8X=R z&)bl%06*@DsK)Q=b#kwWl?cXlS=OCL78~;+Wf<-kQj?o|ZoLBmkJ3U3{;afhj?0 zHb#OclUuroHd+Xt^ta1`&k?>D$RE? zK@^o278Vv37M7Qm*Vfk7)>f}?w!7_&vB<2y0RYfg1OR`#Cj=LQQ$h==xnQ3{1g+Kr z^T_)8IshaSy|I3G={cx6)F_H!VvT0PVjFhWPd|Vv5Qav8*0Kh0+kg!;08rA3(s z0C-GTm1l=%QMcQp`BrVOIQ;BK9{IIj|J9Y1m9Ks2FMs1V{>{e5;MP!4v3tB3efCqc zx(IwVCa8>nO|rCFt=irQ0ML6*#_=c~4*9O6(Q35-px@tWgwb#iW6miu#g&wHvX#Vz zSZZYMmvu!~_oi-2iN=`&<#FzWNAk1(cIOwzKhu{%-1?NPoTAAMrY>>856fD5XZc?d z8dTjpZc91bcXQ`!EdXd=j|K1|Wb1gYGQ^<_&Hw-)07*naRO%#>L&%4R_I7yN_@}HI zOoyNP<bs&CI_EqLH>TI!huM7GF4t3-c|79Qg|Soyj8+= z5cxPLbiDiEO|nb~Ui@f44b;xC3b`@S(hRPu5c#OgbCKGqOx0b4vikwQcp%T6-KbWg zBK!Xbybj9ufTLn&4@;FSo1Q*>dN>?pnS6Snirz-ifAxu6O%7%19F;;k1Dj+rZPc4Z zE(`$7RVhO%l6Wfih3Lq!)_qE#cA#}XwVaokE0FK~i~8Yt)etlSQwW{_@K9YBa%jWD z6DD8Z&ew-IMP{w)JvE0MD4ON~K+&_7LnOD-~}_mrYf22;=4Iwa`1U#qhJXt`+cPPD=4U?~O(>SYg53~V*pk6t8Y9-6$tT=%os8oV(w}&~GX`ttnG&(fo3G^VU2Fp7 z+Y%ULskTfRn%zJ6?JQBpo|KwWT%D^alow*A27`%r;f2>8JK^VZkK!Vpj|hO>vgyzb zJmYU)>(3pj=jZ@)SA$6j(PCb(;HF?>m0C>px^yB$uB~sKerUO99{Y}5ilXamu9U}F zmSydBhn48VCr(WN{eJ@Mf}eN>j?EVyn1@23xYf57V~h#TvUHkG!!V=_QHlt%L=y{y z?6%XxnCtU5Z9Fl#5>KC=NubJEox{vE1|gPB++;Ed=1SU1z{dL8v#fAgt48%fI_M3D zl=wLiCb-VbVNZ%f@;l%D?laH4ztx)0b)G93l!93+LF;U(R1(}rR8wAO!>vF#AMDNg z$zHD~^E8)vmSvcb;si0J;E?CBPJ7!LCuJ5z!OV;9_R)gyLfQJno~%2*i#iPFBS`@u z&rw-OYJ+X*M#?gaIDr#Yvr=)(q4lT*0Luv01^^r<&1&=Vl^cXIQ9?kB)RsC=T1627 zVwBTEnJCMP62n~b?H6LWJ}p;Sg_~kpFPuW>h$)&i*0HN|l1#?6Y8?<1Z|2$sM`@Wbb*9Rt}vgwKd3jzAxJCL9JXC zf12;TOOA1cdbv!MLfm838aq(@%%#bdj-t|m0LMT$zvEx{^x5}6-e@en z{>IrCzWM64^{vy79mmKOEt4uAekyzYs!OGQ>$<*jvojYSxjs;rZvp^(^g~h2@Amp& zQ6&;K*UAB7UT?b>R75>$OyYRz1-V5PV#81|hGo3dTMA1km3%2RAvO$xv5{(GJ>_A_ z$(27uvhR3Zp8Pw*i7mVcz!)MbRBscV%J7twQcHuhML;m68uUBf=N(b6;!~-N^Gs0Y zp~o!2LCx|IIfZc5mVDN|(a)x7Z7xbPJ+o%wRUo0#nfHAg#O%jE?RisPuKJTW!w!X! zKODwOi_28^taYq*oFEf0KG~E0UUbp@;URwnDJDqyhys9h&N43Y*RQ&G5`6sW z!V4{z)9Kh`CdpIh2LVz(7y{Ogl5w?OlDnaC<7wm(53pvrs8d8(JRByINq=iVnPWs) zXQ3(}+jnQb^u;gdQhnqjAJN)`Vc6+xRjUy=G<&#;zz_HQrR9c@Q+D|^05|vCCjpR0 z1tvsmrL{^YlhI_HW!W^HcDq|XWA(<|*7kOzF>kafqJVdrdJ}{qzVEJ$b>2l-}H7OTZ6biO_O5Rxf&;8PTA(J@P8VaX9nB zxoEk*FJx#<Tr>RO2cJxpy>Ry8^WS{gX}5ZG z3BVe#r4K(TU%5n19ode8<(Dt#XRm^F06;(Vl;&|gn!9{y-C`&F&}c&`8&Af0n$~KK zco_RpeWWZ7p^9yp`brYsASyAGqjH($iB=k>lW8)M4st}i5+|trO#qN5|K4z@YPr05b#6P3vh{H?&m(X9!Z7E0p+yp6GAvR@Hij^2JplpK}q0I z;jwgRQc#PHxyd9+r}^G?B79B}0toPdcXn?p-TTr%0YC`8-H8F<?c80^TN;O!KxJEy$IP5^*Y z2F5$Q!Q+9(vRIwS3;-Z@Bgr!W81*y0r>T&m(pB@Eq%xO|%5Z@d)t}h&OsFWKlnL6b z7J*3s$g*j#zxCXQJ}~=+`Gsn`-7bZW?wP`xZ8B;1IxNIEg3}*)wOnHJ@&3lDgZE6==xMk#{nRfnR0d{ z&0di((=t}^wMl2;XcYjiZFCW^3MXYmVwoXeb`NDTDU!QkIaH!oNqNjX#65ygr4%(A z^HIGSRjbX$e7)XmHs+&hwbqJGJ-AS7Ridb}&{&JA)tLm^tkss~wn@g{@$v6H{~E|a zg%hVOZd5=U`}$k*UV6=TmQumwNTxC)6i){SEIoq~FPD5&atAR#myOUM)}8h+9@?Ue zZ|`2n!n3RW@gINYfA}B&{>sYAx1N9bfBonG_xW>e2P)5#=%4&jue%9F&gX2R-`wP0 z2{?Y>)LP+aQ)I)|s&~v;Bd?B~h-pmgH z0hf1(^NJrqvM;6=0zbNcc)LrOFrXFJ!Tt64=7sLH_4c3>%S@I<6bhenM3I^&^AuC? zEcT$qecwX{<(zx9ns6~1Lt3vl<9M{!p2kcV0JuY3X?$kxDbMcVf7%n$Pm;`mnOiIm zO)s@+r5S}m^o6fq<+8WPd(e6q8{`G00GIOA7>nOMXVSl&;-?y5K$eE)u(k|;Gn>1s z`+;KyG0-D}IC6EPkp=(`EWUPQ-02*7__!A36isud3^=gVI&%Hu=E{Q$iskO@=#~yF zSSS&1C-^s%VVT`ed!2iP{haN0Eg0kn{&3Xqw6_s=iz~}uz%PaAZ~X_z6>imoU-*DF z_lwq)BjJ19_NcW`1+Wy8G=ctLtJQ1)az&TEy}&@cAbb8CIg^>&$R>qlbazK zPE~4=_Jh)3D=yb6dnJLr!=q>+W{d&P05*;y92=_5%t7MMKL2?j=mYP6Zs$SNrW)0| z-7UfWS^jFZoKTWdk|OMRhQRto@C1JJY3Aiw3Q*FLPfQM48m*0#viMg@DFpBJ`i(|| zB0~?Z8n$;{|B1?KrKl;$QrY;#rqmimd}4#L&BiHaBW;a#jv{(sJK0RhW-T<%ySdqG z)S|u~CpwWqay4&7U{&L(wj)EfG#TdpHWO`)C&0>TYP2E5ikhiZ zXxS$KHrIHoy%|MOl1z;@#qI;HzWJg{Cr7k|DK6vm4jjN0t_FPy#l>MLhnJ9F{z#~*5MY{yHrg}**) zH+#3}>Deolk38)l@rCCAciK0attBa?5Mq0Kn^M}Cn;Q>fTvFq1UUXVw z2rK~R&Z`3PHO7FXM+h;Ui$p|I|KV(Z9i-7FYOb2?*IYiOwG&cm3vll~MEi%qtRtYH z+)32i7-V_Y5TlT*kSjs5t>JVy$*G4zRz=jO7H2vI;w;Lv(c^97+sJy-qgVklnJLxi zG?CmBGyZ2Xa3i9fJMa&?pQO-RY(_{w$;K+v^`lWg@9&?JQ%f(H&ZqGTMK?WpV6B8#O68Ky~T*qcGo_*xWH+7 z04~p|0s{aZ)!hsI>U!w2{~&2EJDxStjZ()s?{wO6JPynLgQt(OGDUe> zArvDGGbAPNTK(vRA9l`jvp819m3~@ zcAIILfs9zhnTT&Mz6=JC6G6*eK^8IL`$Tv!~107bsB z0RUL2`B2_bo@N2dJTD@Z5qNzJ6_OZM7I1Md2xSIYnly&{%`dCODV1R+J3KE_Vg_BRR4|gqy`hv2ecvUq%8a|O8ri-F`frBSAK zB6?fO=WGiZD?)&yp{9&}-@!lSY}|9;ywO;W#_`RYo6IANi%WrD5`t1B0YG@w@$dX8 zSm!-`l0NZ(*|lO|X>QrQFG?;+Cev!QG;5gdi_+Gxe|^0ZmCIhh_U6$zXYp98%Qu}= z{*OPtw+fITWGxd!2#f(BptxGC^!sBO=jBFppMhcI5s(M~{^URYDWUY)_ddICCGBh! zRpK~i)GH`pDcH3I!JaqGVf`WyiXVTrh)o&|dV=gh4Kxq}BPFIZtd{Px0h2WPwl;wl z+(agVa)XK9Z(${^L>L;RX|O8R`-pmkVE~A9SS^)rcDpR%1v$`r`f=Zw1OVVuT=yiS znE9If$m3oh7#EZaTCK5iolcR|h6H=e-;E*3bh^3ODf_~4uP6$XQt}5L<1(>>F2dx! zPd@dGt*zBT@=|k9!txDtB_n-cW=bkyf{ve%XN@WNT7d$MLq?BB6lpDv$ z_oqaXfAmj3>uF!c#t>Cm46=h7yEE(sb@A+n-uK|qWpHF`IQ`m%IFQcJL6%gH0;ALGl9Z94e$vUR z)w1F{eclN$G-XK9J3HteJda~uLKGpk(cW5Io|~mmzP(_lWZ8uDdfPW|Zsxh9l+HDp zjYdOeIVPA3ODSS3O8($0=6Vk?68+=P0kmdfn5sdK8z>FX2Hm)^Wru1t)l0UPF#YRLp%O#myawh`>(9q&LC_=W;MD?HUz_b zYomW;ZOMV`T<@i${?UhzA?nrqP&$V&!PXK&6p|Du0OZn~JGT)}Qmav;<}WU^CKFk$ zh0HVe(Q3+;!=TxWhQsN`Mwc;h@xqNtIePM$lP6CtUwrf0OW%Fz43$q@8bX%4Bs15$ zF3IHcZ-snaJrm&k~F?{|OS@B4kf17EuHU=W9IyXD%k-Pg#OQb4jw-@xWe z_gwa(p_REO@7UX%o;`l~<~VO>h1XhiI`#QRx5FIASzKK717!SKMLJ%PoU-0E(cnBt z{6@XasirrbMqj_JBP%7cqMdU+z5+lds@rZ#MukU*4p7Y2a zzs|q;mD?OP|62V)skoWaewR1@qk^BRA&j6Za(lU}+eR4iUyC!BG>s&F3TZLIBM;Av zY$^#wBANyfaX+-0WkN-qL=w?r_yD8^6@VP6aW0H;Ry1Z11<)t}!J$bI=e{xEZMETa zkIx^^<&DwN5df6ZnVFfs(wJ$lH9{k5BH*T86$`s|G}5;&Sdgg>ogJrzXglt4ZX`!bpyK31X{BV*^d$^w4#%=vYxEfET>-N zx}NDe&KY1&1OxzsXp5NQ^feN35ExVkU{Jl;bpTi-la^|^Jl0`2qRGK5QeeK%j4%_g z3Oyng0vpl2ah#-{pR^fS{T3I@rbdhVE$(YX3Ph5A_nCDOa!^}2e^|H@as@js2mNKk#XMo5Mx^`>Zh&Hw!q z`8Qmvym-e_QZu4Re)3W4f*Wh;O($C5xB3d1V_xFAbXe8^-P7Im+7^k5gr}8r#I8~R zlsuz(Bja3?^BP|UpfD*!lF?1p;z9@2L5ZFck}(T77o2g%d;mclbR0*P>CRz8UA*_l zk0?`(=H_DIC2zVp@I{Zzr#d_rkV;p)={;99kNxzA_y6nnr#IOvrHp6i$%R{TB5jVS zVz%bpb(l3A*B7fJ(=_DQUp*X4TXmz`CAry|8UP`ynXIH2bVH{J_*oVvDgaa=)0~tf zr z8PNnl0O&9PSftPvUOlW?s#W2AC)f%}l|XT_g-}oV8QIjNF|caV%_2@!OCy0Jyb`jf zf?u=AL?EPI891cGhVV&{(I$^;TWwNOC1dBM*ne+y^zj$p^8V&h^XpGO{w}2tZ681q zDlFnXrDAWDq#!Ma^%rdsMgVdHdh{5#sL`uZKPmbrGJ(46tZdtyUvF1^4kN$U?Lk$Z zc=Bn(q{GAgNqFMBDplkC@BeLnU?KeSU4nyN_u}aAOf)%%DDK>TzxvQ4>bN}~b+p*0 z#SG?9F4&Im=MAINtr=>$qw+&tX(Fpsil)=$K5IuvvehVLO1y|r;Iw9{DnZ6v?K;~- z%~(l0(Q66k;IJ|k&5QyT#eU#%zO=IFcbJyRNpcRz+bE$H9mbG2XM=) zuQmoIycXwcDOHUU%?bbzQ*`SAkxDPQ`3;vNIR50rb5G4bI@`SaaLXV~0KOomA#W}g zuD|A*(%^76ku=_VWdH0petM9Q#mzR~GF%)TtSD58<$R-!ZqQ$I7VVN*9<(>)q)(53 zMXk8B(#qRe9-o8YK1@R0sJ!tlw|wL4|MvZ(xtAM_~&_Xnuuq$z$%!( zRIBT=+BTj`-z%TBgM|>l+|=w)U!O|aQ1ZH#(TPzHTD6&lv@vX_?K9?8D%Eb}t=ecY z;N`x3^$aui-{@y)(#nQ-FU#rR1 zTc4zL5n&twk)q1Eyiu>$M#lQm5Ku&2r1rpTEpRIqt61o#0sy5%mvR8ov`;9Kl#8

    {LuZCHQO0T)z@7x&mBh50S4iA$5FnXx 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ð&0M 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

    Uh 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

    eS#U;1Ov^A7Gry5slyGU%L*@V#TCOakp3bG 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 z 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

    KGJOES%fa);Nb37Cj9OY86Ql!pxDx6SBZI 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 literal 223416 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�Isyd%@czU7__+JvotYsK!U)^96w)ca|}dwyTkE2 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 diff --git a/images/siedlerohnefischer.png b/images/siedlerohnefischer.png index 293cd02288a560a962776793cb2f4d62c5a268c9..474eb1366032b03cf2cbf05d7f0083b80c4aef49 100644 GIT binary patch literal 398793 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

    eS#U;1Ov^A7Gry5slyGU%L*@V#TCOakp3bG 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 z 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

    KGJOES%fa);Nb37Cj9OY86Ql!pxDx6SBZI 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
  • J*wJt#mCeqvUWL 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 literal 255101 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%0D$*@a?R-J|J|pL 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∾; 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�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

    d%*D6K8ZVXIW$DJa*D@_HZ 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 diff --git a/imp/package.bluej b/imp/package.bluej index d85a6a6..b24c5ed 100644 --- a/imp/package.bluej +++ b/imp/package.bluej @@ -1,79 +1,79 @@ -#BlueJ package file -dependency1.from=PictureViewer -dependency1.to=Picture -dependency1.type=UsesDependency -dependency2.from=Table -dependency2.to=TableRow -dependency2.type=UsesDependency -dependency3.from=Picture -dependency3.to=PictureViewer -dependency3.type=UsesDependency -objectbench.height=89 -objectbench.width=776 -package.divider.horizontal=0.599476439790576 -package.divider.vertical=0.8083832335329342 -package.editor.height=398 -package.editor.width=659 -package.editor.x=161 -package.editor.y=148 -package.frame.height=600 -package.frame.width=800 -package.numDependencies=3 -package.numTargets=7 -package.showExtends=true -package.showUses=true -readme.height=60 -readme.name=@README -readme.width=49 -readme.x=10 -readme.y=10 -target1.height=50 -target1.name=PictureViewer -target1.naviview.expanded=true -target1.showInterface=false -target1.type=ClassTarget -target1.width=110 -target1.x=280 -target1.y=310 -target2.height=50 -target2.name=Table -target2.showInterface=false -target2.type=ClassTarget -target2.width=80 -target2.x=420 -target2.y=200 -target3.height=50 -target3.name=HSB -target3.showInterface=false -target3.type=ClassTarget -target3.width=90 -target3.x=40 -target3.y=200 -target4.height=50 -target4.name=XML -target4.showInterface=false -target4.type=ClassTarget -target4.width=80 -target4.x=520 -target4.y=220 -target5.height=50 -target5.name=Picture -target5.showInterface=false -target5.type=ClassTarget -target5.width=80 -target5.x=180 -target5.y=250 -target6.height=50 -target6.name=TableRow -target6.showInterface=false -target6.type=ClassTarget -target6.width=90 -target6.x=520 -target6.y=150 -target7.height=50 -target7.name=NumberField -target7.showInterface=false -target7.type=ClassTarget -target7.width=130 -target7.x=380 -target7.y=70 +#BlueJ package file +dependency1.from=PictureViewer +dependency1.to=Picture +dependency1.type=UsesDependency +dependency2.from=Table +dependency2.to=TableRow +dependency2.type=UsesDependency +dependency3.from=Picture +dependency3.to=PictureViewer +dependency3.type=UsesDependency +objectbench.height=99 +objectbench.width=451 +package.divider.horizontal=0.599476439790576 +package.divider.vertical=0.788 +package.editor.height=374 +package.editor.width=636 +package.editor.x=161 +package.editor.y=148 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=3 +package.numTargets=7 +package.showExtends=true +package.showUses=true +readme.height=60 +readme.name=@README +readme.width=49 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=PictureViewer +target1.naviview.expanded=true +target1.showInterface=false +target1.type=ClassTarget +target1.width=130 +target1.x=280 +target1.y=310 +target2.height=50 +target2.name=Table +target2.showInterface=false +target2.type=ClassTarget +target2.width=80 +target2.x=420 +target2.y=200 +target3.height=50 +target3.name=HSB +target3.showInterface=false +target3.type=ClassTarget +target3.width=90 +target3.x=40 +target3.y=200 +target4.height=50 +target4.name=Picture +target4.showInterface=false +target4.type=ClassTarget +target4.width=80 +target4.x=180 +target4.y=250 +target5.height=50 +target5.name=XML +target5.showInterface=false +target5.type=ClassTarget +target5.width=80 +target5.x=520 +target5.y=220 +target6.height=50 +target6.name=TableRow +target6.showInterface=false +target6.type=ClassTarget +target6.width=100 +target6.x=520 +target6.y=150 +target7.height=50 +target7.name=NumberField +target7.showInterface=false +target7.type=ClassTarget +target7.width=130 +target7.x=380 +target7.y=70 diff --git a/package.bluej b/package.bluej index df13dc7..addccb5 100644 --- a/package.bluej +++ b/package.bluej @@ -1,63 +1,63 @@ -#BlueJ package file -editor.fx.0.height=736 -editor.fx.0.width=800 -editor.fx.0.x=560 -editor.fx.0.y=136 -objectbench.height=150 -objectbench.width=776 -package.divider.horizontal=0.599476439790576 -package.divider.vertical=0.685370741482966 -package.editor.height=335 -package.editor.width=659 -package.editor.x=741 -package.editor.y=268 -package.frame.height=598 -package.frame.width=800 -package.numDependencies=0 -package.numTargets=6 -package.showExtends=true -package.showUses=true -project.charset=UTF-8 -project.invoke.thread=FX -readme.height=60 -readme.name=@README -readme.width=49 -readme.x=10 -readme.y=10 -target1.height=62 -target1.name=control -target1.type=PackageTarget -target1.width=80 -target1.x=280 -target1.y=10 -target2.height=62 -target2.name=eigeneAlgorithmen -target2.type=PackageTarget -target2.width=130 -target2.x=390 -target2.y=90 -target3.height=62 -target3.name=imp -target3.type=PackageTarget -target3.width=80 -target3.x=480 -target3.y=10 -target4.height=62 -target4.name=algorithmen -target4.type=PackageTarget -target4.width=90 -target4.x=280 -target4.y=90 -target5.height=62 -target5.name=graph -target5.type=PackageTarget -target5.width=80 -target5.x=380 -target5.y=10 -target6.height=50 -target6.name=GraphenTester -target6.showInterface=false -target6.type=ClassTarget -target6.width=150 -target6.x=80 -target6.y=20 +#BlueJ package file +editor.fx.0.height=739 +editor.fx.0.width=1157 +editor.fx.0.x=161 +editor.fx.0.y=101 +objectbench.height=505 +objectbench.width=580 +package.divider.horizontal=0.599591419816139 +package.divider.vertical=0.2768361581920904 +package.editor.height=189 +package.editor.width=864 +package.editor.x=2119 +package.editor.y=112 +package.frame.height=808 +package.frame.width=1015 +package.numDependencies=0 +package.numTargets=6 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +project.invoke.thread=FX +readme.height=60 +readme.name=@README +readme.width=49 +readme.x=10 +readme.y=10 +target1.height=62 +target1.name=control +target1.type=PackageTarget +target1.width=80 +target1.x=280 +target1.y=10 +target2.height=62 +target2.name=algorithmen +target2.type=PackageTarget +target2.width=90 +target2.x=280 +target2.y=90 +target3.height=62 +target3.name=eigeneAlgorithmen +target3.type=PackageTarget +target3.width=130 +target3.x=390 +target3.y=90 +target4.height=62 +target4.name=imp +target4.type=PackageTarget +target4.width=80 +target4.x=480 +target4.y=10 +target5.height=62 +target5.name=graph +target5.type=PackageTarget +target5.width=80 +target5.x=380 +target5.y=10 +target6.height=50 +target6.name=GraphenTester +target6.showInterface=false +target6.type=ClassTarget +target6.width=150 +target6.x=80 +target6.y=20 diff --git a/userhome/bluej/bluej-debuglog.txt b/userhome/bluej/bluej-debuglog.txt index 174dc92..37e4120 100644 --- a/userhome/bluej/bluej-debuglog.txt +++ b/userhome/bluej/bluej-debuglog.txt @@ -1,12 +1,12 @@ -BlueJ run started: Sat Jul 13 11:36:30 CEST 2019 -BlueJ version 3.1.4 -Java version 1.8.0_191 -Virtual machine: Java HotSpot(TM) 64-Bit Server VM 25.191-b12 (Oracle Corporation) -Running on: Windows 10 10.0 (amd64) -Java Home: C:\Program Files\Java\jdk1.8.0_191\jre ----- -Opening project: F:\Informatik\Graphenalgorithmen\GraphTester_v6.1 -1563010591858: Listening for JDWP connection on address: javadebug -Connected to debug VM via dt_shmem transport... -Communication with debug VM fully established. -Simple GUI Extension terminates +BlueJ run started: Sat Jul 13 11:36:30 CEST 2019 +BlueJ version 3.1.4 +Java version 1.8.0_191 +Virtual machine: Java HotSpot(TM) 64-Bit Server VM 25.191-b12 (Oracle Corporation) +Running on: Windows 10 10.0 (amd64) +Java Home: C:\Program Files\Java\jdk1.8.0_191\jre +---- +Opening project: F:\Informatik\Graphenalgorithmen\GraphTester_v6.1 +1563010591858: Listening for JDWP connection on address: javadebug +Connected to debug VM via dt_shmem transport... +Communication with debug VM fully established. +Simple GUI Extension terminates diff --git a/userhome/bluej/bluej.properties b/userhome/bluej/bluej.properties index 2b930f2..63f280b 100644 --- a/userhome/bluej/bluej.properties +++ b/userhome/bluej/bluej.properties @@ -1,52 +1,52 @@ -#BlueJ properties. Settings in this file override "bluej.defs" -#Sat Jul 13 11:36:33 CEST 2019 -extensions.org.bluej.extensions.submitter.Submitter.settings.smtpauthuser=Tom -blackbox.experiment= -bluej.openPackage1=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v6.1 -extensions.org.bluej.UMLextension.UMLExtension.settings.showAttributes=true -extensions.klassenkarte.Klassenkarte.settings.KONSTANTEN_ANZEIGEN=0 -bluej.startWithTextEval=false -extensions.org.bluej.extensions.submitter.Submitter.settings.ssl=false -extensions.klassenkarte.Klassenkarte.settings.TYPEN_ANZEIGEN=0 -bluej.accessibility.support=false -extensions.klassenkarte.Klassenkarte.settings.NICHT_PUBLIC_METHODEN_ANZEIGEN=0 -extensions.org.bluej.extensions.submitter.Submitter.settings.tls=false -extensions.org.bluej.extensions.submitter.Submitter.settings.saslrealm= -extensions.klassenkarte.Klassenkarte.settings.SIGNATUR_ANSICHT=0 -bluej.userlibrary1.location=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v5_5_Windows\\libs\\commons-io-2.4.jar -bluej.language=english -bluej.recentProject1=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v5_5_Windows -extensions.org.bluej.extensions.submitter.Submitter.settings.authenticate=false -bluej.recentProject0=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v6.1 -extensions.kr.or.bluej.cw.extension.ClassWizardExtension.settings.=BlueJ style -extensions.klassenkarte.Klassenkarte.settings.ATTRIBUTE_TYP=0 -extensions.org.bluej.extensions.submitter.Submitter.settings.smtphost= -extensions.klassenkarte.Klassenkarte.settings.EXPERTEN_ANSICHT=0 -bluej.editor.fontsize=12 -extensions.org.bluej.UMLextension.UMLExtension.settings.showParams=true -bluej.preferences.y=16 -bluej.preferences.x=16 -bluej.compiler.showunchecked=true -extensions.klassenkarte.Klassenkarte.settings.KONSTRUKTOREN_ANZEIGEN=0 -blackbox.participant= -extensions.org.bluej.extensions.submitter.Submitter.settings.username=Tom -bluej.userlibrary2.location=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v5_5_Windows\\libs\\csv.jar -extensions.klassenkarte.Klassenkarte.settings.FARBIGE_SICHTBARKEITEN=1 -extensions.org.bluej.UMLextension.UMLExtension.settings.useJavaSyntax=false -extensions.klassenkarte.Klassenkarte.settings.METHODEN_SICHTBARKEIT=0 -extensions.klassenkarte.Klassenkarte.settings.ATTRIBUTE_SICHTBARKEIT=0 -bluej.uid=81375721-8257-4d07-bdbc-8d26cd48e5c8 -bluej.editor.scopeHilightingStrength=20 -extensions.org.bluej.extensions.submitter.Submitter.settings.useraddr=Tom@ -extensions.klassenkarte.Klassenkarte.settings.PARAMETERNAMEN_ANZEIGEN=1 -extensions.org.bluej.UMLextension.UMLExtension.settings.showReturnTypes=true -extensions.klassenkarte.Klassenkarte.settings.ATTRIBUTE_ANZEIGEN=1 -extensions.org.bluej.UMLextension.UMLExtension.settings.showMethods=true -bluej.userlibrary3.location=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v5_5_Windows\\libs\\jgraphx.jar -extensions.org.bluej.UMLextension.UMLExtension.settings.showVisibility=true -extensions.klassenkarte.Klassenkarte.settings.ATTRIBUTE_ALLE=0 -extensions.org.bluej.extensions.submitter.Submitter.settings.port=25 -blackbox.uuid=66b48783-0468-4dd8-a660-7a2fd33bde49 -bluej.terminal.y=16 -bluej.terminal.x=16 -extensions.org.bluej.UMLextension.UMLExtension.settings.showPrivates=false +#BlueJ properties. Settings in this file override "bluej.defs" +#Sat Jul 13 11:36:33 CEST 2019 +extensions.org.bluej.extensions.submitter.Submitter.settings.smtpauthuser=Tom +blackbox.experiment= +bluej.openPackage1=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v6.1 +extensions.org.bluej.UMLextension.UMLExtension.settings.showAttributes=true +extensions.klassenkarte.Klassenkarte.settings.KONSTANTEN_ANZEIGEN=0 +bluej.startWithTextEval=false +extensions.org.bluej.extensions.submitter.Submitter.settings.ssl=false +extensions.klassenkarte.Klassenkarte.settings.TYPEN_ANZEIGEN=0 +bluej.accessibility.support=false +extensions.klassenkarte.Klassenkarte.settings.NICHT_PUBLIC_METHODEN_ANZEIGEN=0 +extensions.org.bluej.extensions.submitter.Submitter.settings.tls=false +extensions.org.bluej.extensions.submitter.Submitter.settings.saslrealm= +extensions.klassenkarte.Klassenkarte.settings.SIGNATUR_ANSICHT=0 +bluej.userlibrary1.location=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v5_5_Windows\\libs\\commons-io-2.4.jar +bluej.language=english +bluej.recentProject1=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v5_5_Windows +extensions.org.bluej.extensions.submitter.Submitter.settings.authenticate=false +bluej.recentProject0=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v6.1 +extensions.kr.or.bluej.cw.extension.ClassWizardExtension.settings.=BlueJ style +extensions.klassenkarte.Klassenkarte.settings.ATTRIBUTE_TYP=0 +extensions.org.bluej.extensions.submitter.Submitter.settings.smtphost= +extensions.klassenkarte.Klassenkarte.settings.EXPERTEN_ANSICHT=0 +bluej.editor.fontsize=12 +extensions.org.bluej.UMLextension.UMLExtension.settings.showParams=true +bluej.preferences.y=16 +bluej.preferences.x=16 +bluej.compiler.showunchecked=true +extensions.klassenkarte.Klassenkarte.settings.KONSTRUKTOREN_ANZEIGEN=0 +blackbox.participant= +extensions.org.bluej.extensions.submitter.Submitter.settings.username=Tom +bluej.userlibrary2.location=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v5_5_Windows\\libs\\csv.jar +extensions.klassenkarte.Klassenkarte.settings.FARBIGE_SICHTBARKEITEN=1 +extensions.org.bluej.UMLextension.UMLExtension.settings.useJavaSyntax=false +extensions.klassenkarte.Klassenkarte.settings.METHODEN_SICHTBARKEIT=0 +extensions.klassenkarte.Klassenkarte.settings.ATTRIBUTE_SICHTBARKEIT=0 +bluej.uid=81375721-8257-4d07-bdbc-8d26cd48e5c8 +bluej.editor.scopeHilightingStrength=20 +extensions.org.bluej.extensions.submitter.Submitter.settings.useraddr=Tom@ +extensions.klassenkarte.Klassenkarte.settings.PARAMETERNAMEN_ANZEIGEN=1 +extensions.org.bluej.UMLextension.UMLExtension.settings.showReturnTypes=true +extensions.klassenkarte.Klassenkarte.settings.ATTRIBUTE_ANZEIGEN=1 +extensions.org.bluej.UMLextension.UMLExtension.settings.showMethods=true +bluej.userlibrary3.location=F\:\\Informatik\\Graphenalgorithmen\\GraphTester_v5_5_Windows\\libs\\jgraphx.jar +extensions.org.bluej.UMLextension.UMLExtension.settings.showVisibility=true +extensions.klassenkarte.Klassenkarte.settings.ATTRIBUTE_ALLE=0 +extensions.org.bluej.extensions.submitter.Submitter.settings.port=25 +blackbox.uuid=66b48783-0468-4dd8-a660-7a2fd33bde49 +bluej.terminal.y=16 +bluej.terminal.x=16 +extensions.org.bluej.UMLextension.UMLExtension.settings.showPrivates=false diff --git a/userhome/bluej/moe.properties b/userhome/bluej/moe.properties index 62d1284..2842263 100644 --- a/userhome/bluej/moe.properties +++ b/userhome/bluej/moe.properties @@ -1,2 +1,2 @@ -#Moe Editor properties. Settings in this file override "moe.defs" -#Sat Jul 13 11:36:33 CEST 2019 +#Moe Editor properties. Settings in this file override "moe.defs" +#Sat Jul 13 11:36:33 CEST 2019 diff --git a/view/graphenalgorithmen.fxml b/view/graphenalgorithmen.fxml index bca4fec..0863515 100644 --- a/view/graphenalgorithmen.fxml +++ b/view/graphenalgorithmen.fxml @@ -10,7 +10,7 @@ - + @@ -65,7 +65,7 @@ - + diff --git a/view/graphtab.fxml b/view/graphtab.fxml index 3a35b6f..ba2ea58 100644 --- a/view/graphtab.fxml +++ b/view/graphtab.fxml @@ -31,7 +31,7 @@ - + + + + + + + + + +