Java-Netbeans

JAVA - NETBEANS Ing. César E. Aguirre Rodríguez RESUMEN • Formulario principal • Inicio de ventana maximizada •

Views 327 Downloads 30 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Citation preview

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?