是否可以创建矩形(或圆角矩形)以外的形状的按钮。例如,你可以在地图上创建一个状态形状的按钮吗?单击形状中的任何位置会导致MouseEvent被广播吗?
答案 0 :(得分:2)
在Java中,使用实现Shape
接口的类的实例渲染地图,例如Polygon
。任何受支持的contains()
方法都可以使用。
答案 1 :(得分:2)
您可以通过扩展JButton并调用setContentAreaFilled(false);
来创建此类按钮
在构造函数中。然后,您可以在重写的paintComponent()
方法中绘制您喜欢的任何内容。您还需要覆盖contains()
的{{1}}方法,以提供所需的鼠标命中测试。在此方法中,您可以调用polygon(用于绘制按钮的方法)JComponent
方法。
答案 2 :(得分:2)
以下是JDC Tech Tips的一个示例: