Kontextmenu für Pluginkomponenten verwenden

Hier haben Plugin-Entwickler die Möglichkeit, sich auszutauschen.
Antworten
hampelratte
Plugin-Developer
Beiträge: 182
Registriert: 08 Mai 2005, 22:53
Kontaktdaten:

Kontextmenu für Pluginkomponenten verwenden

Beitrag von hampelratte »

Ich würde gerne das Kontextmenu, das an allen möglichen Stellen beim Anklicken einer Sendung angezeigt wird, auch für meine Komponenten verwenden. Folgendes habe ich bereits probiert:

Code: Alles auswählen

JMenu menu = ContextMenuManager.getInstance().createContextMenuItems(LazyBones.getInstance(), prog, true);
JPopupMenu popup = new JPopupMenu();
Component[] comps = menu.getMenuComponents();
for (int i = 0; i < comps.length; i++) {
  popup.add(comps[i]);
}
popup.setLocation(e.getPoint());
popup.show(e.getComponent(), e.getX(), e.getY());
das kontextmenu erscheint dann zwar auch und funktioniert soweit auch, allerdings fehlt der eintrag für mein eigenes plugin (für die anderen plugins vll auch, das hab ich noch nicht probiert). wie bekomme ich das denn noch hin?
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Beitrag von ds10 »

Bitte keine Kern-Klassen aus Plugins heraus ansprechen. Wenn du das Kontextmenü anzeigen willst, benutze einfach die Methode createPluginContextMenu(Program, ContextMenuIf) aus dem PluginManager. Wenn du willst, dass auch die Einträge für dein Plugin angezeigt werden übergebe für ContextMenuIf einfach null.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
hampelratte
Plugin-Developer
Beiträge: 182
Registriert: 08 Mai 2005, 22:53
Kontaktdaten:

Beitrag von hampelratte »

die methode hatte ich übersehen. werde ich mal ausprobieren.

kernklassen benutze ich so oder so, da ich manche sachen nicht anders hinbekommen kann. finde ich auch nicht so problematisch. wenn sich da was ändern sollte, muss ich halt ne neue plugin version rausbringen...
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Beitrag von ds10 »

hampelratte hat geschrieben:die methode hatte ich übersehen. werde ich mal ausprobieren.

kernklassen benutze ich so oder so, da ich manche sachen nicht anders hinbekommen kann. finde ich auch nicht so problematisch. wenn sich da was ändern sollte, muss ich halt ne neue plugin version rausbringen...
Was denn z.B., mit 2.5 hat sich da viel geändert, was jetzt von Plugins gemacht werden kann ohne Kernklassen zu benutzen.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Also ich finde das schon extrem problematisch. Was kannst du denn nicht hinbekommen ohne zugriff auf den Kern? Die Plugin-Schnittstelle ist eigentlich recht mächtig. Wieso haben wir diese Schnittstelle, wenn alle dran vorbeiarbeiten ;) ?
hampelratte
Plugin-Developer
Beiträge: 182
Registriert: 08 Mai 2005, 22:53
Kontaktdaten:

Beitrag von hampelratte »

ehrlich gesagt, hab ich schon länger nicht mehr einen blick auf die plugin schnittstelle gemacht. ich hab glaube ich mit dem plugin bei 1.0 angefangen. es kann natürlich sein, dass seit dem methoden hinzugekommen sind, die meine zugriffe auf kernfunktionen überflüssig machen.

ich muss mal gucken, ob ich nicht mit der aktuellen schnittstelle auskomme
Antworten