I’m trying to do something which I’d think would be fairly easy but can’t find a straight forward answer to. Basically I want to change a JPanel’s default shape to a circular shape (or any other shape other than a rectangle).
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You will need to provide your own custom painting routines.
The other problem you will have is getting the layout managers to work with it, but you can supply your own insets to provided an area within the panel that can safely used
You’ll also want to make the component transparent, to allow the area outside the circle position of the component to be transparent.
Check out
JCompnent#getInsetsYou might need to also manipulate the clipping rectangle of the
Graphicscontext. This is tricky and dangerous and if you can avoid it, I would.Updated with example