除矩形之外的形状的按钮

时间:2012-05-28 13:25:08

标签: java swing jbutton

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

您可以通过扩展JButton并调用setContentAreaFilled(false);来创建此类按钮  在构造函数中。然后,您可以在重写的paintComponent()方法中绘制您喜欢的任何内容。您还需要覆盖contains()的{​​{1}}方法,以提供所需的鼠标命中测试。在此方法中,您可以调用polygon(用于绘制按钮的方法)JComponent方法。

答案 2 :(得分:2)

以下是JDC Tech Tips的一个示例:

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