# Wie kann ich einem Programm hinter eine GUI verstecken?



## PG_97 (26. Nov 2019)

Guten Abend,

mein Anliegen ist, dass ich meine bisherigen Programme, welche Momentan bisher nur auf CMD laufen mit einer GUI versehen. Geht dies einfach so (GUI Script und eine Verknüpfung) oder muss man da ein bisschen rumfrickeln (das Script stark ändern)???
Als Beispiel Programm kann man evt. ein Programm nehmen, welches drei Eingaben verlangt und daran eben verschiedene Sachen ausführt. 

Bis dato habe ich nicht viel gefunden und mein Buch gibt darüber keine genaue Auskunft...


----------



## Robat (26. Nov 2019)

So richtig versteh ich dein Anliegen noch nicht. Um was für Programme handelt es sich denn? Geht es hier auch um Java Programme?


----------



## Dukel (26. Nov 2019)

Willst du die CMD Programme per Gui starten oder die CMD Programme um eine GUI erweitern?
Bei letzterem kommt es sehr darauf an, wie die Programme geschrieben sind. Wenn die Ansicht von der Logik getrennt ist, kannst du einfach eine Gui dafür erstellen.


----------



## M.L. (26. Nov 2019)

Wenn man eine GUI zusammenstellt und ein Script unverändert laufen lassen will, kann man sich den Processbuilder oder den Befehl Runtime.getRuntime().exec()  genauer ansehen (Quelle: https://stackoverflow.com/questions/13227893/how-to-execute-cmd-commands-via-java-swing  )


----------



## White_Fox (26. Nov 2019)

Dukel hat gesagt.:


> Wenn die Ansicht von der Logik getrennt ist, kannst du einfach eine Gui dafür erstellen.


Wenn er das schon bedacht hätte würde er hier wahrscheinlich nicht fragen.
Ich denke, der TS sollte sich mal das MVC-Muster ansehen und danach kann er seine Frage wahrscheinlich alleine beantworten.


----------



## PG_97 (27. Nov 2019)

White_Fox hat gesagt.:


> Wenn er das schon bedacht hätte würde er hier wahrscheinlich nicht fragen.
> Ich denke, der TS sollte sich mal das MVC-Muster ansehen und danach kann er seine Frage wahrscheinlich alleine beantworten.



Darum ging es mir hauptsächlich. Wenn ich es richtig Verstanden habe, brauche nur eine Art "Verknüpfung". 
Diese grobe Graphik zeigt ungefähr was ich meine.
            GUI
                -
Schnittstelle*
               -
Programm

*ist das, was für die Kommunikation zwischen den beiden anderen zuständig ist.


----------



## M.L. (27. Nov 2019)

Für das MVC-Pattern gibt es genug bildliche Visualisierungen, z.B. https://www.datenbanken-verstehen.de/lexikon/model-view-controller-pattern/  (wobei das Model im konkreten Fall entfällt bzw. sehr klein ausfällt ). Ansonsten kann man mit einer Suchmaschine nach passenden Ideen Ausschau halten: ixquick.com @ MVC pattern java swing example  (oder statt "swing" eine andere UI-Technologie)


----------



## mrBrown (27. Nov 2019)

Geht es denn überhaupt um ein Java-Programm oder um etwas völlig anderes?


----------



## kneitzel (27. Nov 2019)

Ja, die Frage ist, um was es genau geht.

Wenn es wirklich nur um Scripts gehen sollte und nicht um Programmierung in Java: Auch da ist einiges machbar. Beispiel von Scripts mit GUI wäre unter Windows halt z.B. PowerShell mit Nutzung von Windows Forms.
Unter Unix / Mac gibt es als einfachste Variante z.B. dialog und Co (Mit Lösungen für die Commandozeile aber auch GUI seitig).
Tcl/Tk ist unter Unix für sowas mit entwickelt worden, Tk Bindings gibt es aber wohl auch für andere Scriptsprachen....

Also Ideen und Möglichkeiten gibt es da viele, aber da wäre dann dieses Forum eher falsch


----------



## PG_97 (27. Nov 2019)

Es geht hier natürlich um Java-Programm, welches eine GUI bekommen soll.


----------



## kneitzel (27. Nov 2019)

Da kannst Du Dir dann Awt, Swing, JavaFX und SWT ansehen. Zu allem findet sich sehr viel per Google.

"Java ist auch eine Insel" könnte da z.B. auch ein guter Einstiegspunkt sein.


----------



## Robat (27. Nov 2019)

@JustNobody JavaFX nicht vergessen! 

Edit: sicherlich meintest du mit Java eigentlich JavaFX?


----------



## kneitzel (27. Nov 2019)

Robat hat gesagt.:


> @JustNobody JavaFX nicht vergessen!
> 
> Edit: sicherlich meintest du mit Java eigentlich JavaFX?


Oh ja, natürlich. Da war ich beim Denken schneller als meine Finger tippen konnten .... bzw. ich habe den Buffer Overflow beim befüllen der Input Queue für meine Finger nicht richtig behandelt  

Hab es bei mir direkt schnell editiert - "java" zu "JavaFX" .... Danke für Deinen Hinweis!

Edit: Hab in den Logs geschaut ... die NotEnoughCoffeeException wurde nicht ordnungsgemäß behandelt ...


----------

