Я пытаюсь скопировать значение текстового поля в буфер обмена смартфона. Но я «активирую» встроенную опцию «копировать-вставить» моего телефона, как обычно, и делаю Копирование, но скопированное значение доступно ТОЛЬКО в приложении, а не за его пределами.
РЕДАКТИРОВАТЬ: Я реализовал жест «удерживать нажатой», из приведенного ниже примера: Действие копирования текстового поля при длительном удержании (всплывающее окно копирования)
Но это работает только внутри приложения. Я не могу получить доступ к системному буферу обмена. Я могу сделать скопировать и вставить внутри приложения. Но не вставляйте снаружи и не копируйте что-либо извне, а вставляйте это внутри приложения.
Поэтому я запускаю событие (нажатие кнопки), которое должно скопировать текст в буфер обмена
Это часть кода, которая отлично работает на рабочем столе, но ничего не копирует вбуфер обмена смартфона.
TextField textfield = new TextField();
Button b = new Button("copy");
b.setOnAction(event -> {
Clipboard clipboard = Clipboard.getSystemClipboard();
//Alert to have some Information about the content of the clipboard
Alert alert = new Alert(AlertType.INFORMATION);
alert.setContentText("clipboard content before: " + clipboard.getContent(DataFormat.PLAIN_TEXT));
alert.showAndWait();
ClipboardContent content = new ClipboardContent();
content.put(DataFormat.PLAIN_TEXT, textfield.getText());
clipboard.setContent(content);
});
Есть ли что-то другое на смартфоне?
Или я могу заставить "родные" функции копирования и вставки работать в приложении?
На рабочем столе предупреждениевсегда будет отображать последний скопированный контент.
на смартфоне это всегда null , несмотря ни на что.
Есть идеи, как мне подойти к этому?