-1
每當Ctrl + C被按下時,我想將剪貼板內容作爲元素添加到JList
。基本上,我想要下面的代碼執行時Ctrl + C被按下。如何攔截剪貼板操作並將它們添加到JList?
我該怎麼做?
current=getClipboardContents();
model.addElement(current);
current
是在剪輯類String
和model
是JList
每當Ctrl + C被按下時,我想將剪貼板內容作爲元素添加到JList
。基本上,我想要下面的代碼執行時Ctrl + C被按下。如何攔截剪貼板操作並將它們添加到JList?
我該怎麼做?
current=getClipboardContents();
model.addElement(current);
current
是在剪輯類String
和model
是JList
你可能會使用Key Bindings這個默認的模式。
的擊鍵動作看起來是這樣的:
Transferable t = c.getContents(null);
if (t.isDataFlavorSupported(DataFlavor.stringFlavor))
{
Object o = t.getTransferData(DataFlavor.stringFlavor);
String data = (String)t.getTransferData(DataFlavor.stringFlavor);
}
是I M連續讀取系統剪貼板
不聽起來像是一個非常好的設計。在複製內容並將其添加到JList之前,如果剪貼板中的某些內容被替換,該怎麼辦?
無論如何,你已經被賦予了從剪貼板複製文本的代碼。我將使用Timer來安排輪詢,以便在EDT上完成對ListModel的更新。
你爲什麼認爲這需要一個單獨的線程?如果它是一個Swing應用程序,爲什麼不讓Swing線程處理它? – duffymo
Olease用你的queszion摘要替換「java help please」,比如「剪輯板訪問」或某些有意義的東西。 –
您是否試圖不斷閱讀剪貼板並將其內容複製到您的應用程序中?在這種情況下,Ctrl + C意味着什麼?這是用於控制檯應用程序,而不是基於GUI的應用程序。 –