Tag: 剪贴板

java / swing:剪贴板粘贴

我有一个DropTargetListener设置,允许我将字符串拖放到我的Swing应用程序的某些表中 – 在一个drop上,我解析字符串并将数据插入表中。 我想用剪贴板粘贴(Ctrl-V)做同样的事情。 有哪些文献可以解释如何处理剪贴板粘贴? 我正在看Sun的网站上的一些东西,看起来很奇怪,这应该更简单。

Java系统剪贴板可以复制文件吗?

我使用Java系统剪贴板来传输文本和图像,但我想知道它是否可以复制和粘贴文件? 如果是这样我在哪里可以找到一些示例代码? 我发现了一个类似的问题: 如何使用Java复制文件并将其粘贴到剪贴板? 但我无处可找到“剪贴板”这个词,我不知道如何使用它。 我用来复制图像的方法如下所示: public static void setClipboard(Image image) // This method writes a image to the system clipboard : from exampledepot.com { ImageSelection imgSel=new ImageSelection(image); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(imgSel,null); } public Image getImageFromClipboard() // Get an image off the system clipboard { Transferable transferable=Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null); if (transferable!=null&&transferable.isDataFlavorSupported(DataFlavor.imageFlavor)) { try { return (Image)transferable.getTransferData(DataFlavor.imageFlavor); } catch (UnsupportedFlavorException e) […]

在更改剪贴板内容时调用方法

我正在尝试创建一个应该显示剪贴板内容的小桌面应用程序(如果它是一个字符串)。 我已经完成了一个构造函数,并且它运行良好,现在我只想在文本被复制到操作系统中的剪贴板时调用类似的方法。 我是新手,所以任何帮助将不胜感激! 有事告诉我,我应该以某种方式使用中断…… package pasty; import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class PastyFrame implements KeyListener { String currentClipboardString; JLabel clipboardLabel = new JLabel(); public PastyFrame() { JFrame frame = new JFrame(); frame.setVisible(true); try […]

听剪贴板更改,检查所有权?

如果将字符串复制到系统剪贴板,我希望收到通知。 从同一源应用程序复制新字符串时,FlavorListener将不会获取事件。 为了在复制另一个字符串时获得通知,我从剪贴板中读取字符串,将其转换为SrtingSelection,它可以获取所有权,并将其放回剪贴板。 现在,一旦StringSelection失去了所有权并且一旦收回它,我就得到了两次通知。 有没有办法直接检查所有权,而不是存储字符串并检查它是否等于新的? 这是我到目前为止的代码: import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.FlavorEvent; import java.awt.datatransfer.FlavorListener; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; public class Main { public static void main(String[] args) throws Exception { // The clipboard final Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); // read clipboard and take ownership to get the FlavorListener notified […]

复制/粘贴无法在签名的Applet中工作

我有一个签名的 applet(用jarsigner正确validation),由于某种原因不允许从系统剪贴板复制和粘贴到JTextField尽管文档告诉我它应该适用于签名的applet。 此外,我还有其他applet使用相同的密钥文件签名,让我复制和粘贴文本。 我在互联网上搜索高低,似乎无法找到任何线索。 是什么让我拉出我的头发是似乎没有办法调试这个(控制台没有输出 – 没有抛出exception)。 有没有人对如何调试这个有任何想法,以找出为什么Java不喜欢这个特定的applet? 非常感谢任何建议!