Vista previa del material en texto
ADMINISTRADORES DE ESQUEMA JAVA AMINISTRADORES DE ESQUMA JAVA 1 Administradores de esquemas en JAVA En java, cuando hacemos ventanas, la clase que decide cómo se reparten los botones (y demás controles) dentro de la ventana se llama Layout. Esta clase es la que decide en qué posición van los botones y demás componentes: Si van alineados. En forma de matriz, cuáles se hacen grandes al aumentar el tamaño de la ventana, etc. Otra cosa importante que decide el Layout, es el tamaño ideal que debe tener la ventana en función de los componentes que contenga. En esta parte veremos 3 tipos de esquemas con sus respectivos ejemplos en código. FlowLayout Un Layout simple de usar es el FlowLayout. Coloca todos los componentes que le añadimos alineados de izquierda a derecha, haciendo que cada uno ocupe la cantidad de espacio que necesita. (Harvey & Paul, 2004) 2 Observemos el código que se muestra a continuación. En la línea 18: declaramos un JFrame (ventana), luego en la línea 19: declaramos un JPanel (contenedor) que permitirá dibujar el resto de elementos gráficos (Un JFrame puede contener en su interior un objeto de tipo JPanel). En las líneas 20 y 21 se declaran dos objetos uno de tipo botón y otro de tipo etiqueta. A continuación, al objeto de tipo JPanel se le aplica el administrador de esquema de tipo FlowLayout (línea 23). Luego a la ventana se le declaran los botones de control de una ventana (minimizar, maximizar y cerrar) utilizando el método setDefaultCloseOperation (línea 24). Posteriormente se agregan al contenedor el botón y la etiqueta declarados utilizando el método add (líneas 27 y 28). Luego todo el contenedor (Objeto JPanel) se debe agregar a la ventana (Objeto JFrame) a como se muestra en la línea 30. 3 Por último, utilizamos el método pack() para que la ventana se adapte al tamaño del contenedor (línea 32) y volvemos visible la ventana utilizando la propiedad setVisible (línea 33). El resultado será el siguiente: En caso de que aumente el tamaño de la ventana, entonces los elementos se agruparán en el centro. También se pueden utilizar otros constructores del FlowLayout. Donde el primer parámetro representa la disposición que tendrán los elementos en el contenedor (left, center o right) y los valores (40, 40) representan el espacio entre cada componente agregado al contenedor y los bordes del contenedor. 4 BorderLayout El Administrador de esquemas BorderLayout ordena los componentes en regiones (NORTH, SOUTH, EAST, WEST, CENTER). BorderLayout puede mostrar hasta 5 componentes, uno por región. El componente que se coloca en cada región puede ser un contenedor, al cual se pueden adjuntar otros componentes. (Harvey & Paul, 2004) 5 Realicemos el siguiente ejercicio Primero debemos declarar un objeto JFrame llamado v (línea 16) e incorporar a esa ventana los botones de control de ventanas (minimizar, maximizar, cerrar) utilizando el método setDefaultCloseOperation (línea 17). Posteriormente debemos declarar un objeto de tipo JPanel (línea 19) en el cual dibujaremos los demás componentes. En la línea 20, debemos establecer un tamaño para el JPanel utilizando los métodos setPreferedSize y Dimension (las medidas están dadas en pixeles). Por último, debemos establecer el tipo de administrador de esquemas a utilizar, en este caso usaremos el BorderLayout (línea 21). Posteriormente, debemos declarar 5 botones a como se muestra a continuación: 6 Después debemos agregar el JPanel al JFrame (línea 39), establecer que el tamaño de la ventana (JFrame) sea proporcional a los elementos que contiene el JPanel (línea 40), y volver visible toda la ventana (línea 41). El GridLayout coloca los componentes en forma de matriz, haciendo que todos ocupen el mismo tamaño. Es un Layout adecuado para hacer matrices de cajas de texto (por ejemplo, si queremos hacer un crucigrama o un sudoku) o para matrices de botones (por ejemplo, una calculadora). Se puede instanciar pasándole el número de filas y columnas que queremos. Por ejemplo, en la siguiente porción de código prepara una ventana con un GridLayout de 3 filas y 2 columnas y en cada celda se agrega un botón. 7 En la línea 20: se aprecia la declaración de un contenedor al que se le aplica el GridLayout de 3 filas y 2 columnas. A partir de la línea 21 hasta la 27 se declaran los botones que luego se agregarán al panel (líneas de la 30 a la 35). 8 Colocar una imagen en un JLabel En la línea 32: se crea una variable de tipo ImageIcon la cual servirá para establecer la ruta en la que se encuentra la imagen a colocar, en este caso la imagen fue guardada dentro de la carpeta src que se encuentra en la carpeta del proyecto. Posteriormente en la línea 35: se establece como fondo de un JLabel la imagen, utilizando la propiedad setIcon. 9 Fuentes consultadas https://www.javatpoint.com/GridLayout http://chuwiki.chuidiang.org/index.php?title=GridLayout http://www.sc.ehu.es/sbweb/fisica/cursoJava/applets/diseno/flow.h tm https://www.javatpoint.com/GridLayout http://chuwiki.chuidiang.org/index.php?title=GridLayout http://www.sc.ehu.es/sbweb/fisica/cursoJava/applets/diseno/flow.htm http://www.sc.ehu.es/sbweb/fisica/cursoJava/applets/diseno/flow.htm