1

是否可以以矩形(或圆角矩形)以外的形状创建按钮。例如,您能否在地图上创建一个状态形状的按钮?单击形状中的任何位置会导致 MouseEvent 被广播吗?

4

3 回答 3

2

在 Java 中,使用实现接口的类的实例来呈现您的地图Shape,例如Polygon. 任何受支持的contains()方法都可以使用。

于 2012-05-28T13:31:55.633 回答
2

您可以通过扩展 JButton 并setContentAreaFilled(false); 在构造函数中调用来创建此类按钮。paintComponent()然后你可以在覆盖的方法中绘制任何你喜欢的东西。您还需要覆盖提供所需鼠标命中测试的contains()方法。JComponent在此方法中,您可以调用多边形(用于绘制按钮的方法)contains()方法。

于 2012-05-28T13:33:34.217 回答
2

以下是 JDC 技术提示的示例:

http://web.mit.edu/java/JDCNewsletter/JDC-TECH8-99

于 2012-05-28T13:37:51.453 回答