como hacer para que mi jframe cambie de tamaño conforme a la pantalla de la pc donde se ejecute ?

hola soy nuevo en esta pagina, y despues de resolver muchos de mis problemas encontrando informacion por aqui hay una que me queda muchas dudas, he realizado un .jar en netbeans un programa que realiza graficas de pastel barras etc, bueno pues mi problema es que lo desarrolle utilizando mi pantalla de 18 pulgadas, y una resolucion de 1600x900 pero al ejecutar el jar en otras pcs con pantalla de 15 pulgadas y menos resolucion el programa se ve demasiado grande y no se muestra por completo.

hay alguna forma de que todo el jframe con sus botones textfields,labels panel, todo lo que contenga cambien su tamaño y se adapten a la resolucion de las pcs donde se ejecute el programa??

algun codigo?

he encontrado varios la verdad no los he aplicado por que dan a entender que es para que el jframe se maximise a toda la pantalla pero yo no quiero eso yo quiero que el programa solo se adapte o se haga mas pequeño pero con la misma forma

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Si utilizas un layout manager

Si utilizas un layout manager ( o sea si no haces todo el layout tu mismo poniendo ubicaciones absolutas )

Estos distrubuyen el contenido de tu pantalla y tienen distintas estrategias, a veces hay que combinarlos.

Revisa este link donde lo explican mejor.

http://docs.oracle.com/javase/tutorial/uiswing/layout/howLayoutWorks.html
http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

Si tu estás haciendo todo el pintado de los componentes tu mismo, lo que tienes que hacer es calcular la distancia máxima que tienes y .. .bueno es un rollo, el caso es que no puedes usar posiciones absolutas, sino que tienes que usar "proporciones".

Quizá tengas que investigar como puedes crear tu propio layout manager:
http://docs.oracle.com/javase/tutorial/uiswing/layout/custom.html

Suerte