Java Swing Desktop Anwendung / Eigene Hauptmenüs designen

PEASANT KING

Commander
Registriert
Okt. 2008
Beiträge
2.395
Moin Leute,

kurz und knapp, wie erstelle ich ein Menü was an das von mir gepostete hier heran reicht ?
Könnt ihr mir sagen, aus welchen Komponenten das ganze Menü besteht, wie ich das ggf. erstellen kann ?

Ich habe bis jetzt immer das ganze auf einem JPanel mit Buttons und Labels abgebildet.
Nun soll es aber mal professioneller werden.
 

Anhänge

  • menu.png
    menu.png
    21,9 KB · Aufrufe: 371
Das sieht scho0n sehr nach iwelchen frameworks aus....
 
Wenn du Anfänger bist, sage ich dir jetzt schon das wird eine Menge Arbeit das so in etwa zu programmieren.

Auf den ersten Blick würde ich sagen, dass sind JButtons die beim Klicken eine Fläche erzeugen oder verschwinden lassen.

http://www.java-tutorial.org/container.html

Schau dort mal vorbei. Da werden die meisten Sachen beschrieben.
 
Ich würde mich nicht mehr als Anfänger bezeichnen, habe schon eine Desktop Anwendung in Native Swing für meine Mutter geschrieben, die mit eigenen Swing Komponenten erweitert wurde. Zb. TabbedPane auf der die Tabs closable sind mit Icons versehn werden können usw.

Es handelte sich dort um eine kleine Warenwirtschaft.
Nun würd ich das ganze aber mal schöner gestalten als simple Buttons und Labels die im JPanel liegen. Daher hier die Frage.
Könnt ihr mir villt Stichworte nennen worunter ich darüber was in Google finde oder ist das pauschal so nicht zu finden und man muss sich komplett selbst durchwuseln ?
 
Also wenn du kein Anfänger bist, ist es doch offensichtlich was du hier machen musst.

Das sind JButton die beim ersten betätigen eine Fläche erzeugen, also einen JPanel mit einem JSplitter , auf diesem JPanel sind wiederum JButtons.

Und wenn es um schöner geht, dann benutz doch eigens entworfene JPG die die JButton darstellen, wie in dem Bild.

Und vielleicht solltest du dich noch mit den Look&Feels auseinander setzen, einfach mal googlen, außer den paar die Swing so anbietet gibt es noch eigens entwickelte.

Und wo genau liegt dein Problem?
 
Schau dir JavaFX an, Zeit in Swing zu investieren lohnt sich nicht.

Was du willst geht ja schon mit Swing, damit es einigermassen professionel aussieht braeuchtest du aber eine gute UI die du dadrueber stulpen kannst, das macht aber kein Spass glaub mir. Wenn du dann noch in AWT landest wird es noch ne Ecke lustiger. :evillol:

Also ich sehe da ein parr Buttons, ne SplitPane und ein Menu + Custom UI nicht so wild also.
Ne Woche Vollzeit muesstest du aber definitiv darin investieren :D
 
Zuletzt bearbeitet:
pmkrefeld schrieb:
Also ich sehe da ein parr Buttons, ne SplitPane und ein Menu + Custom UI nicht so wild also.
Ne Woche Vollzeit muesstest du aber definitiv darin investieren :D

Jo, für nen einigermaßen involvierten Programmierer in Siwng/JavaFX sieht das wirklich nicht wild aus. Aber ich glaube der TE überschätzt hier ein wenig sein Know How. Sonst würde er nicht so eine Frage stellen. Wenn es um das reine Aussehen geht, ist das gezeigte doch auch nur ein paar Jbuttons mit png/jpge whatever. Wenn er keinen Bock drauf hat die Buttons selber so zu gestalten, sollte er nach einen externen Look&Feel schauen, da gibt es manchmal welche die das ähnlich umsetzen wie in dem Bild.

Und wenn er lust hat sich etwas Zeit zu nehmen und in die zukunft investieren möchte, ist JavaFX ist die bessere Wahl, hier kann er dann mit CSS alles so gestalten was moderne GUI so bieten sollten. Da muss er sich nur in JavaFX und CSS einarbeiten.
 
Kann sein das ich das überschätz, meine Menus die ich in meinen Anwendungen benutze sehn aus wie angefügt.
Das ganze sieht aber besser aus wenn ich die Buttons ausblenden kann mit der Splitpane und das ist die Frage wie ich das bewerkstelligen kann und wie aufwendig das ist.
Ich kann die Buttons auch untereinander reihen und scrollen lassen, das ist aber gräßlich, daher frage ich hier.
L&Fs sind mir nicht so wichtig, ich finde es besser wenn das native genutzt wird. Ich habe aber einen L&F Switcher programmiert mit dem ich auf das Insubstantial wechseln kann.
 

Anhänge

  • menu_own.png
    menu_own.png
    6,1 KB · Aufrufe: 145
Jetzt habe ich selber mal gegoogled. Dein Pic ist aus dem Java Look&Feel BizLaf, ist dir das bewusst?

Splitpane blendet nichts aus, sondern du kannst bestimmen per balken wie hoch oder tief das JPanel sein soll indem sich die zusätzlichen JButtons befinden.

Das ausblenden oder einblenden musst du per ActionListener regeln, über die JButtons. Und das resizen sollte dann alles der Layoutmanager erledigen.


EDIT: Was du mal probieren könntest, die JPanels alle ohne ActionListener vorher schon initalisieren und dann die größe auf 0,0 setzen. Sollte der Button geklickt werden, vergößert sich das Panel um deine gewünschte Größe.

Ob das sinniger ist als ein Jpanel erst zu erzeugen wenn der Button geklickt wird und dann in dein mainpanel eingefügt wird, kann ich gerade schlecht abschätzen. Ich könnte mir aber gut vorstellen dass es zu einigen Problemem mit der überlagerung der Componenten kommen könnte.
 
Zuletzt bearbeitet:
Du meinst das erste Bild von mir im Eingangspost ? War mir jetzt nicht ganz bewusst das es sich um dieses L&F handelte, weil ich eigentlich nur auf der Suche nach einem Bild eines Menüs war. Die Menüs ähneln sich ja heut zu tage fast alle.

Mein zweites Bild über deinem Post ist das Standard System L&F mit Icons aus OpenIconlibrary.
Vielen Dank schon mal für deine Tipps, ich schau mal in wie weit ich die umsetzen kann.
 
Ich meinte dein erstes Pic. Ist aber cezanne http://www.centigrade.de/de/products/cezanne-look-and-feel-engine bizLaf haben die auch.

Ist aber anscheinend commercial.

Was ich probieren würde, wäre das ganze erst mal ohne Splitpane zu gestalten. Desto simpler du ran gehst umso weniger kannst du falsch machen.


Ok, der User pmkrefeld, spricht zurecht das CardLayout an, damit solltest du vielleicht sogar als erstes probieren. Das hatte ich jetzt gar nicht auf den Schirm, weil das ich noch nie benutzt habe.
 
Ja ich mach mich mal ran. Danke für die Tipps mal gucken wie weit ich komme und ich Geduld habe. :D
Ergänzung ()

So ich hab mir das mal eben zusammen gebaut im Schnellverfahren. Auf ein JPanel habe ich eine SplitPane gelegt, hab den Trenner auf horizontal gestellt,
dem unteren Bereich des SplitPane hab ich nen Panel hinzugefügt und 4 Button drauf geschmissen.
Der obere SplitPane teil erhielt auch ein Panel und das CardLayout dann habe ich 4 JPanel mit unterschiedlichen Inhalten auf das CardLayout gelegt.
Den Buttons ActionListener hinzugefügt und die jeweilige Card ausgewählt beim Klick der Buttons läuft.
Allerdings sieht es häßlich aus und müsste natürlich noch erweitert werden, wenn ich z.B. den Splitter weiter nach unten verschiebe das die Buttons dann anders aufgereiht werden in einer extra Leiste siehe Beispiel von oben.
 
Zuletzt bearbeitet:
Es hinzuklatschen ist auch kein Problem, es Produktionsreif zu kriegen wird aber noch etwas Aufwand erfordern ;)
 
Da geb ich dir recht. Es sollte aber erstmal gut aussehen bevor es implementiert wird.

So wie im Anhang sollte es nicht aussehen ^^. Der obere Teil mit den Komponenten ist nur ein Beispiel da soll natürlich keine JTable drin hängen später sondern andere Buttons und Labels.

Funktionieren tut es wenn ich auf die Buttons unten klicke und die Implementierung in die eigentliche Anwendung kommt wenn es mir zu 100% gefällt.
 

Anhänge

  • menu3.png
    menu3.png
    8,3 KB · Aufrufe: 123
Zurück
Oben