Brauche Hilfe bei Plugin-umstellung auf 2.0
Verfasst: 26 Jul 2006, 19:40
Hallo,
habe ein Plugin geschrieben und will es nun auf das neue Pluginsystem umstellen. Dauernd schmiert mir aber das Plugin ab. Habe es wie in der Entwickler Anleitung gemacht, aber das geht irgendwie gar nicht. Problem: public Action[] getContextMenuActions(Program program) geht nischt. Habe dann in die 2.0er doku geguckt und dort steht dann etwas von ActionMenu! Gut Code geändert und compilieren klappt schon mal. Wenn ich nun das Plugin über eine Sendung aufrufe, dann kommt immer ein Fehler. Wer kann mir den Fehler erklären?
Das Plugin "EyeTV Plugin" hat einen Fehler verursacht. Soll es deaktiviert werden?
----- Start of stacktrace -----
java.lang.ClassCastException: javax.swing.JMenuItem
at devplugin.Plugin.getProgramFromContextMenuActionEvent(Plugin.java:398)
at eyetvplugin.EyeTVPlugin.access$000(EyeTVPlugin.java:23)
at eyetvplugin.EyeTVPlugin$1.actionPerformed(EyeTVPlugin.java:65)
at tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:334)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMouseReleased(BasicMenuItemUI.java:1104)
at javax.swing.JMenuItem.fireMenuDragMouseReleased(JMenuItem.java:578)
at javax.swing.JMenuItem.processMenuDragMouseEvent(JMenuItem.java:475)
at javax.swing.JMenuItem.processMouseEvent(JMenuItem.java:422)
at javax.swing.MenuSelectionManager.processMouseEvent(MenuSelectionManager.java:283)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1043)
at java.awt.Component.processMouseEvent(Component.java:5554)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5319)
at java.awt.Container.processEvent(Container.java:2010)
at java.awt.Component.dispatchEventImpl(Component.java:4021)
at java.awt.Container.dispatchEventImpl(Container.java:2068)
at java.awt.Component.dispatchEvent(Component.java:3869)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3936)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
at java.awt.Container.dispatchEventImpl(Container.java:2054)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3869)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:34)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
----- End of stacktrace -----
Ich finde TV Browser wirklich super, aber leider ist die Entweickler Doku das komplette Gegenteil. Ich hoffe hier kann mir jemand helfen. Der Code ist komplett der wie in der Entwickler Dokumentation - natürlich nicht Action[] sonder ActionMenu.
Robert
habe ein Plugin geschrieben und will es nun auf das neue Pluginsystem umstellen. Dauernd schmiert mir aber das Plugin ab. Habe es wie in der Entwickler Anleitung gemacht, aber das geht irgendwie gar nicht. Problem: public Action[] getContextMenuActions(Program program) geht nischt. Habe dann in die 2.0er doku geguckt und dort steht dann etwas von ActionMenu! Gut Code geändert und compilieren klappt schon mal. Wenn ich nun das Plugin über eine Sendung aufrufe, dann kommt immer ein Fehler. Wer kann mir den Fehler erklären?
Das Plugin "EyeTV Plugin" hat einen Fehler verursacht. Soll es deaktiviert werden?
----- Start of stacktrace -----
java.lang.ClassCastException: javax.swing.JMenuItem
at devplugin.Plugin.getProgramFromContextMenuActionEvent(Plugin.java:398)
at eyetvplugin.EyeTVPlugin.access$000(EyeTVPlugin.java:23)
at eyetvplugin.EyeTVPlugin$1.actionPerformed(EyeTVPlugin.java:65)
at tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:334)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMouseReleased(BasicMenuItemUI.java:1104)
at javax.swing.JMenuItem.fireMenuDragMouseReleased(JMenuItem.java:578)
at javax.swing.JMenuItem.processMenuDragMouseEvent(JMenuItem.java:475)
at javax.swing.JMenuItem.processMouseEvent(JMenuItem.java:422)
at javax.swing.MenuSelectionManager.processMouseEvent(MenuSelectionManager.java:283)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1043)
at java.awt.Component.processMouseEvent(Component.java:5554)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5319)
at java.awt.Container.processEvent(Container.java:2010)
at java.awt.Component.dispatchEventImpl(Component.java:4021)
at java.awt.Container.dispatchEventImpl(Container.java:2068)
at java.awt.Component.dispatchEvent(Component.java:3869)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3936)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
at java.awt.Container.dispatchEventImpl(Container.java:2054)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3869)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:34)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
----- End of stacktrace -----
Ich finde TV Browser wirklich super, aber leider ist die Entweickler Doku das komplette Gegenteil. Ich hoffe hier kann mir jemand helfen. Der Code ist komplett der wie in der Entwickler Dokumentation - natürlich nicht Action[] sonder ActionMenu.
Robert