Seite 1 von 1

Kontextmenu für Pluginkomponenten verwenden

Verfasst: 28 Dez 2006, 20:41
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?

Verfasst: 28 Dez 2006, 20:52
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.

Verfasst: 28 Dez 2006, 20:57
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...

Verfasst: 28 Dez 2006, 20:58
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.

Verfasst: 28 Dez 2006, 20:58
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 ;) ?

Verfasst: 28 Dez 2006, 21:35
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