I don't know too much on this, but I know that the one that's just
Frame or Button, those images are rendered by java through a call to
the native system. Meaning, the images (the picture of the button)
rendered is specific to the system you are compiling or executing
the code from. To put it simply, the button image you create on a
Windows platform might look different than a Button image created on
a computer using a MacOS. This first one without the J is just by
java.awt part of the Heavyweight components.
However, if you use JFrame or JButton, then they should look and
feel the same no matter which OS you are using. These components
are accessed using javax.swing. They are called lightweight
components and unlike the AWT components there is no call to the
native system to render the image. These graphics are directly
rendered by java.