Many new things
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package org.openautonomousconnection.luascript.fx;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.scene.input.Clipboard;
|
||||
import javafx.scene.input.ClipboardContent;
|
||||
import org.openautonomousconnection.luascript.hosts.ClipboardHost;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/**
|
||||
* JavaFX clipboard host (text only).
|
||||
*/
|
||||
public final class FxClipboardHost implements ClipboardHost {
|
||||
|
||||
@Override
|
||||
public void setText(String text) {
|
||||
String s = text == null ? "" : text;
|
||||
Platform.runLater(() -> {
|
||||
ClipboardContent c = new ClipboardContent();
|
||||
c.putString(s);
|
||||
Clipboard.getSystemClipboard().setContent(c);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
AtomicReference<String> out = new AtomicReference<>("");
|
||||
FxThreadBridge.runAndWait(() -> {
|
||||
String s = Clipboard.getSystemClipboard().getString();
|
||||
out.set(s == null ? "" : s);
|
||||
});
|
||||
return out.get();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user