2012-04-17 4 views
9

Sto riscontrando problemi nel ricevere dati dagli Appunti di sistema su Mac OS X. Quello che sto cercando di fare è ascoltare gli appunti di sistema e stampare il contenuto degli Appunti ogni volta che nuove informazioni [basate su testo] sono metterci dentroMonitoraggio degli appunti su Mac OS X | Java

Il problema: soffietto codice funziona perfettamente bene su Windows 7 e macchine openSUSE Linux, tuttavia quando provo esegue lo stesso codice su Mac OS X il programma non riesce a stampare il nuovo contenuto degli appunti fino attenzione viene data alla domanda . [Non viene stampato niente fino a quando clicco sull'icona dell'applicazione sul dock ...]

mio codice sorgente:

import java.awt.Toolkit; 
import java.awt.datatransfer.*; 
import java.io.IOException; 

public class ClipboardListener extends Thread implements ClipboardOwner { 

    Clipboard systemClipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 

    public void run(){ 
     Transferable selection = systemClipboard.getContents(this); 
     gainOwnership(selection); 
    } 

    public void gainOwnership(Transferable t){ 
     try {this.sleep(100);} 
     catch (InterruptedException e) {e.printStackTrace();} 
     systemClipboard.setContents(t, this); 
    } 

    public void lostOwnership(Clipboard clipboard, Transferable contents) { 
     try {System.out.println((String) clipboard.getData(DataFlavor.stringFlavor));} 
     catch (UnsupportedFlavorException e) {} 
     catch (IOException e) {} 
     gainOwnership(contents); 
    } 
} 

public class myApp { 

    public static void main(String[] args){ 
     ClipboardListener listener = new ClipboardListener(); 
     listener.start(); 
     while(true){}} 

} 

Quello che mi manca/facendo di sbagliato?

[Update] ho trovato problema simile postato qui: Java thread goes to sleep when not in focus on OSX Tuttavia utilizzando il "java-jar myApp.jar &" comando non ha funzionato come una soluzione per me.

+0

Hai trovato un modo per risolvere questo problema? Ho anche bisogno della stessa cosa. –

+0

Purtroppo no. –

risposta