Сначала я не работал с буфером обмена, но это кажется интересным
From http://docstore.mik.ua/orelly/java/awt/ch16_01.htm
"Чтобы прочитать данные из буфера обмена, программа вызывает метод Transferable.getTransferData ().Если данные представлены DataFlavor, который не соответствует классу Java (например, plainTextFlavor), getTransferData () возвращает InputStream для вас, чтобы вы могли читать данные из. "
Так что если вы дадите егокласс, который не соответствует, вы получаете InputStream, а затем вы можете прочитать «чистый» текст из InputStream самостоятельно.