1. An Image can't be non-rectangular. Maybe your image has some transparent pixels.
2. JLabel does not by default have a Border and is by default non-opaque, so if the
boundaries of the label are visible
that must be because of something in your own code.
To get better help sooner, post a
SSCCE. Preferably link to a suitable image resource on the internet (for example
https://coderanch.com/templates/default/images/moosefly.gif) so that members can run your SSCCE to see where the problem might be.