0

我制作了一个模拟逻辑门的程序,但我的逻辑门出现问题,就像JLabel添加到我的绘图画布一样。当我放下连接到电线的两个输入(例如开关)时,单击开关将改变连接到它的电线的颜色。通过仅单击一个开关,两条不同的连接线正在改变颜色。

我只是想知道当您单击并放下JLabel将是我的 x1 时该怎么做,下一次单击并放下JLabel将是现在的 x2。你怎么做呢?

4

1 回答 1

0

1)创造由个体组成的 个体并使它们独一无二groups elements

例如:两个JLabels作为两个switchesSwing Line作为wire。这将是您的一个逻辑单元组合成一个。您将有多个这样的组。所有组都是唯一的。

2)一旦你确定了元素及其各自的组,你就可以通过检测画布元素被丢弃的位置来识别画布中的dropping elements元素。如果new element被放在一个Group然后add那个元素到组中。然后确定这个新单元正在被删除to或删除的元素。around

例如:如果new JLable被任何有效 Swing Line的附近丢弃,则将其JLable与 that连接起来line。因此,您将Switch加入wire.

为什么选择集团方式?

通过将元素分组为小组,您可以根据分组设置条件。诸如元素 from 之类的条件group x不应与元素 from 连接group y。如果您想设置,这种分组方法将为您提供灵活性logical joining conditions

技术细节:

元素坐标将帮助您检测whereon what删除新元素

如何在 java 中做 Drap-Drop?

Java Swing 支持拖放、剪切、粘贴等操作。

请参阅此获取完整指南 >> http://docs.oracle.com/javase/tutorial/uiswing/dnd/index.html

于 2013-05-16T10:22:22.223 回答