每当按下 Ctrl + C 时,我想将剪贴板内容作为元素添加到JList
。基本上,我希望在按下 Ctrl + C 时执行下面的代码。
我该怎么做?
current=getClipboardContents();
model.addElement(current);
current
是Clip类中的String
,model
是JList
的默认模型
答案 0 :(得分:1)
您可能会使用Key Bindings。
KeyStroke的动作类似于:
Transferable t = c.getContents( null );
if ( t.isDataFlavorSupported(DataFlavor.stringFlavor) )
{
Object o = t.getTransferData( DataFlavor.stringFlavor );
String data = (String)t.getTransferData( DataFlavor.stringFlavor );
}
是的,我不断阅读系统剪贴板
听起来不是一个很好的设计。如果在复制内容并将其添加到JList之前在剪贴板中替换了某些内容会怎样?
无论如何,你已经获得了从剪贴板中复制文本的代码。我会使用Timer来安排轮询,以便在EDT上完成对ListModel的更新。