I have created an application interface using Java swing on a mac, which looks exactly how I want it. However on windows and Linux the positioning of the components and what seems to be the dimensions look of place.
I have tried to make the sizes of everything relative to the screen resolution using Toolkit.getDefaultToolkit().getScreenSize(). I have also fiddled about with different look and feels but still cant get the app to look the same on different OS's.
you could start playing with the layouts.
there is a null layout too, in which you specifiy every detail about your components, for instance, if you have a JTextField, you specifiy the location of the 4 points that decide the height and width.