2012-04-04 24 views
1

我正在嘗試一個非常簡單的覆蓋。我只想將一行代碼添加到「文本」TransferHandler的importData中。我的問題是,我找不到我需要複製到我的覆蓋方法之前的代碼我的一行代碼!如何覆蓋JLabel importData

public class JLabelTransferHandler extends TransferHandler 
{ 
    private Logger logger; // My error logging class 

    public JLabelTransferHandler() 
    { 
     super("text"); 
     logger = LoggerFactory.getLogger(this.getClass()); 
    } 

    public boolean importData(TransferSupport support) 
    { 
     // WHAT GOES HERE????? 
     logger.info("Data imported");   
     return true; 
    } 
} 
+1

你看過Swing教程嗎?特別是[此鏈接](http://docs.oracle.com/javase/tutorial/uiswing/dnd/transfersupport.html)? – 2012-04-04 23:36:33

回答

4

每教程,看起來你應該先檢查,看看你的組件支持此味型的轉移,所以你會打電話的canImport(...)方法(一個你很可能會需要重寫),如果是的話,從TransferSupport參數中提取Transferable,獲取它的String數據,然後把它放到你的JLabel中。簡單。再次,上面的鏈接顯示了所有。

+0

不幸的是,我一直在搜索「JLabel拖放」,該教程沒有提出。哎呀。 – 2012-04-05 00:39:14

+0

你是谷歌搜索太具體的問題。您只需要Google Java拖放,然後將所找到的內容擴展到JLabels。 – 2012-04-05 00:41:13

+0

我遇到的問題是我不知道如何將字符串數據放入我的JLabel中......我可以只做一個jLabelText.setText(data);其中「數據」是從可移植性中提取的字符串數據?所有示例都使用JLists和JTrees,並且具有這些複雜的「insertAt」方法以及放置位置。在TransferHandler中使用setText方法似乎很奇怪。 – 2012-04-05 00:54:17