Creación de un JButton personalizado en Java

¿Hay alguna manera de crear un JButtongráfico con su propio botón y no solo con una imagen dentro del botón? Si no es así, ¿hay otra forma de crear una costumbre JButtonen