Vielleicht vorab zur Erklärung meine UI:
Bislang bestand die Schwierigkeit darin, daß ich OOo nicht so ohne weiteres den Focus zugunsten der darunterliegenden TitledPanel klauen konnte.
Die Anwendung hing heil- und hemmungslos. Dank dem fantastischen Tip von Wildcard, den Focuswechsel nicht mehr mit "JXTitledPanel.requestFocus()", sondern mit
durchzuführen, klappte die Sache wunderbar.
Nun wäre es ja aber äußerst hilfreich, wenn die Java-Anwendung den Focus-Verlust und den Focus-Erhalt des OOo-Frames registrieren würde.
Und weiterhin zu einem späteren Zeitpunkt dem OOo-Frame (der in ContentContainer eines JXTitledPanels liegt) den Focus sogar wieder zuteilt.
Bislang habe ich folgendes getestet:
Die Methoden focusGained und focusLost bekommen Null Komma Null Event. Lediglich die disposing-Methode wird aufgerufen wenn das Fenster geschlossen wird.
Dann habe ich es mit folgendem Konstrukt versucht:
Ebenfalls keine Chance - null Information über die Focus-Verhältnisse.
Hat jemand eine Idee was ich noch versuchen könnte.
Grüße
Jürgen
Bislang bestand die Schwierigkeit darin, daß ich OOo nicht so ohne weiteres den Focus zugunsten der darunterliegenden TitledPanel klauen konnte.
Die Anwendung hing heil- und hemmungslos. Dank dem fantastischen Tip von Wildcard, den Focuswechsel nicht mehr mit "JXTitledPanel.requestFocus()", sondern mit
Code:
SwingUtilities.invokeLater(new Runnable(){
public void run()
{
"JXTitledPanel.requestFocusInWindow();"
}
});
Nun wäre es ja aber äußerst hilfreich, wenn die Java-Anwendung den Focus-Verlust und den Focus-Erhalt des OOo-Frames registrieren würde.
Und weiterhin zu einem späteren Zeitpunkt dem OOo-Frame (der in ContentContainer eines JXTitledPanels liegt) den Focus sogar wieder zuteilt.
Bislang habe ich folgendes getestet:
Code:
final XWindow myWindow = (XWindow)
UnoRuntime.queryInterface (XWindow.class,frame.getXFrame().getContainerWindow());
myWindow.addFocusListener(new XFocusListener(){
public void focusGained(FocusEvent arg0) {
System.out.println("FocusEvent Focus bekommen");
return;
}
public void focusLost(FocusEvent arg0) {
System.out.println("FocusEvent Focus verloren");
return;
}
public void disposing(EventObject arg0) {
System.out.println("FocusEvent Meldung Disposing eingegangen");
return;
}
});
Die Methoden focusGained und focusLost bekommen Null Komma Null Event. Lediglich die disposing-Methode wird aufgerufen wenn das Fenster geschlossen wird.
Dann habe ich es mit folgendem Konstrukt versucht:
Code:
doc.addDocumentListener(new DocumentAdapter(){
public void onFocus(IDocumentEvent documentEvent) {
System.out.println("focusGained2");
}
});
Ebenfalls keine Chance - null Information über die Focus-Verhältnisse.
Hat jemand eine Idee was ich noch versuchen könnte.
Grüße
Jürgen