ich habe folgendes Problem:
Ich möchte einen KeyHandler am liebsten für eine Zelle registieren und dann beim Drücken von Tasten auf das Ereignis regieren und auf die Zelle, in der diese Tasten gedrückt wurden, zuzugreifen.
Bisher registiere ich den Handler am XExtendedToolkit des XSpreadsheetDocuments und zwar so:
Code: Alles auswählen
XSpreadsheet document = ........
.......
XModel model = qI(document);
XController controller = model.getCurrentController();
controller.addEventListener(new TestKeyHandler());
XWindow window = controller.getFrame().getContainerWindow();
XWindowPeer windowPeer = qI(window);
XExtendedToolkit toolkit = qI(windowPeer.getToolkit());
toolkit.addKeyHandler(new TestKeyHandler());
Code: Alles auswählen
public static <TTarget> TTarget qI(Object instance, TTarget... classes)
throws Exception {
Class<?> targetInterface = null;
if (classes.length == 0) {
targetInterface = classes.getClass().getComponentType();
} else if (classes.length == 1) {
targetInterface = classes[0].getClass();
} else {
throw new IllegalArgumentException(
"Only one interface is supported! Given:"
+ Arrays.toString(classes));
}
return (TTarget) UnoRuntime.queryInterface(targetInterface, instance);
}
Bin für jede Hilfe dankbar!
Gruß Konstantin