Text Drag and Drop funktioniert nicht vom Chrombrowser zur Java -Anwendung unter Linux, funktioniert mit Firefox [geschlJava

Java-Forum
Anonymous
 Text Drag and Drop funktioniert nicht vom Chrombrowser zur Java -Anwendung unter Linux, funktioniert mit Firefox [geschl

Post by Anonymous »

Ich versuche, eine Tabellenzeile von Google Chrome in eine Java -Swing -Anwendung unter Linux zu ziehen, aber sie funktioniert nicht. Ich habe auch versucht, die Java -Anwendung zu debuggen, und ich bekomme keinen Anruf an Drop () oder canimportData () oder eine andere Methode des Java -Drop -Handlers. Die gleiche Drag & drop-Operation funktioniert jedoch bei der Verwendung von Firefox. Gedit funktioniert einwandfrei. -Bash PrettyPrint-Override ">$DISPLAY
< /code>
zeigt: 0.11, was bedeutet, dass x11 verwendet wird.$XDG_SESSION_TYPE
< /code>
Gibt keinen Wert zurück. Versucht, den X11-Modus zu erzwingen, indem Sie ausgeführt werden: < /p>
export XDG_SESSION_TYPE=x11
< /code>
Java-App mit Drop-Handler: < /p>
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>
HTML-Seite zum Ziehen von Text: < /p>





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>
Dinge, die ich überprüft habe: < /p>

[*] JCEF Drag-and-Drop-Handhabung: Wenn es ein JCEF wäre Problem, dann sollte das Ziehen von Chrome funktionieren, aber es tut nicht. Sollte das Debuggen auslösen, erhält das Ereignis jedoch nicht von Chrome. Handhabung zwischen Chrome- und Java -Anwendungen unter Linux. Aber nach der Installation von Xclip -Zwischenablage in Red Hat 8 bleibt das Problem weiterhin bestehen. />
Warum scheitert Drag & drop nur aus Chrom, aber mit Firefox arbeiten? < /p>
< /li>
Gibt es eine Möglichkeit, Java-Startargumente zu ändern, um Drag & Drop aus allen Anwendungen zu ermöglichen? MIME-Typ Handling oder Java-Sicherheitseinstellungen? und drop aus Chrom in Ubuntu (JDK-8299842), und dafür gibt es eine bekannte Auflösung dafür?

[/u]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post