Текстовое перетаскивание не работает от браузера Chromium в Java Application на Linux, работает с FirefoxJAVA

Программисты JAVA общаются здесь
Anonymous
Текстовое перетаскивание не работает от браузера Chromium в Java Application на Linux, работает с Firefox

Сообщение Anonymous »

Я пытаюсь перетащить текст из Google Chrome в приложение Java Swing на Linux, но событие Drop не запускается в моем приложении Java. Однако та же самая операция по перетаскиванию хорошо работает в Firefox. GEDIT работает нормально. < /li>
[*] перетаскивание из Chrome в приложение Java в Windows работает, как и ожидалось. () никогда не вызывается.

среда:

Код: Выделить всё

$DISPLAY
output: : 0.11 (x11 используется).

Код: Выделить всё

$XDG_SESSION_TYPE
output: (значение не возвращается) . Запуск: < /p>

Код: Выделить всё

export XDG_SESSION_TYPE=x11
< /code>
Но проблема сохраняется. -Верд ">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);
});
}
}
< /code>
 вещи, которые я проверил: < /h3>

 Метод выброса Java никогда не вызывается:

drop()
не запускается при перетаскивании из Chrome, но работает с Firefox. Различия в Уэйленде:

перетаскивание работ в других приложениях, таких как Gedit. Проблема сохраняется. < /li>
< /ul>
< /li>
JCEF Integration & Cromium Conflicts:

У меня есть хром, установленный отдельно для JCEF, но это не должно влиять на поведение перетаскивания Java. >
Вопрос: < /h3>
Почему перетаскивание от Chrome в Java Swing выходит из строя, пока он работает с Firefox?

Я думаю Это может быть связано с TransferHandler.canimport () < /code> каким-то образом не вызван из Chromium в Ubuntu (JDK-8299842).

Подробнее здесь: https://stackoverflow.com/questions/794 ... on-on-linu

Вернуться в «JAVA»