2014-11-27 2 views
0

Я бы понял, способ поймать все ссылки, которые находятся в буфере обмена Windows, когда я выбираю и копирую текст HTML, но я не нашел примера для его реализации. Я уже знаю, как поймать строку из буфера обмена, но когда вы пытаетесь ее распечатать (или вставить), я потерял форматирование (и относительное href). Любая идея?Как поймать все ссылки, которые находятся в буфере обмена Windows?

+1

Вы можете извлечь данные из буфера обмена, как [DataFlavor.fragmentHtmlFlavor] (https://docs.oracle.com/javase/8/docs/api/java/awt/datatransfer/DataFlavor.html#fragmentHtmlFlavor), затем проанализируйте его для элементов '', но я не знаю формата буфера обмена, который включает в себя базу документов исходного HTML или любой другой способ разрешить относительный URL-адрес в атрибуте href. – VGR

ответ

0

@ VGR: Я нашел ваш ответ очень полезным. Я использую его, и я создал этот класс, который копирует все данные HTML. Теперь я делаю/ищу метод парсера, чтобы поймать ссылки, и проблема решена.

import java.awt.Toolkit; 
import java.awt.datatransfer.Clipboard; 
import java.awt.datatransfer.DataFlavor; 
import java.awt.datatransfer.UnsupportedFlavorException; 
import java.io.IOException; 

public class main 
{ 
    public static void main(String[] args) 
    { 
     Clipboard clipboard=Toolkit.getDefaultToolkit().getSystemClipboard(); 
     DataFlavor df=DataFlavor.allHtmlFlavor; 
     try 
     { 
      System.out.println("HTML of selected text="+clipboard.getData(df)); 
     } 
     catch(UnsupportedFlavorException|IOException exception) 
     { 
      exception.printStackTrace(); 
     } 
    } 
} 
Смежные вопросы