Fenstermenü überschreiben (override)

richis-fragen

Aktives Mitglied
Guten Tag liebes Forum
ich habe eine Frage zu JFrame:
ist es möglich in einem JFrame oben links das Fenstermenü mit einem Eintrag zu erweitern?

Ich möchte gerne bei einigen JFrame's dort und nur dort eine Methode hinzufügen, welche es mir erlaubt zu genau und nur diesem JFrame erweiterte Konfigurationen durch den Anwedner durchführen zu lassen. Ich möchte aber nicht eine Menüleiste etc. im JFrame montieren.

Viele Anwender arbeiten nur mit der Maus und da hilft ein Shortcut wenig.
Vielen Dank für Hilfe
Richi
 

Robat

Top Contributor
Was genau stellst du dir unter "Fenstermenu" vor?
Meinst du eine Menübar (Datei, Ansicht, Hilfe, ..), das Kontextmenu was aufpoppt wenn man mit der rechten Maustaste auf den Titel/Icon des JFrames klickt oder was ganz anderes?
 

richis-fragen

Aktives Mitglied
keine Menübar aber wenn man ein JFrame öffnet erscheint oben im Fensterbalken das AnwendungsIcon.
(im gleichen Balken wie -minimieren, -maximieren und -schliessen)
Wenn man jetzt auf eben dieses Icon klickt, erscheint ein dropDown Menü mit "Verkleinern", "Vergrössern", etc.
Meine Frage ist ob dieses Menü mit hilfe von Override erweitert werden kann, z.B. mit "Einstellungen"

Ich habe zum besseren Verständnis, was ich meine ein Foto hochgeladen...
Vielen Dank
Richi
 

Anhänge

  • JFrame-Menü-Links-Oben.png
    JFrame-Menü-Links-Oben.png
    17,9 KB · Aufrufe: 138

richis-fragen

Aktives Mitglied
Vieleicht sollte ich noch sagen wozu das ganze dienen soll:
Ich habe eine Anwendung geschrieben, welche dieverse JFrames öffnet.
  • Börsenticker
  • Zahlungserfassung
  • diverse Immobilien Pages (mit Tabs)
  • usw.
Meine Fensternamen sind aber nicht jedermanns Sache und ich wollte meinen Kunden die Möglichkeit geben das Fenster so um zu benennen, wie der Kunde es am Besten erkennt.
d.H. meine Anwendung erscheint nur Einmal in der Taskleiste, aber wenn der Kunde mit der Maus drüberfährt, werden ALLE zu meiner Anwendung gehörenden Fenster aufgelistet und zwar mit dem Namen. Und eben diesen Namen möchte ich gerne durch den Kunden umbenennen lassen können und vlt. auch noch das angezeigte Icon tauschen lassen usw.
Ich bin Legasteniker, meine Kunden akzeptieren das, aber würden gerne den Namen, den ich falsch geschrieben habe korrektieren.
Eine globale Einstellungsmöglichkeit habe ich schon hinzugefügt, aber die ist immens und wird höchstens bei der ersten Installation angewendet. Jedes JFrame läuft für sich alleine.

Ich danke für das Verständnis
Richi
 

Robat

Top Contributor
Ich bin mir ehrlich gesagt nicht sicher ob das so einfach möglich ist.
Afaik kommt dieses Context-Menu vom Betriebssystem und ist daher auch nicht so einfach zu ändern.
 

richis-fragen

Aktives Mitglied
Danke @Robat für die Antwort.
Habe mittlerweile, dank deinem Hinweis die Dateien, dieses ContextMenü in Windows, Mac und Linux gefunden.
Aber ich bin der Meinung, dass auch dieser Kontext overrided werden kann. Ich übe noch ein bisschen.
Gelößt ist es noch nicht.
Gäbe es denn eine Möglichkeit neben den Buttons (Minimieren, Maximieren und Schliessen) noch einen weiteren Button anzufügen?
Wäre glaub ich die einfachste Lösung, da es ja auch möglich ist das Minimieren und Maximieren zu unterbinden...
Vielen Dank Richi
 

Robat

Top Contributor
Ich denke mit Java-Mitteln wirst du da nicht viel machen können. Vielleicht lieg ich aber auch falsch.
Eventuell könntest du mit einem JDialog dieses Context-Menu nachbauen und so einen neuen Eintrag hinzufügen .. ob das der richtige Weg ist und ob das überhaupt funktioniert müsste man mal testen..
 

mrBrown

Super-Moderator
Mitarbeiter
keine Menübar aber wenn man ein JFrame öffnet erscheint oben im Fensterbalken das AnwendungsIcon.
(im gleichen Balken wie -minimieren, -maximieren und -schliessen)
Wenn man jetzt auf eben dieses Icon klickt, erscheint ein dropDown Menü mit "Verkleinern", "Vergrössern", etc.
Meine Frage ist ob dieses Menü mit hilfe von Override erweitert werden kann, z.B. mit "Einstellungen"
Afaik ist das nicht möglich. Das Menü selbst kommt vom Window-Manager, da dürfte die Applikation eigentlich keinen Einfluss drauf haben. Gibt es ja auch nur bei einzelne und nicht bei allen.
 

Neue Themen


Oben