Hallo,
ich möchte die Zwischenablage überwachen. Funktioniert leider nicht so wie es soll.
Wenn ich in der selben Anwendung mehrmals hintereinander verschiedene Texte kopiere, werden alle nach dem ersten ignoriert. Wechsel ich zu einer anderen Anwendung kopiere dort nun etwas, dass kriegt der Listener wieder mit. ...
Kennt jemand das Problem?
Vg Erdal
ich möchte die Zwischenablage überwachen. Funktioniert leider nicht so wie es soll.
Wenn ich in der selben Anwendung mehrmals hintereinander verschiedene Texte kopiere, werden alle nach dem ersten ignoriert. Wechsel ich zu einer anderen Anwendung kopiere dort nun etwas, dass kriegt der Listener wieder mit. ...
Kennt jemand das Problem?
Vg Erdal
Java:
package test;
import java.awt.Toolkit;
import java.awt.datatransfer.*;
import java.io.IOException;
public class Test implements FlavorListener {
private Clipboard systemClipboard;
private Transferable transferData;
public Test() {
Clipboard systemClipboard = Toolkit.getDefaultToolkit()
.getSystemClipboard();
systemClipboard.addFlavorListener(this);
}
public static void main(String[] args) {
new Test();
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
public void flavorsChanged(FlavorEvent e) {
systemClipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
transferData = systemClipboard.getContents(null);
try {
String data = "";
if (transferData != null) {
data = (String) transferData
.getTransferData(DataFlavor.stringFlavor);
System.out.println(data);
} else {
System.out.println("null");
}
} catch (UnsupportedFlavorException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}