Ahora hablaremos un poco sobre como hacer un dibujo en Java Swing, cabe mencionar que
debemos de apoyarnos de la librería de AWT ya que esta nos provee de métodos y clases ya pre - programadas con la finalidad de no quebrarnos
la cabeza haciendo líneas, cuadros, rombos o prácticamente cualquier forma que se nos pueda imaginar.
Pero es aquí la gran pregunta, ¿Cómo funciona el dibujo Cuando un GUI Swing necesita dibujarse a sí mismo?, de hecho esta pregunta
esta muy confusa pero la verdad es que sí lo podemos realizar y aquí damos una breve explicación.
la primera vez, o en respuesta a la vuelta de un ocultamiento, o porque necesita reflejar un cambio en el estado del programa, empieza
con el componente más alto que necesita ser redibujado y ve bajando por el árbol de contenidos.
Esto está orquestado por el sistema de dibujo del AWT,
y se ha hecho más eficiente mediante el manejador de dibujo de Swing y el código de doble buffer.
Para tener buenas bases de este lenguaje dejamos este
curso de java presencial y 100% práctico.
Los componentes Swing generalmente se redibujan a sí mismos siempre que es necesario. Por ejemplo, cuando llamamos al método setText de un componente, el componente debería redibujarse automáticamente a sí mismo, y si es necesario, redimensionarse. Si no lo hace así es un bug. El atajo es llamar al método repaint sobre el componente para pedir que el componente se ponga en la cola para redibujado. Si se necesita cambiar el tamaño o la posición del componente pero no automáticamente, deberíamos llamar al método revalidate sobre el componente antes de llamar a repaint. Al igual que el código de manejo de eventos, el código de dibujo se ejecuta en el thread del despacho de eventos. Mientras se esté manejando un evento no ocurrirá ningún dibujo. De forma similar, si la operación de dibujado tarda mucho tiempo, no se manejará ningún evento durante ese tiempo.
Los programas sólo deberían dibujarse cuando el sistema de dibujo se lo diga. La razón es que cada ocurrencia de dibujo de un propio componente debe ser ejecutado sin interrupción. De otro modo, podrían ocurrir resultados impredecibles, como que un botón fuera dibujado medio pulsado o medio liberado. Para acelerar, el dibujo Swing usa doble-buffer por defecto realizado en un buffer fuera de pantalla y luego lanzado a la pantalla una vez finalizado. Podría ayudar al rendimiento si hacemos un componente Swing opaco, para que el sistema de dibujo de Swing pueda conocer lo que no tiene que pintar detrás del componente. Para hacer opaco un componente Swing, se llama al método setOpaque(true) sobre el componente.
Los componentes no-opacos de Swing puede parecer que tienen cualquier forma, aunque su área de dibujo disponible es siempre
rectangular. Por ejemplo, un botón podría dibujarse a sí mismo dibujando un octógono relleno. El componente detrás del botón, (su
contenedor, comúnmente) sería visible, a través de las esquinas de los lados del botón. El botón podría necesitar incluir código
especial de detección para evitar que un evento action cuando el usuario pulsa en las esquinas del botón.
Es importante para poder realizar todos estos elementos con Swing, tener una base solida de la programación en Java por ello dejamos este
curso de java
ampliamente recomendable.
Diseño de paginas Web Grupo Codesi