Este documento introduce conceptos básicos de desarrollo de aplicaciones visuales en Java como Visual Basic, JFrame, paneles, layouts y ejemplos. Define Visual Basic como un ambiente de desarrollo gráfico para Windows basado en objetos y eventos. Explica que JFrame es una clase utilizada en Swing para generar ventanas y que los paneles permiten agrupar componentes. Además, cubre los diferentes tipos de layouts y la importancia de usarlos para el diseño de interfaces.
1. INTRODUCCION DE APLICACIONES VISUALES
DEFINICION:
Visual Basic es un ambiente gráfico de desarrollo de aplicaciones para el
sistema operativo Microsoft Windows. Las aplicaciones creadas con Visual
Basic están basadas en objetos y son manejadas por eventos. Visual Basic
se deriva del lenguaje Basic, el cual es un lenguaje de programación
estructurado. Sin embargo, Visual Basic emplea un modelo de programación
manejada por eventos.
CONTENEDOR JFrame:
Frame es un contenedor que tiene como tarea guardar nuestros
componentes y darles un sentido gráfico, digamos que el Frame es una ventana
que tiene propiedades como tamaño, posición, titulo, etc.
JFrame: Es el constructor de nuestro frame, aparece sin título y no
puede verse en pantalla hasta que se llame el método para hacerlo
visible
JFrame es una clase utilizada en Swing (biblioteca gráfica) para
generar ventanas sobre las cuales añadir distintos objetos con los que
podrá interactuar o no el usuario.
Existen 4 tipos de constructores para inicializar un objeto JFrame:
JFrame: Construye un nuevo marco que es inicialmente invisible.
JFrame(GraphicsConfiguration): Crea una ventana con la configuración gráfica
especificada en el objeto GraphicsConfiguration.
JFrame(Cadenade texto): Crea una nueva ventana a la que se le pone por título
la cadena de texto que se le indique.
JFrame(Cadena de texto, GraphicsConfiguration): Crea una nueva ventana con
el título y la configuración gráfica especificados.
Contenedor paneles:
Este componente lo que nos permite es Agrupar Otros Componentes dentro de él.
Para empezar creamos un proyecto, una vez hecho este pasó, vamos al panel del
lado derecho donde se encuentran los elementos Swing Containers y
seleccionamos el componente Panel (Jpanel), lo seleccionamos y soltamos en el
Formulario.
Qué es un Layout
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 agrandar la ventana, etc.
2. Otra cosa importante que decide el Layout es qué tamaño es el ideal para la ventana
en función de los componentes que lleva dentro.
Con un layout adecuado, el método pack() de la ventana hará que coja el tamaño
necesario para que se vea todo lo que tiene dentro.
ventana. Pack ();
Las ventanas vienen con un Layout por defecto. En java hay varios layouts
disponibles y podemos cambiar el de defecto por el que queramos.
El Layout null
Uno de los Layouts más utilizados por la gente que empieza, por ser el más sencillo,
es NO usar layout. Somos nosotros desde código los que decimos cada botón en
qué posición va y qué tamaño ocupa
contenedor.setLayout(null); // Eliminamos el layout
contenedor.add (boton); // Añadimos el botón
boton.setBounds (10,10,40,20); // Botón en posición 10,10 con ancho 40 pixels y
alto 20
Esto, aunque sencillo, no es recomendable. Si estiramos la ventana los
componentes seguirán en su sitio, no se estirarán con la ventana. Si cambiamos de
sistema operativo, resolución de pantalla o fuente de letra, tenemos casi asegurado
que no se vean bien las cosas: etiquetas cortadas, letras que no caben, etc.
Además, al no haber layout, la ventana no tiene tamaño adecuado. Deberemos
dárselo nosotros con una ventana.setSize(...). Y si hacemos que sea un JPanel el
que no tiene layout, para que este tenga un tamaño puede que incluso haga falta
llamar a panel.setPreferredSize(...) o incluso en algunos casos, sobrescribiendo el
método panel.getPreferredSize()
El tiempo que ahorramos no aprendiendo cómo funcionan los Layouts, lo
perderemos echando cuentas con los pixels, para conseguir las cosas donde
queremos, sólo para un tipo de letra y un tamaño fijo.
Ejemplos:
Nuevamente presento un ejemplo sencillo, no tiene mayor grado de
complejidad que el que le pueda dar cada componente, la aplicación
presenta una Ventana Principal con un botón por cada elemento a
exponer, como se mencionó anteriormente la Ventana Principal será
un JFrame y el resto de ventanas del sistema lo trabajaremos
como JDialog (En esta entrada se explica el porqué).
3. La idea es mostrar rápidamente el funcionamiento básico de estos
elementos, si se necesitan alguno se recomienda profundizar mediante
ejemplos o mas investigación...... es importante que si no se
entiende algún procedimiento soliciten ayuda, por ejemplo es muy
común omitir en ocasiones el método pack(); debemos saber que este
permite trabajar con las dimensiones de los contenedores (si es
necesario).
Recomendaciones :
Seguridad visual tenemos 8:
Las saturaciones del búfer son un aspecto de seguridad muy importante.
Actúe siempre con precaución al copiar datos en un búfer y asegúrese de
que el código no pueda escribir ni leer fuera del búfer. No copie en un búfer
datos proporcionados por el usuario no comprobados, ni permita que los
parámetros de tamaño sin confirmar definan el intervalo de datos que se
copia.
No tome decisiones basadas en nombres de archivo. Los nombres de
archivo se pueden expresar de muchas maneras diferentes y se podría
omitir la comprobación de un archivo determinado.
No incluya nunca contraseñas ni información confidencial en el código de
la aplicación.
Valide siempre los datos de entrada que se utilicen para generar
consultas SQL.
No muestre información de excepciones. Esta información proporciona
pistas valiosas a los atacantes.
4. Asegúrese de que la aplicación funcione al ejecutarla con el menor
número posible de privilegios. Pocas aplicaciones requieren que el
usuario inicie sesión como administrador.
No almacene información confidencial en archivos XML o en otros
archivos de configuración.
Actúe con precaución cuando utilice delegados pasados desde fuera de
la aplicación.
Ejecute FxCop en los ensamblados para garantizar el cumplimiento con
las Instrucciones de diseño de Microsoft .NET Framework. FxCop
también puede encontrar y proporcionar advertencias sobre más de 200
defectos de código.
.
https://malogey.wordpress.com/2008/11/12/jframe-para-java/
https://es.wikipedia.org/wiki/Jframe