Mit dem ClipboardObserver hat man die Zwischenablage im “Griff” und kann auf bestimmten Inhalt reagieren / oder auch reagieren lassen.
Wie funktioniert das ganze?
Nehmen wir an wir haben eine Klasse Test.java welche eine Methode enthält die, die Aufgabe hat die Zwischenablage auf einen String Wert zu analysieren.
Wir implementieren das Interface IObservable und übernehmen damit die Methode doAction welche vom ClipboardObserver aufgerufen wird.
public class Test implements IObservable{ @Override public void doAction(EClipboardDataFlavor clipboardDataFlavour, Object data) { System.out.println(data); } }
Hier nun noch die Startklasse, welche unsere Klasse Test.java dem ClipboardObserver bekannt macht und somit automatisch aufruft.
Unserer ClipboardObserver lauscht jetzt an der Zwischenablage und immer, wenn ein String Wert enthalten ist, wird die Methode doAction auf der Klasse Test.java ausgeführt.
public class TestClipboardObserver { public static void main(String[] args) { ClipboardObserver.getInstance().addObservable(EClipboardDataFlavor.STRING, new Test()); } }
Eine ausführliche Erklärung zu den Klassen, Interfaces, Enum’s und Methoden habe ich in einem JavaDoc zusammengefasst.