Hallo miteinander!
Ich habe folgendes Problem: Ich befinde mich in meinem Programm in einem Modus, der die Funktionen der Maus im Grunde deaktiviert. Ich möchte nun aber bei den angeklickten Components trotzdem an deren ContextMenus rankommen. Dafür habe ich bei den entsprechenden Klassen ein Interface IContextMenuProvider mit der Methode getContextMenu() implementiert.
Mein Problem ist jetzt aber, dass ich bei der gewählten Komponente überprüfen muss, ob es sich um eine solche handelt, die dieses Interface implementiert. Das habe ich so versucht:
Mein Problem hier ist aber, dass er trotz Gleichheit garnicht merkt, dass obj eine Instance von IContextProvider ist... :autsch: :bahnhof:
Denn wenn ich eben dieses Interface gefunden habe, dann möchte ich auch dessen Methode in der geklickten Component ausführen... :?
Kann mir bitte irgendwer helfen?
Jens
Ich habe folgendes Problem: Ich befinde mich in meinem Programm in einem Modus, der die Funktionen der Maus im Grunde deaktiviert. Ich möchte nun aber bei den angeklickten Components trotzdem an deren ContextMenus rankommen. Dafür habe ich bei den entsprechenden Klassen ein Interface IContextMenuProvider mit der Methode getContextMenu() implementiert.
Mein Problem ist jetzt aber, dass ich bei der gewählten Komponente überprüfen muss, ob es sich um eine solche handelt, die dieses Interface implementiert. Das habe ich so versucht:
Code:
Class[] interfaces = component.getClass( ).getInterfaces( );
for( int test = 0; test < interfaces.length; ++test ) {
Object obj = interfaces[ test ];
if( obj instanceof IContextMenuProvider ) {
IContextMenuProvider prov = (IContextMenuProvider)obj;
contextMenu = prov.getContextMenu( );
enableContextMenu( );
return true;
}
}
Mein Problem hier ist aber, dass er trotz Gleichheit garnicht merkt, dass obj eine Instance von IContextProvider ist... :autsch: :bahnhof:
Denn wenn ich eben dieses Interface gefunden habe, dann möchte ich auch dessen Methode in der geklickten Component ausführen... :?
Kann mir bitte irgendwer helfen?
Jens