[*] перетаскивание из Chrome в приложение Java в Windows работает, как и ожидалось. () никогда не вызывается.
среда:
Код: Выделить всё
$DISPLAY
Код: Выделить всё
$XDG_SESSION_TYPE
Код: Выделить всё
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()перетаскивание работ в других приложениях, таких как 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