2

为了帮助更好地理解我们希望程序在这里如何运行,我们列出了到目前为止的内容:

  • 1 具有背景平面图图像的 JPanel,用作用户将放置对象的“白板”。

  • 1 JPanel,包含“白板”面板中选定对象的所有按钮和控件功能

  • 1 JPanel 放置在 JScrollPanel 中,其中包含 JLabel 列表,其中包含要放置在“白板”面板上的图像

  • 一类对象,它存储了可以放置的每种类型的家具项目的所有属性;例如 x/y 线、图像位置、价格、人工成本等

我们希望发生的情况如下:

  1. 用户在滚动列表面板中的 JLabel 上“按住鼠标”(我假设 JLables 也需要以某种方式进行选择)
  2. 然后该事件采用 JLabel 的名称
  3. 根据名称实例化项目类的对象
  4. 将该对象添加到“白板”面板中的项目数组中
  5. 然后根据对象属性中的位置加载不同图像的副本
  6. 然后将该图像附加到鼠标光标
  7. 只要用户按住鼠标按钮,图像就会保持连接状态
  8. 如果用户随后在“白板”面板区域内释放鼠标按钮,将触发事件将对象的位置设置为鼠标光标的坐标
  9. 如果在其他任何地方释放鼠标,光标将返回默认窗口,并且 JLabel 保持选中状态

我不知道设置一个鼠标侦听器是否更简单,该侦听器将图像绑定到鼠标,然后将其副本放在白板上单击它的任何位置。

以下是迄今为止已创建的图像的链接:http: //img824.imageshack.us/img824/4083/o50p.png

在此处输入图像描述

任何提示或想法将不胜感激!

4

1 回答 1

0

我不得不说使用JToolBar. 我这样说是因为它具有内置的拖放功能。如果您愿意,您可以使用鼠标侦听器和java2d. 只需将JLabel图像放入JToolBar. 祝你好运!

于 2014-01-18T15:34:03.473 回答