Brauche Hilfe bei Plugin-umstellung auf 2.0
Brauche Hilfe bei Plugin-umstellung auf 2.0
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
Schau dir einfach mal die Plugins von uns an. Dann wirst du recht einfach sehen, wie das funktioniert.
Die Doku ist leider nicht aktuell. Aber sobald man die aktuell hat, wird wieder was geändert .
Das beste ist, man schaut das JavaDoc an, das wird direkt aus dem Quelltext erzeugt und / oder halt die Quelltexte der Plugins von uns.
Und zum Thema EyeTV: Im CapturePlugin ist seit Version 2.1 eine Anbindung an das EyeTV schon vorhanden.
Die Doku ist leider nicht aktuell. Aber sobald man die aktuell hat, wird wieder was geändert .
Das beste ist, man schaut das JavaDoc an, das wird direkt aus dem Quelltext erzeugt und / oder halt die Quelltexte der Plugins von uns.
Und zum Thema EyeTV: Im CapturePlugin ist seit Version 2.1 eine Anbindung an das EyeTV schon vorhanden.
Hi Bodo,
vielen Dank für die schnelle Antwort. Ahh ok, dann freue ich mich schon auf die neue Doku. In der Zeit werde ich mal Euren Code genauer anschauen.
zu EyeTV: Habe gesehen, das CapturePlugin EyeTV kann, doch mir schwebt eigentlich vor, das ich EyeTV auf einem Mac im Netzwerk programmiere. Das scheint CapturePlugin noch nicht zu können.
Erst mal danke Robert
vielen Dank für die schnelle Antwort. Ahh ok, dann freue ich mich schon auf die neue Doku. In der Zeit werde ich mal Euren Code genauer anschauen.
zu EyeTV: Habe gesehen, das CapturePlugin EyeTV kann, doch mir schwebt eigentlich vor, das ich EyeTV auf einem Mac im Netzwerk programmiere. Das scheint CapturePlugin noch nicht zu können.
Erst mal danke Robert
Ich werde mal schauen, ob ich das so einfach bei Euch einbauen kann! Habe das EyeTVPlugin für local schon fertig, muss halt nur auf das neue Pluginsystem umgeschrieben werden. In das CapturePlugin habe ich noch nicht reingeschaut. Habe erst einmal mit dem EmailPlugin angefangen. Das ist für den Anfang übersichtlicher.bodo hat geschrieben:Naja, das kann man doch in das EyeTV-Zeugs vom CapturePlugin reinbasteln, oder?
Bastel einfach an dem Code vom CapturePlugin rum und bau das da ein. Dann schickste das mir und ich check das nach einer Kontrolle der Qualität in unser SVN ein.
Wie ich das genau mache? So richtig habe ich mir noch keine Gedanken gemacht. Das habe ich mir als weiteren Schritt überlegt. Ich denke bis zum we habe ich mein Plugin umgestellt und am we ist dann "remote" dran. Laß es dich wissen wenns fertig ist. Robertbodo hat geschrieben:Wie willst du die Kommunikation über das Netzwerk machen?
Remote EyeTV
Hallo,
ist bei diesem Projekt noch was passiert?
Ich habe zwei EyeTVs im lokalen Netz - einen USB-Stick an meinem Hauptrechner, sowie eine SCM-Karte in einem alten Powerbook Titanium.
Natürlich würde ich das Titanium auch gerne direkt aus dem TV-Browser programmieren können.
ist bei diesem Projekt noch was passiert?
Ich habe zwei EyeTVs im lokalen Netz - einen USB-Stick an meinem Hauptrechner, sowie eine SCM-Karte in einem alten Powerbook Titanium.
Natürlich würde ich das Titanium auch gerne direkt aus dem TV-Browser programmieren können.
Re: Remote EyeTV
Hallo,fesh hat geschrieben:Hallo,
ist bei diesem Projekt noch was passiert?
Ich habe zwei EyeTVs im lokalen Netz - einen USB-Stick an meinem Hauptrechner, sowie eine SCM-Karte in einem alten Powerbook Titanium.
Natürlich würde ich das Titanium auch gerne direkt aus dem TV-Browser programmieren können.
ja das Projekt ist noch aktiv. Ich verzweifle gerade an der Programmierung des Schlüsselbundes. Will die Passwörter dort abspeichern, aber ich bekomme das nicht mit Java hin! Kannst du dabei helfen?
Robert
Re: Remote EyeTV
Ups war nicht eingeloggt! RobertAnonymous hat geschrieben:Hallo,fesh hat geschrieben:Hallo,
ist bei diesem Projekt noch was passiert?
Ich habe zwei EyeTVs im lokalen Netz - einen USB-Stick an meinem Hauptrechner, sowie eine SCM-Karte in einem alten Powerbook Titanium.
Natürlich würde ich das Titanium auch gerne direkt aus dem TV-Browser programmieren können.
ja das Projekt ist noch aktiv. Ich verzweifle gerade an der Programmierung des Schlüsselbundes. Will die Passwörter dort abspeichern, aber ich bekomme das nicht mit Java hin! Kannst du dabei helfen?
Robert
Re: Remote EyeTV
Also Schlüsselbundprogrammierung habe ich schon gemacht - mit C/C++, nicht mit Java. Aber ich würde gerne helfen.robertmk hat geschrieben:ja das Projekt ist noch aktiv. Ich verzweifle gerade an der Programmierung des Schlüsselbundes. Will die Passwörter dort abspeichern, aber ich bekomme das nicht mit Java hin! Kannst du dabei helfen?
Was kann ich tun?
Re: Remote EyeTV
Hi Fesh,fesh hat geschrieben:Also Schlüsselbundprogrammierung habe ich schon gemacht - mit C/C++, nicht mit Java. Aber ich würde gerne helfen.robertmk hat geschrieben:ja das Projekt ist noch aktiv. Ich verzweifle gerade an der Programmierung des Schlüsselbundes. Will die Passwörter dort abspeichern, aber ich bekomme das nicht mit Java hin! Kannst du dabei helfen?
Was kann ich tun?
C/C++ habe ich auch mal gemacht, aber hilft das hierbei weiter? Würde gerne mit Java einen eintrag im Schlüselbung ablegen und auslesen. Ich weiß, dass es eine KeyChain API gibt, aber leider funktioniert das ganze nicht. Oder besser gesagt, wahrscheinlich mache ich was falsch. Ich kann auch leider keine Anleitung oder Code Beispiele im Netz finden. Ich habe gesehen, dass der FTP-Client Cyberduck dies macht - und der ist Java, also muss es funktionieren. Hast du da ein Beispiel für mich? Also ich will das Passwort des anderen Rechners irgendwo abspeichern, damit man das nicht immer eingeben muss. Habe hier schon eine Verschlüsselung in Java implementiert, aber die benötigt immer einen MasterKey. Und wenn ich den im Code hinterlege ... du weißt schon, sicher ist das nicht die beste Lösung für sowas...
Ansonsten werde ich mal (nächste Woche - dann kann ich am we noch was fertig machen) eine Version ins Netz stellen. Dann kannst du mal testen
Robert
Re: Remote EyeTV
Cyberduck - This software is written by David V. Kocherrobertmk hat geschrieben:Würde gerne mit Java einen eintrag im Schlüselbung ablegen und auslesen. Ich weiß, dass es eine KeyChain API gibt, aber leider funktioniert das ganze nicht. Oder besser gesagt, wahrscheinlich mache ich was falsch. Ich kann auch leider keine Anleitung oder Code Beispiele im Netz finden. Ich habe gesehen, dass der FTP-Client Cyberduck dies macht - und der ist Java, also muss es funktionieren. Hast du da ein Beispiel für mich?
Robert
http://sudo.ch/~dkocher/
mailto:dkocher@sudo.ch
Frag ihn doch einfach...
Re: Remote EyeTV
Nerv. Ich darf keine Links posten! Egal. ich werde ihm mal eine Mail schicken. Danke.fesh hat geschrieben: Cyberduck - This software is written by David V. Kocher
mailto:dkocher@sudo.ch
Frag ihn doch einfach...
Robert
Re: Remote EyeTV
Hi Robert,
Ciao,
Marc
Und? Was bei rausgekommen?Anonymous hat geschrieben:ich werde ihm mal eine Mail schickenfesh hat geschrieben:Frag ihn doch einfach...
Ciao,
Marc
Anonymous hat geschrieben:Hallo alle zusammen,
ich habe mal jetzt eine lauffähige Version. Wer interesse hat, kann es hier testen. Wenn ihr Probleme oder Verbesserungen habt, gebt einfach bescheid. Freue mich über Kritik und Anregungen. Viel Spaß
Robert
Robert
Zuletzt geändert von robertmk am 08 Dez 2007, 12:40, insgesamt 1-mal geändert.