The image has rounded corners but right now the image is coming in the button and loosing its actual effect of rounded corners.
Don't use an EmptyBorder, that will always be Rectangular. Also try using setBorderPainted(false)
.
Also I want it focussed when a user brings mouse over it. Since I have put image for button with above code
Then you will also need to provide a rollover icon. See setRolloverIcon(...)