我希望“鼠标单击侦听器”在JPanel中的照片上创建标记

问题描述

我正在用十字标记圆圈,程序会计算十字和圆圈。

示例:右键单击->十字,左键单击->圆圈

我也希望能够再次单击圆圈或十字以使其消失。

所以我希望不要使用按钮。我要实现的示例:我有很多猫和狗的照片:我想要图像中的动物数量,所以如果我在猫的图像上单击鼠标右键,我会看到一个十字架,如果单击留在狗身上,我会看到一个圆圈。可以直观地看到是否单击了每只动物,程序可以计算单击右键的次数,然后单击鼠标左键告诉我图片中有多少只狗和几只猫。

你们中的任何一个都可以帮助我使我朝正确的方向前进吗?如果可能的话。

解决方法

您可以做的是检查按钮是否已启用。如果已单击,则可以将添加到图片上的图像设置为原始图片。

,

是的,有可能。

首先,创建一个GUI模型类来保存图像和一个List标记。创建一个Marker类来容纳booleanjava.awt.Point。布尔值确定是画十字还是零。 Point确定在哪里画十字或零。

您必须确定与现有标记Point的接近程度算作是删除,而不是增加。

第二,创建一个JFrame和一个图形JPanel来保存图像。您可以查看Oracle教程Performing Custom Painting,以了解如何创建图形JPanel

第三,创建一个控件JPanel,以显示GUI模型List中的交叉数和零数。

第四,创建一个MouseAdapter来监听鼠标单击,并根据该标记是否存在为GUI模型List添加或删除一个标记。

这是GUI的外观。

GUI

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...