He estado leyendo sobre las dimensiones del JFrame (heredadas de Window), las dimensiones del Layout (que he probado también a usar diferentes tipos incluso null), los métodos set y get de height, width, minimumSize, preferredSize, bounds,... y todo lo que he ido encontrando por el camino; y no consigo unas conclusiones.
Os dejo un pequeño código de lo último que he probado y los resultados obtenidos:
Código
public class App {
private Ventana miVentana;
miVentana = new Ventana();
miVentana.setSize(200, 200);
miVentana.setVisible(true);
}
}
public Ventana(){
getContentPane().setLayout(null);
}
}
Establezco el layout a null para evitar que el layout pueda influir en las medidas de la ventana. Le doy un tamaño de 200 x 200 (que no choca con el tamaño mínimo de la ventana) pero al mostrar la ventana esta mide:
- 234 x 242 (contando la barra de título)
- 232 x 203 (contando el espacio interior de la ventana. Sin contar barra de título ni bordes)
He probado también a usar el método setBounds() para establecer la posición de la esquina superior izquierda en las coordenadas (0,0), es decir, que la ventana debería aparecer pegada también a la esquina superior izquierda, pero realmente tampoco es así. En el eje X se desplaza 8 píxeles a la derecha, es decir, que la esquina superior izquierda de la ventana aparece en las coordenadas (8,0).
Código
// Sustituir el setSize(200, 200) del codigo anterior por:
miVentana.setBounds(0, 0, 200, 200);
Sé que es un tema muy quisquilloso pero no sé de qué sirve poder establecer tamaños a las ventanas si luego no van a ser reales...


 
  




 Autor
 Autor
		



 En línea
									En línea
								






 
						 
						