Tag: 剪贴板

Android – 将图像复制到剪贴板,任何人都有这个工作?

我正在尝试将图像文件从我的apk复制到剪贴板。 以下是我如何接近它(粗略地说,我在本地使用的内容提供商超出了问题的范围。 ClipboardManager mClipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ContentValues values = new ContentValues(2); values.put(MediaStore.Images.Media.MIME_TYPE, “Image/jpg”); values.put(MediaStore.Images.Media.DATA, filename.getAbsolutePath()); ContentResolver theContent = getContentResolver(); Uri imageUri = theContent.insert(MediaStore.Images.Media.INTERNAL_CONTENT_URI, values); ClipData theClip = ClipData.newUri(getContentResolver(), “Image”, imageUri); mClipboard.setPrimaryClip(theClip); 使用此代码可能会发生两件事: 1)java.lang.IllegalStateException:无法创建新文件2)粘贴时只粘贴URI本身,而不是图像(即使在兼容的应用程序中) 我没有看到任何人在Android工作中获得图像粘贴的任何例子,我已经广泛搜索了答案,无论是谷歌还是堆栈溢出。 有人能帮忙吗? 我真的很感激有人帮助。 PS:如果这是不可能的话,我也想知道,为了节省浪费时间。 谢谢!

Java线程在没有关注OSX时进入hibernate状态

我正在编写一个程序来监听系统剪贴板的更改。 侦听器在单独的线程上运行,并在剪贴板的内容发生更改时执行某些操作(例如,写入文件)。 我正在使用ClipboardOwner接口轮询剪贴板,这样当我的程序失去剪贴板的所有权(意味着另一个进程已经修改了剪贴板)时,我的程序中会触发一个事件让我读取更改。 public class OwnershipClipboardListener extends Thread implements ClipboardOwner { private Clipboard clipB = Toolkit.getDefaultToolkit().getSystemClipboard(); public void run() { /* Initialize ClipboardListener and gain ownership of clipboard */ } @Override public void lostOwnership(Clipboard clipboard, Transferable transferable) { /* Auto-fired when I lose Clipboard ownership. Can do processing and regaining ownership here */ } } […]

将图像设置为剪贴板 – Java

我正在使用java创建一个程序,通过套接字发送剪贴板内容; 我设法让它与字符串一起工作,但我遇到了一些图像问题。 这是代码: //get Image Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); Image imageContents = (Image)clipboard.getData(DataFlavor.imageFlavor); ImageIcon image = new ImageIcon(imageContents); //sent over sockets //set Image String mime = DataFlavor.imageFlavor.getMimeType(); DataHandler contents = new DataHandler(image,mime); //set clipboard clipboard.setContents(contents, null); 在setContents之后,剪贴板为空; 任何想法为什么,以及如何解决它?

当剪贴板内容在java之外更改时,是否可以获得通知

我想要做的是当用户在任何程序(firefox,notepad,pdfReader等)中复制文本时,我的已经运行的java应用程序将被通知并立即显示弹出窗口。 我认为为了能够做到这一点,只要系统剪贴板发生变化,就应该调用我的java应用程序。 这有可能与java,如果是这样在哪个版本? 我知道我们可以访问和操作系统剪贴板内容,但我的具体问题是关于调用java应用程序。 剪贴板内容更改时。 谢谢

是否可以使用awt.Toolkit和java中的剪贴板知道剪贴板中复制的内容是否是mp3文件

我正在尝试编写一个在后台运行的代码,并监视复制.mp3 文件或包含 .mp3文件的文件夹的复制操作 { Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); if (cb.isDataFlavorAvailable(DataFlavor.javaFileListFlavor)) { try { String name = “”+cb.getData(DataFlavor.javaFileListFlavor); boolean found = false; if (name.toLowerCase().endsWith(“.mp3]”)) { System.out.println(“Is MP3”); found = true; } if (!found) { System.out.println(“Is not MP3”); } } catch(UnsupportedFlavorException ex) { ex.printStackTrace(); } catch(IOException ex) { ex.printStackTrace(); } } }

无法从MAC OSX上的后台Java应用程序复制到剪贴板

我们在MAC上运行了2个java应用程序。 一个后台应用程序将文本或图像发送到剪贴板,然后另一个应用程序抓取该数据并将其粘贴到其应用程序中。 当应用程序在剪贴板上复制某些内容时,我们遇到此问题,后台应用程序将无法更新剪贴板,直到其UI变为活动状态。 是否有解决此剪贴板问题的方法? 这适用于Windows和Linux,它似乎只是MAC上的一个问题。

格式化的cliboard Java

我在尝试找出如何在保存到系统剪贴板时保留Java程序中的文本格式时遇到问题。 它不适用于Microsoft的Wordpad或Lotus Symphony之类的东西。 相反,如果我在Word中创建一个格式化的字符串并将其复制,那么它会在我尝试将其粘贴到的所有试用案例中正常工作。 我不想使用任何外部源,如org.eclipse。*。 以下是我编译的一些链接,可以帮助我指出正确的方向。 我觉得好像我没有使用正确的数据风味? http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/datatransfer/DataFlavor.html 我发现这个链接谈论了很多关于dataflavors的内容,但是没有说明哪一个用于格式化文本。 我确实理解这可能在每个操作系统上都不一样,我需要检查以确保它在我使用的操作系统上受支持。 http://www.javaworld.com/cgi-bin/mailto/x_java.cgi?pagetosend=/export/home/httpd/javaworld/javaworld/javatips/jw-javatip61.html&pagename=/javaworld/javatips/jw-javatip61。 HTML&PAGEURL = HTTP://www.javaworld.com/javaworld/javatips/jw-javatip61.html&site=jw_core 感谢您在高级方面的所有帮助,我真的很感激! 担 编辑 我目前正在使用以下代码: http : //lists.apple.com/archives/java-dev/2004/Jul/msg00359.html并进行了一些小的更改。 我目前遇到的问题是,我需要以两种不同的格式将数据传输到剪贴板。 “text / rtf”和“text / plain”看到某些程序不支持RTF。 我在剪贴板中使用剪贴板内部的内容。 我可以成功地放置RTF或纯文本,但不能同时放置。 当我这样做时,只添加最后一个。 非常感谢您的帮助! 总之,我不能同时设置具有两种不同数据风格的剪贴板。 import java.awt.datatransfer.*; import java.io.*; public class clipBoard { public static final String RTF_STRING = “{\\rtf1\\ansi\\deff0 {\\fonttbl {\\f0 Courier;}}\r \n{\\colortbl;\\red0\\green0\\blue0;\\red255\\green0\\blue0;}\r\nThis line is the default […]

Java:使用剪贴板在同一应用程序的不同实例之间复制粘贴java对象

我试图在同一个应用程序的不同实例之间实现对象的复制粘贴。 目前它只能在一个应用程序中工作(我的意思是,在同一个应用程序实例中复制和粘贴),但在不同的实例之间不起作用。 复制代码: // MyObject is a class of objects I want to copy/paste; // MyObjectSelection is a class that impements Transferable and ClipboardOwner interfaces Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); MyObject data = new MyObject(selectedItems); MyObjectSelection dataSelection = new MyObjectSelection(data); clipboard.setContents(dataSelection, this); 之后,我可以检查剪贴板的内容,如下: Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable clipboardContent = clipboard.getContents(this); DataFlavor[] flavors = clipboardContent.getTransferDataFlavors(); System.out.println(“flavors.length=” […]

使用html制作一个JEditorPane将正确格式化的文本放入剪贴板中

我有这段代码来演示这个问题: public static void main(String[] args) { JFrame frame = new JFrame(); frame.getContentPane().add(new JEditorPane(“text/html”, “Hello cruel world\nGoodbye cruel world\n\nHello again\n”)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } 如果您选择应用程序启动后框架中显示的所有文本,您可以将其复制并粘贴到MS Word,Apple的页面或邮件中,文本格式正确。 但是,如果将其粘贴到纯文本编辑器(如TextEdit,Smultron或Skype聊天窗口)中,则所有粘贴的内容都在一行中。 如何才能将复制到剪贴板的文本粘贴到保留的换行符? 我在Mac OS X 10.7上运行我的代码

Mac OS X上的剪贴板监控| Java的

我在Mac OS X上从系统剪贴板获取数据时遇到了麻烦。我要做的是每次在其中放入新的[基于文本的]信息时,都要收听系统剪贴板并打印剪贴板的内容。 问题:下面的代码在Windows 7和openSUSE Linux机器上运行得非常好,但是当我尝试在Mac OS X上运行相同的代码时,程序无法打印剪贴板的新内容,直到关注应用程序。 [在我点击底座上的应用程序图标之前,没有任何内容打印…] 我的源代码: import java.awt.Toolkit; import java.awt.datatransfer.*; import java.io.IOException; public class ClipboardListener extends Thread implements ClipboardOwner { Clipboard systemClipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); public void run(){ Transferable selection = systemClipboard.getContents(this); gainOwnership(selection); } public void gainOwnership(Transferable t){ try {this.sleep(100);} catch (InterruptedException e) {e.printStackTrace();} systemClipboard.setContents(t, this); } public void lostOwnership(Clipboard clipboard, Transferable […]