0

因此,当您将图标移动到新位置时,窗口会自动将其他图标向下推(我也想将它们向上推)。我想用 jcomponents 来做这个,特别是 jtables。

如果我可以跟踪哪个表在哪里(我需要将他们的订单保存在 xml 中),也可以获得奖励积分。

有任何想法吗?

4

1 回答 1

1

没有开箱即用的机制来通过拖放重新排列组件,但自己做很容易。这是基本思想:

1) 使用 JLayeredPane 作为基础组件,并将您的表格放在默认图层上

2) 在其上添加一个透明组件,例如更高层。这将是你的玻璃板

3) 在玻璃窗格上安装一个 MouseMotionListener。当您检测到应该移动表格的拖动时,请继续执行 4。否则,将事件重新调度到底层组件。

4) 为拖动提供某种视觉反馈,例如一条半透明线来指示拖放位置。向用户显示当他释放鼠标时表格将出现的位置。

5) 如果拖动指示应该重新排列表格,只需在表格面板上重做布局以相应地定位它们。

如果您对其中一个步骤有具体问题,请随时发表评论。

于 2012-08-15T13:42:09.547 回答