2012-05-28 91 views
0

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

回答

2

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

+0

在Swing你通常应该重写paintComponent,不画 – Puce

+0

是压倒一切的paintComponent()是推荐的路要走,我会更新我的答案谢谢。 –

2

在Java中,使用实现Shape接口的类的实例呈现您的地图,例如Polygon。任何支持的方法都可以工作。