【发布时间】:2012-10-07 16:02:07
【问题描述】:
我有一个名为 Shape 的类,它继承自 JPanel。
许多子类依次扩展Shape 类,每个子类对应一种形状。
每个形状都有自己的重写paint() 方法,用于绘制各自的形状。
我希望能够单击任何形状,并且现在正在尝试实现此逻辑。请注意,每个形状都已添加到 arrayList。
但是,包含语句总是返回 false,即使我已经清楚地点击了形状。
有什么想法吗?
【问题讨论】:
-
好的,你在计划像Paint Shapes组件这样的东西吗?
-
什么样的形状?您必须实现
contains方法。它不会从他们的“绘画”方法中生成。 -
您能否详细说明@JanDvorak?到目前为止,该程序可以工作,从而在屏幕上绘制了许多形状。我的问题是我似乎无法点击任何形状。
-
看看 MouseListener 或 SwingUtilities
-
在你的 swift 范围内是 SSCCE 超过要求,或者我无用地开玩笑关于尊重论坛习惯(当然也错了),没有人可以看到你的其余代码,潜在的回答者简单地忽略了这一点问题(有几个很好的答案,能够不假思索地回答这个问题),
标签: java swing graphics jpanel paintcomponent