2012-08-15 77 views
0

所以,当你将一个图标移动到一个新的位置时,窗口会自动将其他图标推向列表下方(我也想推它们)。我希望通过jcomponents来做到这一点,特别是jtables。Java jpanel工作起来像窗口的拖动n拖放图标重新排列

此外,如果我可以跟踪哪些表是哪里(我将需要保存他们的订单在XML)奖金点。

有什么想法?

回答

1

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

1)使用的JLayeredPane作为基础组件,并把你的表的默认层

2)关于这一点,例如顶部添加透明组件更高层。这将是您的玻璃窗格

3)在玻璃板上安装MouseMotionListener。当您检测到应该移动 表的拖动时,请继续执行4.否则,请将该事件重新分派给基础组件。

4)为拖拽提供某种视觉反馈,例如,一条半透明线表示 放置位置。当他释放鼠标时,向用户显示表格出现的位置。 5)如果拖动指示表格应重新排列,只需重新设置表格面板上的布局以相应地定位它们。

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

+0

我忘了提及用户也将决定表的数量和大小。这会在这些步骤中出现扳手吗? (他们也可以随时删除表格) 实质上,这是一个模拟仪表板的布局编辑器。它允许用户决定在仿真运行时他们想要看到的数据。 – Phox 2012-08-15 14:26:06