# Menüleiste Kaffe-Icon entfernen wie?



## java777 (27. Mai 2010)

Hallo Leute,

ich möchte aus der Menüleiste den Kaffe-Icon entfernen und auch das Sysmbol, dass die Fenstermaximierung ermöglicht. Würde mich auf Tipps freuen.

MFG


----------



## vfl_freak (27. Mai 2010)

Moin



java777 hat gesagt.:


> Hallo Leute,
> ich möchte aus der Menüleiste den Kaffe-Icon entfernen und auch das Sysmbol, dass die Fenstermaximierung ermöglicht



Bitte was genau ist denn ein "Kaffe-Icon" 

Das Symbol zur Maximierung lässt sich mMn (zumindest beim JFrame) nicht entfernen, allenfalls über die WindowConstants  suchen deaktivieren.
Ggf. musst Du Dir hier einen eigenen Dialog basteln!

Gruß
Klaus


----------



## FrankBooth (27. Mai 2010)

Hallo,

welche Menüleiste(JMenu)? Meist du das Standardicon im Rahmen eines Frames?

Grüße


----------



## FrankBooth (27. Mai 2010)

Vielleicht hilft 


```
frame.setUndecorated(true);
```


----------



## java777 (27. Mai 2010)

hallo,

ja genau das standard Java-Icon in der Menüleiste


----------



## FrankBooth (27. Mai 2010)

da's aber keine Menüleiste, oder?


----------



## Artorius (27. Mai 2010)

Hi,
Ich gehe nunmal davon aus, dass die TITELEISTE eines JFrames gemeint ist. Das Icon dort kann nur ersetzt werden, nicht entfernt. Setzt du das Icon auf NULL,  wird wieder das StandardIcon genutzt. Daher mein Vorschlag, ein transparentes Icon zu setzen.
Ebenso lassen sich die Min/Max Buttons nicht so ohne weiteres entfernen. setUndecorated() tut das zwar, aber dann gibt es auch keine Titelleiste mehr. Frage: Warum nimmst du keinen JDialog. Der hat nämlich keine Min/Max Buttons...


*grüssle*


----------



## java777 (27. Mai 2010)

ja genau es war die Titelseite eines Frames gemeint. Das Icon ist nun Transparent, hat geklappt  
Ich habe nun für die Darstellung ein JDialog genommen, nun das gleich Problem nur andersrum
und zwar möchte ich gern das Sysmbol für die Fensterminimierung und ihre Funktion einfügen,
Würde mich auf Tipps freuen,
MFG


----------



## FrankBooth (27. Mai 2010)

dann nimm doch wieder den Frame


----------



## Artorius (27. Mai 2010)

Upps, das habe ich nicht gelesen, dass du den Mininmieren Button behalten möchtest. Hmmm..
Würde es dir denn vielleicht genügen, doch wieder ein JFrame zu nutzen, und dann setResizable(false) zu setzen.  Dann kann man den Frame zwar nicht mehr manuell in der Größe verändern und auch der Max-Button ist noch da, aber zumindest ist er deaktiviert...

*grüssle*


----------



## java777 (27. Mai 2010)

kann man den Minimieren Button beim JDialog noch zusätzlich einfügen?
mfg


----------



## Artorius (27. Mai 2010)

Natürlich
Jedes Frame/Jeder Dialog hat ein RootPane, und jedes RootPane ein RootPaneUI, welches für dessen Aussehen verantwortlich ist. Diese UI-Klasse verweist auf eine Klasse mit dem Name XXXTitlePane, in dem dann die Buttons dargestellt werden.  Schau dir nun beispielsweise mal die MetalRootPaneUI und die MetalTitlePane Klassen im SourceCode an.  Diese beiden Klassen müstestes du ändern um dort deine Buttons ein/bzw. auszubauen. Ich würde eeher Maximieren Button ausbauen, weil du für den Minimieren Button sonst zuviel Logik einbauen müsstest, Hört sich komplizierter an, als es eigentlich ist. Hab aber gerade ein wenig um die Ohren, daher kann ich dir da jetzt keinen Code geben.

Was aber auch gehen müsste: Gehe rekursiv durch alle Kinder des Rootpanes deines JFrames. Irgendwann müsstest du dann auf das TitlePane und den Maximieren Button stoßen. Und wenn du die beiden gefunden hast, dann entferne einfach den Maximieren Button aus dem TitlePane.

Einfacher geht es aber meines Wissens nicht..

*grüssle*


----------



## FrankBooth (27. Mai 2010)

ich denke JDialog geht nicht, weil du ihn nicht wieder zurück bekommst.
JDialog taucht nicht in der Taskleiste auf und dann musst du das wieder verändern


----------

