JAVA - NETBEANS Ing. César E. Aguirre Rodríguez RESUMEN • Formulario principal • Inicio de ventana maximizada •
Views 327 Downloads 30 File size 2MB
JAVA - NETBEANS
Ing. César E. Aguirre Rodríguez
RESUMEN
•
Formulario principal
•
Inicio de ventana maximizada
•
Agregando icono al formulario
•
Agregando menú de opciones
•
Agregando JDesktopPane
•
Agregando nuevos formularios
•
Controlando formularios múltiples
•
Centrando el formulario interno
•
Cerrando el formulario principal
•
Formulario LOGIN de usuarios
•
formulario LOGIN – por default
•
Agregando barra información en el formulario principal
FORMULARIO PRINCIPAL
CONVENCIÓN DE NOMBRES DE PAQUETES
https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html http://www.juntadeandalucia.es/servicios/madeja/sites/default/files/historico/1.3.0/contenidolibro-pautas-17.html
NOMENCLATURA DE PAQUETES
•
Es necesario realizar una estructura de paquetes que permita mejorar la comprensión de la estructura de clases de los desarrollos producidos bajo el marco.
•
Se deberá evitar disponer de clases en el paquete raíz o vacío y seguir las recomendaciones introducidas para hacer una división de los paquetes, motivada por las diferentes capas de la aplicación y los aspectos relevantes de cada una de ellas.
•
En algunos casos, el nombre de dominio de Internet puede no ser un nombre de paquete válido.
•
Esto puede ocurrir si el nombre de dominio contiene un guion u otro carácter especial, si el nombre del paquete comienza con un dígito u otro carácter que es
ilegal usar como el comienzo de un nombre Java, o si el nombre del paquete contiene una palabra clave Java reservada, como "int".
NOMENCLATURA DE PAQUETES
Domain Name
Package Name Prefix
• hyphenated-name.example.org
• org.example.hyphenated_name
• example.int
• int_.example
• 123name.example.com
• com.example._123name
Los paquetes de las aplicaciones Java desarrolladas para las distintas áreas de una
organización deben seguir el siguiente patrón: es.juntadeandalucia.CONSEJERIA.APLICACION.[SUBSISTEMA].[CAPA].[TIPO]
NOMENCLATURA DE PAQUETES
•
Hay que considerar el tamaño de la aplicación para realizar una división por subsistema o directamente dividir por capa la estructura de paquetes de la aplicación. Por lo tanto, Subsistema puede ser opcional.
•
Donde CAPA: •
Presentación.
•
Negocio
•
Persistencia
NOMENCLATURA DE PAQUETES
•
Donde TIPO: El tipo es variable en función de la capa, así que los paquetes definidos por cada capa son los siguientes:
•
persistencia.dao: Agrupan las interfaces de los DAO's de la capa de persistencia
•
persistencia.dao.impl: Implementación de las interfaces de acceso a datos
•
persistencia.entidades: Agrupa a las clases de entidad que dan origen a las tablas en la base de datos
•
persistencia.interfaces: Agrupa a las interfaces globales (factoría, genérico,...)
•
persistencia.util: Agrupa a las clases de apoyo (criteria, etc...)
NOMENCLATURA DE PAQUETES
•
negocio.servicios: Agrupa a las interfaces que separan la lógica de negocio
•
negocio.servicios.Impl: Agrupa a las clases que implementan las interfaces de
lógica de negocio •
negocio.vo: Agrupa a la clases encargadas de transporte de datos entre capas
•
negocio.dto: Agrupa a la clases de transporte de datos entre diversas máquinas
•
negocio.util: Agrupa a las clases de apoyo (excepciones, autenticación....)
NOMENCLATURA DE PAQUETES
•
presentacion.util: Utilidades de apoyo a la capa de presentación (validadores personaliazados, etc...)
•
presentacion.controlador: Agrupa a las interfaces de los action que produce JSF
•
presentacion.controlador.Impl: Agrupa a las clases de que implementan los action provenientes de JSF
INICIO DE VENTANA MAXIMIZADA
this.setLocationRelativeTo(null);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
AGREGANDO ICONO AL FORMULARIO
import java.awt.Image; import javax.swing.ImageIcon;
String url_icono =
"/icono/logo_upn.jpg";
ImageIcon ImageIcon = new ImageIcon(getClass().getResource(url_icono)); Image Image = ImageIcon.getImage();
this.setIconImage(Image);
AGREGANDO MENÚ DE OPCIONES
AGREGANDO JDESKTOPPANE
AGREGANDO NUEVOS FORMULARIOS
FrmDatos frmDatos = new FrmDatos(); Escritorio.add(frmDatos); frmDatos.show();
CONTROLANDO FORMULARIOS MÚLTIPLES
public static boolean winFrmDatos = false;
if (winFrmDatos == false) { winFrmDatos = true; FrmDatos frmDatos = new FrmDatos(); Escritorio.add(frmDatos); frmDatos.show(); }
frmPrincipal.winFrmDatos = false;
CENTRANDO EL FORMULARIO INTERNO
if (winFrmDatos == false) { winFrmDatos = true; FrmDatos frmDatos = new FrmDatos();
Escritorio.add(frmDatos); Dimension desktopSize = Escritorio.getSize(); Dimension FrameSize = frmDatos.getSize(); frmDatos.setLocation((desktopSize.width - FrameSize.width) / 2, (desktopSize.height - FrameSize.height) / 2);
frmDatos.show(); }
CERRANDO EL FORMULARIO PRINCIPAL
Tipo de opciones: •
DEFAULT_OPTION
•
YES_NO_OPTION
•
YES_NO_CANCEL_OPTION
•
OK_CANCEL_OPTION
String titulo = "Confirmar Salida"; String mensaje = "¿Realmente desea salir?";
int salir = JOptionPane.showConfirmDialog(this,mensaje,titulo,JOptionPane.YES_NO_OPTION); if (salir == JOptionPane.OK_OPTION) { System.exit(0);
}
FORMULARIO LOGIN DE USUARIOS
String usuario = txtUsuario.getText();
String clave = txtClave.getText();
if (usuario.length() == 0 || clave.length() == 0) {
JOptionPane.showMessageDialog(this, "!Ingrese Usuario y/o Clave!"); txtUsuario.requestFocus(); } else {
if (usuario.equals("admin") && clave.equals("123")) { frmPrincipal mdi = new frmPrincipal(); mdi.show();
this.dispose(); } else { JOptionPane.showMessageDialog(this, "¡Usuario y/o Contraseña incorrectos!");
} }
this.dispose();
import java.awt.Image; import javax.swing.ImageIcon;
String url_icono =
"/icono/logo_upn.jpg";
ImageIcon ImageIcon = new ImageIcon(getClass().getResource(url_icono)); Image Image = ImageIcon.getImage();
this.setIconImage(Image);
FORMULARIO LOGIN – POR DEFAULT
AGREGANDO BARRA INFORMACIÓN EN EL FORMULARIO PRINCIPAL
String usuario = txtUsuario.getText(); tring clave = txtClave.getText();
if (usuario.length() == 0 || clave.length() == 0) { JOptionPane.showMessageDialog(this, "!Ingrese Usuario y/o Clave!");
txtUsuario.requestFocus(); } else { if (usuario.equals("admin") && clave.equals("123")) {
frmPrincipal mdi = new frmPrincipal(); mdi.show(); this.dispose();
//Enviando datos al formulario principal mdi.lblUsuario.setText(usuario) ; } else {
JOptionPane.showMessageDialog(this, "¡Usuario y/o Contraseña incorrectos!"); } }
¿Preguntas o Comentarios?