在Java中拖动和捕捉JLabel

时间:2012-08-27 23:42:42

标签: java jpanel jlabel

我正在尝试使用JLabel实现拖放类型的东西。基本上,JPanel使用JLabel启动,这些JLabel位于屏幕周围的指定框中(所有JLabel和Box都是相同的大小)。然后,我希望用户能够将JLabel拖入一个盒子并让它“快速”进入盒子;意思是,当他们的鼠标接近盒子时,程序知道将JLabel捕捉到那个盒子里。

我可以通过拖动鼠标监听器和鼠标进行繁琐的渲染并进行大量渲染(我已经开始了这个,并且它不太漂亮)。但我想知道网上是否有人知道或者内置于java中的任何东西,这对我有帮助。

注意:这不是关于拖拽的问题。

3 个答案:

答案 0 :(得分:1)

Drag' n' Drop是需求的专业领域。

查看TransferHandler组件Swing API的实现情况。适用于内置组件,需要一些工作才能在自定义组件中工作,否则无法扩展(我正在查看自定义光标和拖动图形)。

问题是,任何工具包/ API /框架只能在其目标设计的约束下工作。

你可以让生活成为一个小小的生活。通过分离DnD API的各种元素,注册监听器,事件处理等更容易,这样您可以更好地关注解决方案的要求,但是,目前,您可以尽可能地得到。

例如,我写的API可能无法满足您的需求,因为我写信解决了我正在处理的一系列特殊问题。

Just MHO

答案 1 :(得分:0)

答案 2 :(得分:0)

尝试搜索java“snap-to-grid”示例,然后相应地修改以配对gui组件?