Completely re- skin / customize a Java program?
The actual layout of a program is usually hard coded into the program itself. So to change the arrangement of components and the look and feel of the UI, you'd need the source code of the program.
If the program uses swing for it's UI, then as long as you have the source code, you can change the %26quot;look and feel%26quot; of the program with very few lines of code. To move components around you'd need to be familiar with the code that makes up the UIs themselves.
Completely re- skin / customize a Java program?
No, I agree that what you are proposing would be too difficult.
If you are writing code that is cross-platform though, you wouldn't hard-code the locations and such, you'd have to use LayoutManager objects.
If you are not writing cross-platform code, then you could hard-code the position of buttons, etc. This can be easier than trying to get LayoutManager object to work %26quot;automatically%26quot;. Layout managers are only %26quot;automatic%26quot; in that they do what they do %26quot;automatically%26quot;, which may or may not be what you want.