the problem is that you want to get the bounds before you set the frame to visible. Bounds are calculated by the layout managers after the frame becomes visible.
I know about
1. wait for reply.
2. People are investing their valuable time for me.
3. Study first & ask.
4. Try to google first.
5. Question should be Small simple.
6. & many more....things regarding getting answer.
Don't give so much unnecessary background.
"Why do the sizes of my components change when I specify a look-and-feel?"
Third, your questions are full of ideas that are just... wrong. To answer your questions, somebody would first have to tell you why they're wrong.
Instead of asking ten questions, nine of which are based on guesses and speculations, ask one question, and try to read and understand and think about the answer before moving on to the next thing.
why do you need to know?
what problem does it create?
in your opening post I read to line 6:
"Then i use open source look & feel.jtattoo"
you're probably better off trying to find a forum or mailing list which relates directly to that L&F.
quite often, you'll put a panel in a frame, give it a preferredSize, then if you check what size the panel is
after visible, it'll not be what you set, because the layoutManger tries a best-fit and that might be out by 4 or so,
probably because of a border (or something else) of another component.
all your print statements have nothing to do with size,...
The validate method is used to cause a container to lay out its subcomponents again. It should be invoked when this container's subcomponents are modified (added to or removed from the container, or layout-related information changed) after the container has been displayed.