# Wie erstellt man ein anspruchsvolles GUI?



## data89 (11. Sep 2008)

Hallo,

bisher habe ich meine Java-GUIs immer mit Jigloo erstellt. Es gibt jedoch auch viele Java-Programme, die eine ausgefeilte GUI haben (im Forum hier habe ich mal einen Link auf einen professionell aussehenden Chat gefunden):

Zum Beispiel MagicMap (MagicMap), oder dieses hier: http://www.cmswatch.com/images/Ajax1.png (obwohl dies keine Java-Anwendung ist; habe aber schon vergleichbare Programme gesehen!).

Wie funktioniert dies (vllt. wie in HTML mit CSS???)? Gibt es ein Tutorial/eine Seite, welche dieses Thema näher behandelt?

data89  :?:


----------



## foobar (11. Sep 2008)

Gehts dir um Usability, HCI oder um die verwendeten Techniken bzw. Apis/Tools?
Guibuilder gibts massenweise für Java, ob dir das zusagt ist eine andere Frage.


----------



## data89 (11. Sep 2008)

Vorab: Was ist "HCI" was ist "Apis/Tools"???

Wie gesagt, bis jetzt habe ich immer mit Jigloo gearbeitet! Wenn es für Eclipse weitere GUI-Editoren gibt wäre ich für ein Paar Links sehr dankbar (es schadet nicht Themen aus zwei Sichtweisen zu beatrachten ...)!

Mir geht es darum, einfach eine Design-Technisch gut aussehende Oberfläche zu gestalten!

data89


----------



## ARadauer (11. Sep 2008)

ich bevorzuge den jformdesigner, der ist zwar nicht kostenlos, aber der ist sein geld wert...


----------



## L-ectron-X (11. Sep 2008)

Meine Meinung ist immer noch: Wenn man selbst nicht kreativ ist oder sein kann, kann man die tollsten Tools haben und man bringt trotzdem keine GUI zustande, die sich von anderen abhebt. Hinzu kommt dann noch mangelnde Erfahrung.

Schau dir am besten viele GUIs an, wie andere das machen, da kann man sich jede Menge Anregungen holen.


----------



## Wildcard (11. Sep 2008)

Und ganz wichtig:
Wenn der Anwender bunt sehen will, kann er in den Spielzeugladen gehen, oder Drogen nehmen, in einer Anwendung will er sich zurecht finden. Sei konservativ, bleib beim Standard.


----------



## foobar (12. Sep 2008)

HCI=Human Computer Interface (Mensch Maschine Zwischengesicht) http://de.wikipedia.org/wiki/Mensch-Computer-Interaktion

Um ansprechende GUIs zu bauen braucht man ein grundlegendes Verständnis für die kognitiven Fähigkeiten des Menschen: http://de.wikipedia.org/wiki/Gestaltpsychologie

Generell gilt Usability ist ein Prozess und nicht ein generisches Pattern das auf jede Anwendung passt. Es gibt zwar bestimmte Regeln, die man beachten sollte aber jedes Produkt hat andere Anforderungen und wird von unterschiedlichen Menschen mit unterschiedlicher Konditionierung bedient.
Versuch dir beim Design einer Oberfläche immer vorzustellen wie der Benutzer damit umgeht d.h. welcher Usecase in der realen Welt soll hier umgesetzt werden. Erst wenn man eine genaue Vorstellung davon hat was der Benutzer eigentlich machen will, kann man eine ansprechende GUI erstellen. Das ist meines Erachtens auch das größte Problem bei HCI, denn oft wissen die Anwender das selber nicht *g*


----------



## ARadauer (12. Sep 2008)

ich bin der meinung, wenn ich mich das erste mal mit layout manager beschäftige und ich mit dem gridbag layout zu kämpfen habe, habe ich wenig möglichkeiten mich auf gute gui usability zu konzentrieren... da hilft ein wysiwyg swing editor enorm..


----------



## ARadauer (12. Sep 2008)

zeigt mal ein paar screenshots eurer guis her, würd mich interessieren was ihr so baut ;-)


----------



## foobar (12. Sep 2008)

Gridbaglayout ist ja auch anachronistisch. JGoodies Formlayout rules 



> anachronistisch


heute ist Freitag, solche Wörter überfordern mich heute sowieso... ;-)


----------



## Oli (12. Sep 2008)

Gute GUIs bauen?

Klar, üben, üben, üben.

Irgendwann flutscht´s...

Schönes Wochenende


----------



## L-ectron-X (12. Sep 2008)

Hmm, Mist. Ich hab den Beitrag zitieren wollen und dann ohne näher drüber nachzudenken einen Beitrag gelöscht.
Entschuldigung!



			
				ARadauer hat gesagt.:
			
		

> > anachronistisch
> 
> 
> heute ist Freitag, solche Wörter überfordern mich heute sowieso... ;-)


http://de.wikipedia.org/wiki/Anachronismus


----------



## data89 (12. Sep 2008)

Das sind ja viele Antoworten ...   

Ok, ich werd mir mal die GUIs von "den anderen" anschauen und ein bisschen abgucken  :### 

data89


----------



## foobar (13. Sep 2008)

ARadauer hat gesagt.:
			
		

> zeigt mal ein paar screenshots eurer guis her, würd mich interessieren was ihr so baut ;-)



Das habe ich vor ca. 2 Jahren entwickelt: http://www.mk-funk.de/konsole-s/screenshots.html


----------



## Netscanner Waldi (14. Sep 2008)

ARadauer hat gesagt.:
			
		

> zeigt mal ein paar screenshots eurer guis her, würd mich interessieren was ihr so baut ;-)


Hier ein paar Bilder von einer Flug-Bodenstation, an der ich vor nem halben Jahr gearbeitet habe:
http://www.dualservers.com/rc-videoflight/index.php?id=84

ByTheWay, ich baue immer alles händisch, ohne GUI-Builder, weil die meist einen großen Overhead produzieren, ausserdem finde ich, dass man GUI-Builder erst benutzen sollte, wenn man sich mit der Oberflächenprogrammierung ohne GUI-Builder auskennt, um die Hintergründe zu verstehen. 

Des Weiteren sollte man nicht versuchen, das Rad neu zu erfinden, man sollte ruhig bei guter Software abkupfern  Ausserdem kann's nicht schaden, die Freundin mal an die Software zu setzen, ihr 1-2 Aufgaben zu stellen und beobachten, wie sie sich auf der Oberfläche zu recht findet - meist fördert das unzählige Stolpersteine zu Tage  (man wird schnell betriebsblind )


----------



## foobar (15. Sep 2008)

@Netscanner-Waldi Hast du die Telemetriewidgets selber entwickelt oder gibts die schon fertig irgendwo? Welchen Kartenviewer und welches Kartenmaterial verwendet du?


----------



## Netscanner Waldi (16. Sep 2008)

foobar hat gesagt.:
			
		

> @Netscanner-Waldi Hast du die Telemetriewidgets selber entwickelt oder gibts die schon fertig irgendwo? Welchen Kartenviewer und welches Kartenmaterial verwendet du?



Die Telemetrie-Widgets sind selbst entwickelt (erweiterte ImageIcons), der Kartenviewer auch, das Kartenmaterial wird von den gängigen Kartenservern (GoogleMaps, OpenStreetMap, MS Maps) geholt und dann auf eine Java3D-Fläche projeziert, Kamera im GTA-Style.

Der Source-Code ist OpenSource, allerdings müsste der SVN gerade down sein... bei Bedarf kann ich dir den Source-Code mal schicken...


----------



## foobar (16. Sep 2008)

MapViewer für Swing gibt es bereits mehrere: http://today.java.net/pub/a/today/2007/10/30/building-maps-into-swing-app-with-jxmapviewer.html
http://openmap.bbn.com/

Warum hast du einen eigenen Viewer implementiert? Kann der irgendwas besonderes?


----------



## Netscanner Waldi (16. Sep 2008)

foobar hat gesagt.:
			
		

> MapViewer für Swing gibt es bereits mehrere: http://today.java.net/pub/a/today/2007/10/30/building-maps-into-swing-app-with-jxmapviewer.html
> http://openmap.bbn.com/


Kenne ich.


			
				foobar hat gesagt.:
			
		

> Warum hast du einen eigenen Viewer implementiert? Kann der irgendwas besonderes?


Unser MapViewer basiert auf Java3D, daher Zoomen/Drehen usw. problemlos möglich. Knackpunkt war aber, dass auf der Karte das Flugmodell mit eingeblendet werden sollte, das sich darauf synchron zur 3D-Lagedarstellung bewegt...

Aber ich glaube wir werden ein wenig OffTopic


----------

