hola......estoy haciendo una aplicacion de escritorio...con netbeans 6.7...esta aplicacion va a correr en varias computadoras donde varia el tamaño de los monitores...mi problema es la ubicacion de los componentes..cuando se ejecuta la aplicacion..si las trabajo en una compu hago maniobras para que salgan a medida en la pantalla..pero luego sedesconfiguran todas..se mueven me salen encimadas...o algunos componentes no salen en la pantalla.....hay alguna funcion que haga que se queden en un lugar en un tamaño determinado....se entiende???
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
x = (int) (screenSize.getWidth() / 2 - 350/2);
y = (int) (screenSize.getHeight() / 2 - 350/2);
Podrias calcular la resolución de la pantalla, acomodar y redimensionar tu aplicación deacuerdo a la misma.
en primer lugar si bas a programar usando conponentes graficos MAS ALLA de jalarlos y pegarlos usando la paleta (drag and drop) definitivamente no uses netbeans bueno si es posible y netbeans tiene formas pero son muy estorbosas
-en primer lugar es obligatorio que USA LAYAUTS(arreglo y posicionamiento de componetes graficos) el netbeans tiene un exelente layaut para hacer formularios eso hay que reconoserlo
-no Debes poner nada que sea relativo ni se calcule en tiempo de ejecusion de tu pantalla es lo que tu ases (pones los conponentes y ves si cuadran bien SOLO pensando en tu monitor)
-Debes calular la posicion de tus componentes en vase a funciones que tomen de dato a la resolucion del monitor en el que se esta ejecutando
primero describo como se ase un formulario en forma general
dividimos el formulario en 5 partes no nesesariamente las usas todas (arriba isquierda derecha abajo y centro)
-en el centro ba el contenido principalmente la informacion mas inportante del formulario y es mejor aun si es un jtable + scroll
- en la parte de arriba pones la cabesera y los procesos mas inportantes (botones) si gustas en un jtoolbar
-en el resto de los lados pones los componentes que te gusten segun tu criterio
bueno para eso devemos usar el BorderLayaut
http://www.cica.es/formacion/JavaTut/Cap4/blayout.html
trabajando independientemente de la resolucion
public static void Centrate(Container frame){
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=frame.getSize();
if(frameSize.height>screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width>screenSize.width){
frameSize.width=screenSize.width;
}
frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
}
public static void tamañoenprocentaje(Container frame, Double poraltura,Double porancho){
//poner el alto y el ancho en porcentaje de la ventana
poraltura=poraltura/100;
porancho=porancho/100;
frame.setSize((int)(Toolkit.getDefaultToolkit().getScreenSize().getWidth()*porancho),
(int)(Toolkit.getDefaultToolkit().getScreenSize().getHeight()*poraltura));
}
macsimisando Ventana
this.setExtendedState(JFrame.MAXIMIZED_BOTH);