问题描述
我正在用十字标记圆圈,程序会计算十字和圆圈。
示例:右键单击->十字,左键单击->圆圈
我也希望能够再次单击圆圈或十字以使其消失。
所以我希望不要使用按钮。我要实现的示例:我有很多猫和狗的照片:我想要图像中的动物数量,所以如果我在猫的图像上单击鼠标右键,我会看到一个十字架,如果单击留在狗身上,我会看到一个圆圈。可以直观地看到是否单击了每只动物,程序可以计算单击右键的次数,然后单击鼠标左键告诉我图片中有多少只狗和几只猫。
你们中的任何一个都可以帮助我使我朝正确的方向前进吗?如果可能的话。
解决方法
您可以做的是检查按钮是否已启用。如果已单击,则可以将添加到图片上的图像设置为原始图片。
,是的,有可能。
首先,创建一个GUI模型类来保存图像和一个List
标记。创建一个Marker
类来容纳boolean
和java.awt.Point
。布尔值确定是画十字还是零。 Point
确定在哪里画十字或零。
您必须确定与现有标记Point
的接近程度算作是删除,而不是增加。
第二,创建一个JFrame
和一个图形JPanel
来保存图像。您可以查看Oracle教程Performing Custom Painting,以了解如何创建图形JPanel
。
第三,创建一个控件JPanel
,以显示GUI模型List
中的交叉数和零数。
第四,创建一个MouseAdapter
来监听鼠标单击,并根据该标记是否存在为GUI模型List
添加或删除一个标记。
这是GUI的外观。