cannot open system clipboard

xrax

Erfahrenes Mitglied
Hallo zusammen,

ich verwende seit geraumer Zeit problemlos folgende Code um zuvor mit Strg-C gespeicherten Text auszulesen:

Code:
Clipboard systemClipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable transferData = systemClipboard.getContents(null);
   for (DataFlavor dataFlavor : transferData.getTransferDataFlavors()) {
     content = transferData.getTransferData(dataFlavor);
       if ((content instanceof String)) {
           cont = (String)content;
          break;
        }
}

Nun wurde das Programm auf einen anderen Rechner installiert und bei diesem Wirft es in vielleicht 10% der Fälle folgende Exception:

Code:
java.lang.IllegalStateException: cannot open system clipboard
	at sun.awt.windows.WClipboard.openClipboard(Native Method)
	at sun.awt.datatransfer.ClipboardTransferable.<init>(Unknown Source)
	at sun.awt.datatransfer.SunClipboard.getContents(Unknown Source)

Auf dem neuen Rechner ist auch ein anderes JRE.

Ich verstehe nicht warum es beim ersten System klappt und beim zweiten nicht.
Was muss ich machen damits auch beim neuen System zuverlässig läuft?

Betsen Dank
xrax
 
Hi,

etwas präzisere Angaben zu den verwendeten Java-Versionen und dem Betriebssystem wären für die Fehlersuche schon erforderlich.

Quick-und-Dirty-Fix: Wenn die Exception geworfen wird, einfach 100ms warten, nochmal versuchen und erst beim zweiten Fehlschlag die Exception verarbeiten.

Grüße,
BK
 
Zurück