【问题标题】:How do I read data posted to the System Clipboard from Windows Math Input Panel in Java. What is the data flavor?如何从 Java 中的 Windows 数学输入面板读取发布到系统剪贴板的数据。什么是数据风味?
【发布时间】:2013-05-21 20:17:23
【问题描述】:

我正在尝试从 Windows 数学输入面板中读取 mathML 剪贴板内容,但是当我在 getSystemClipboard 的结果中从 FlavorListner 的 FlavorEvent 中检查 getAvailableFlavors 时,风味列表为空。

这是否意味着没有希望,或者我有办法添加新的 Flavor 以允许我访问 MathML 内容?

如果可以的话,我宁愿留在 Java 中,尽管如果这是唯一的方法,那么清晰的 C# 代码会很有帮助。

【问题讨论】:

  • 看看Clipboard#getAvailableDataFlavors。基本上,在 ynhave 从 MathML 复制某些内容并检查可用的内容之后,您需要列出所有数据偏好
  • 我试过但没有合适的味道:public static void main(String[] args) { Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener(new FlavorListener() { @Override public void flavorsChanged(FlavorEvent e) { DataFlavor[] f=((Clipboard)e.getSource()).getAvailableDataFlavors(); for (DataFlavor df: Arrays.asList(f)){ System.out.println("Flav:["+df.getHumanPresentableName()+"]" +"\n\tMime:"+df.getMimeType()); } } }); }

标签: java windows clipboard mathml


【解决方案1】:

这是 MathML 演示文稿。还有一个简单的 MathML 风格,但它们的内容是相同的。正如 ClipSpy 所报告的那样,但实际上我知道如果 MIP 下方有一个 MathML 知识应用程序,它应该正确插入。

【讨论】:

  • 在调试器中,我可以看到WClipboard static flavorMap getFlavorsForNaticCache 中的“MathML Presentation”和“MathML”条目作为软参考,但在nativeToFlavor 映射中看不到。这是否意味着我需要为“MathML Presentation”制作一种风格并将其放在这张地图中?然后我告诉它要实例化什么类?我对此很好,但我并没有真正看到 Java 允许我告诉它可以使用一些任意类。会吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-06
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多