перетаскивание от Chrome в GEDIT работает нормально.
перетаскивание из приложения Chrome в Java в Windows работает, как и ожидалось. < /P>
Код: Выделить всё
$DISPLAY
< /code>
показывает: 0,11, значение x11 используется. < /p>
$XDG_SESSION_TYPE
< /code>
не возвращает никакого значения.
У меня также есть хром, установленный отдельно для интеграции JCEF.
Я попытался принудить режим X11, запустив: < /p>
export XDG_SESSION_TYPE=x11
Код: Выделить всё
import javax.swing.*;
import java.awt.*;
import java.awt.datatransfer.DataFlavor;
import java.awt.dnd.*;
public class DragDropSwingApp {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("Drag & Drop Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
JTextArea textArea = new JTextArea("Drop text here...");
textArea.setFont(new Font("Arial", Font.PLAIN, 16));
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setDropTarget(new DropTarget() {
@Override
public void drop(DropTargetDropEvent dtde) {
try {
dtde.acceptDrop(DnDConstants.ACTION_COPY);
Object data = dtde.getTransferable().getTransferData(DataFlavor.stringFlavor);
textArea.setText(data.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
});
frame.add(new JScrollPane(textArea), BorderLayout.CENTER);
frame.setVisible(true);
});
}
}
Drag & Drop Demo
body { font-family: Arial, sans-serif; text-align: center; margin-top: 50px; }
.draggable { padding: 10px; background-color: lightblue; width: 300px; margin: auto; cursor: grab; }
Drag this text into the Java application
Hello from the Web!
document.getElementById("dragText").addEventListener("dragstart", function(event) {
event.dataTransfer.setData("text/plain", event.target.innerText);
});
< /code>
вещи, которые я проверил Обработка: если бы это была проблема JCEF, то перетаскивание из Chrome должно работать, но это не так. < /P>
< /li>
[*] Метод пазы были проблемой Java, метод должен вызвать отладки, но он не получает событие от Chrome. Подозревает, что это может быть связано с обработкой буфера обмена между приложениями Chrome и Java на Linux. Но после установки xclip boopburt at redhat 8 выпуска все еще сохраняется. > Почему перетаскивание терпит неудачу только из Chrome, но работает с Firefox? Аргументы, позволяющие перетаскивать, из всех приложений? >
< /li>
является этой проблемой, связанной с TransferHandler.canimport () < /code> не вызывается при перетаскивании из хрома в Ubuntu (JDK-8299842 ), и есть ли какое -либо известное разрешение для этого?
Любые идеи или предложения отладки будут высоко оценены!
Подробнее здесь: https://stackoverflow.com/questions/794 ... on-on-linu
Мобильная версия