我正在将自定义对象拖放到 JLabel 中,并且能够在传输过程中引用该对象(将标签字符串更改为接收的对象 toString),但不确定如何将自定义对象实际存储在 JLabel 中或构建一个参考。
在转移过程中实现此目的的最佳方法是什么?
这是接收对象并使用它来设置文本的工作传输代码(非常感谢先前的答案:这里:
public boolean importData(TransferSupport support) {
boolean accept = false;
if (canImport(support)) {
try {
Transferable t = support.getTransferable();
Object value = t.getTransferData(PersonTransferable.PERSON_FLAVOR);
if (value instanceof Person) {
Component component = support.getComponent();
if (component instanceof JLabel) {
((JLabel)component).setText(((Person)value).toString());
//action here
}
}
} catch (Exception exp) {
exp.printStackTrace();
}
}
return accept;
}
JLabels 具有我想将它们存储到的特定实例变量。由于我有组件(JLabel)和值(自定义对象),我可以制作这个链接吗?
在最坏的情况下,我只需要为每个标签构建一个 TransferHandler 并准确引用该值。无论如何,这可能是最佳做法吗?