标签:java swing drag-and-drop jtable jtableheader
我正在使用JTable JScrollPane DefaultTableModel.
我需要在JTableHeader上实现Drag-n-Drop.我想将列标题拖动到我的组件并根据拖动的列执行一些操作.
我在我的JTableHeader上尝试了setTransferHandler(),但拖动仍然无法正常工作.
我在哪里可以开始?是否可以在JTableHeader上实现DnD并保存“移动列”功能(在JTable中可用的“开箱即用”)?
解决方法:
已解决:问题已结束.我已经实现了dnd使用
DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(tableHeader, ...)
有一点需要提及:dnd打破了默认的“重新排列”行为.我的解决方法是
public void dragGestureRecognized(DragGestureEvent dge) {
if (dge.getDragAction() == DnDConstants.ACTION_COPY)
return;
try {
dge.startDrag(null, new MyTransferable());
} catch (InvalidDnDOperationException e2) {
System.out.println(e2);
}
}
这样我就可以用ctrl-pressed重新排列列.这对我来说已经足够了.
标签:java,swing,drag-and-drop,jtable,jtableheader 来源: https://codeday.me/bug/20190630/1331615.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。