2012-05-28 124 views
0

是否可以創建除矩形(或圓角矩形)以外的其他形狀的按鈕。例如,你能否在地圖上以狀態的形式創建一個按鈕?點擊形狀中的任何位置會導致MouseEvent廣播?矩形以外形狀的按鈕

回答

2

您可以通過擴展JButton並在構造函數中調用setContentAreaFilled(false); 來創建此類按鈕。然後,您可以在重寫的paintComponent()方法中繪製任何您喜歡的圖像。您還需要覆蓋JComponent的方法以提供所需的鼠標命中測試。在這種方法中,你可以調用多邊形(用於繪製按鈕的那個)方法。

+0

在Swing你通常應該重寫paintComponent,不畫 – Puce

+0

是壓倒一切的paintComponent()是推薦的路要走,我會更新我的答案謝謝。 –

2

在Java中,使用實現Shape接口的類的實例呈現您的地圖,例如Polygon。任何支持的方法都可以工作。