Creando un botón personalizado en Java con JButton

stoy tratando de crear un botón que tenga una forma personalizada (hexágono), pero que, de lo contrario, actúe como un JButton normal (es decir, funciona con un ActionListener).

He creado una clase que extiende AbstractButton, pero no parece estar enviando eventos al ActionListener cuando hago clic en él. Si cambio la clase para extender JButton, funciona perfectamente, pero arruina la forma en que se muestra el botón. Supongo que hay un método que necesito anular para que active eventos, pero no puedo entender cuál es.

Respuestas a la pregunta(4)

Su respuesta a la pregunta