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
[Link]
[Link]
[Link]
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
• [Link] • [Link].hyphenated_name
• [Link] • int_.example
• [Link] • [Link]._123name
Los paquetes de las aplicaciones Java desarrolladas para las distintas áreas de una
organización deben seguir el siguiente patrón:
[Link].[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:
• [Link]: Agrupan las interfaces de los DAO's de la capa de
persistencia
• [Link]: Implementación de las interfaces de acceso a datos
• [Link]: Agrupa a las clases de entidad que dan origen a las
tablas en la base de datos
• [Link]: Agrupa a las interfaces globales (factoría, genérico,...)
• [Link]: Agrupa a las clases de apoyo (criteria, etc...)
NOMENCLATURA DE PAQUETES
• [Link]: Agrupa a las interfaces que separan la lógica de negocio
• [Link]: Agrupa a las clases que implementan las interfaces de
lógica de negocio
• [Link]: Agrupa a la clases encargadas de transporte de datos entre capas
• [Link]: Agrupa a la clases de transporte de datos entre diversas máquinas
• [Link]: Agrupa a las clases de apoyo (excepciones, autenticación....)
NOMENCLATURA DE PAQUETES
• [Link]: Utilidades de apoyo a la capa de presentación (validadores
personaliazados, etc...)
• [Link]: Agrupa a las interfaces de los action que produce
JSF
• [Link]: Agrupa a las clases de que implementan los
action provenientes de JSF
INICIO DE VENTANA MAXIMIZADA
[Link](null);
[Link](JFrame.MAXIMIZED_BOTH);
AGREGANDO ICONO AL FORMULARIO
import [Link];
import [Link];
String url_icono = "/icono/logo_upn.jpg";
ImageIcon ImageIcon = new ImageIcon(getClass().getResource(url_icono));
Image Image = [Link]();
[Link](Image);
AGREGANDO MENÚ DE OPCIONES
AGREGANDO JDESKTOPPANE
AGREGANDO NUEVOS FORMULARIOS
FrmDatos frmDatos = new FrmDatos();
[Link](frmDatos);
[Link]();
CONTROLANDO FORMULARIOS MÚLTIPLES
public static boolean winFrmDatos = false;
if (winFrmDatos == false) {
winFrmDatos = true;
FrmDatos frmDatos = new FrmDatos();
[Link](frmDatos);
[Link]();
}
[Link] = false;
CENTRANDO EL FORMULARIO INTERNO
if (winFrmDatos == false) {
winFrmDatos = true;
FrmDatos frmDatos = new FrmDatos();
[Link](frmDatos);
Dimension desktopSize = [Link]();
Dimension FrameSize = [Link]();
[Link](([Link] - [Link]) / 2,
([Link] - [Link]) / 2);
[Link]();
}
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 = [Link](this,mensaje,titulo,JOptionPane.YES_NO_OPTION);
if (salir == JOptionPane.OK_OPTION) {
[Link](0);
}
FORMULARIO LOGIN DE USUARIOS
String usuario = [Link]();
String clave = [Link]();
if ([Link]() == 0 || [Link]() == 0) {
[Link](this, "!Ingrese Usuario y/o Clave!");
[Link]();
} else {
if ([Link]("admin") && [Link]("123")) {
frmPrincipal mdi = new frmPrincipal();
[Link]();
[Link]();
} else {
[Link](this, "¡Usuario y/o Contraseña incorrectos!");
}
}
[Link]();
import [Link];
import [Link];
String url_icono = "/icono/logo_upn.jpg";
ImageIcon ImageIcon = new ImageIcon(getClass().getResource(url_icono));
Image Image = [Link]();
[Link](Image);
FORMULARIO LOGIN – POR DEFAULT
AGREGANDO BARRA INFORMACIÓN EN EL
FORMULARIO PRINCIPAL
String usuario = [Link]();
tring clave = [Link]();
if ([Link]() == 0 || [Link]() == 0) {
[Link](this, "!Ingrese Usuario y/o Clave!");
[Link]();
} else {
if ([Link]("admin") && [Link]("123")) {
frmPrincipal mdi = new frmPrincipal();
[Link]();
[Link]();
//Enviando datos al formulario principal
[Link](usuario) ;
} else {
[Link](this, "¡Usuario y/o Contraseña incorrectos!");
}
}
¿Preguntas o
Comentarios?