1

我正在尝试获取从 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()));
    }

}
4

0 回答 0