Java 如何截取剪贴板操作并将其添加到JList?
无论何时按下Ctrl+C,我都希望将剪贴板内容作为元素添加到Java 如何截取剪贴板操作并将其添加到JList?,java,clipboard,Java,Clipboard,无论何时按下Ctrl+C,我都希望将剪贴板内容作为元素添加到JList。基本上,我希望在按下Ctrl+C时执行下面的代码 我该怎么做 current=getClipboardContents(); model.addElement(current); current是Clip类中的String,而model是JList的默认模型,您可能会使用它 击键的操作类似于: Transferable t = c.getContents( null ); if ( t.isDataFlavorSuppo
JList
。基本上,我希望在按下Ctrl+C时执行下面的代码
我该怎么做
current=getClipboardContents();
model.addElement(current);
current
是Clip类中的String
,而model
是JList
的默认模型,您可能会使用它
击键的操作类似于:
Transferable t = c.getContents( null );
if ( t.isDataFlavorSupported(DataFlavor.stringFlavor) )
{
Object o = t.getTransferData( DataFlavor.stringFlavor );
String data = (String)t.getTransferData( DataFlavor.stringFlavor );
}
是的,我一直在读系统剪贴板
听起来不是很好的设计。如果在复制内容并将其添加到JList之前,剪贴板中的某些内容被替换,该怎么办
无论如何,您已经获得了从剪贴板复制文本的代码。我会使用计时器来安排轮询,以便在EDT上完成对ListModel的更新。为什么您认为这需要一个单独的线程?如果它是一个Swing应用程序,为什么不让Swing线程来处理它呢?请用您的问题摘要来代替“java帮助”,比如“clip board access”或其他有意义的东西。您是否在尝试持续读取剪贴板并将其内容复制到您的应用程序中?在此上下文中,Ctrl+C是什么意思?这适用于控制台应用程序,而不是基于GUI的应用程序。应为Ctrl+V,这是Windows(和其他应用程序)将剪贴板内容粘贴到应用程序中的标准方式。如果用户在MS Word(或任何其他应用程序)处于焦点时按Ctrl-C,您是否希望在
JList
中看到复制的文本?