我有一个转换 LaTeX 公式并将其放入 JLabel 图标的应用程序。现在我想将此图标拖放到应用程序之外,例如拖放到某个目录(正在创建图像文件)或某些文本(邮件、文档等)
谷歌搜索它,我只找到了将图标拖到我的应用程序的另一个组件或将文本拖到我的应用程序之外的方法,但没有结合这些方法我得到了我的目标..
编辑 - 25/05/2013
为简单起见,假设我有一个文本标签,我想将标签的文本拖放到我的应用程序之外(我认为如果我能完成这项工作,那么使用图标标签做同样的事情不会那么困难):
Jlabel label = new JLabel("Text");
label.setTransferHandler(new TextTransferHandler());
我接受了 Guillaume Polet 的建议,并编写了以下课程:
public class TextTransferHandler extends TransferHandler {
@Override
public int getSourceActions(JComponent c) {
return COPY;
}
@Override
protected Transferable createTransferable(JComponent c) {
JLabel label = (JLabel)c;
return new StringSelection(label.getText());
}
}
但是当我尝试拖动标签上的文本时,什么也没有发生(在我的应用程序的另一个组件中或应用程序之外)