我正在尝试获取从 CakeWalk midi 编辑器“复制”的剪贴板数据(在 Windows 中)。它们在剪贴板查看器中可见,并且可以粘贴到其他程序中,但我无法在 java 程序中获取它们。
当来自 cakewalk 的 midi 数据在剪贴板中时,以下代码片段返回空数组。例如,当从记事本复制文本时,它会返回多达 30 种“风味”。我究竟做错了什么?
import java.util.*;
import java.awt.*;
import java.awt.datatransfer.*;
public class TestClipboard {
public static void main(String... args) {
Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
System.out.println(Arrays.toString(c.getContents(TestClipboard.class).getTransferDataFlavors()));
c = Toolkit.getDefaultToolkit().getSystemSelection();
System.out.println(Arrays.toString(c.getContents(TestClipboard.class).getTransferDataFlavors()));
}
}