Ir arriba

VISUAL JAVA

ES UN ENTORNO DE DESARROLLO INTEGRADO EN WINDOWS PARA LA PROGRAMACIÓN EN JAVA. VISUAL J++ PERMITE EN UN ÚNICO ENTORNO CREAR, MODIFICAR, GENERAR, EJECUTAR, DEPURAR Y EMPAQUETAR APLICACIONES, PARA ELLO INCORPORA LAS WINDOWS FOUNDATION CLASSES ( W F C ) PARA JAVA. NUEVO MARCO DE APLICACIONES QUE TIENE ACCESO A LA API DE MICROSOFT WINDOWS, QUE PERMITE

CREAR APLICACIONES WINDOWS CON TODAS LAS FUNCIONES EN LENGUAJE DE PROGRAMACIÓN JAVA.

WFC TAMBIÉN ADOPTA EL MODELO DE OBJETOS DE HTML DINÁMICO, IMPLEMENTADO EN INTERNET EXPLORER, QUE PERMITE MANIPULAR DINÁMICAMENTE CÓDIGO HTML TANTO EN EL CLIENTE COMO EN EL SERVIDOR.

CUANDO SE CREA UNA APLICACIÓN WINDOWS CON WFC, EL PROYECTO CONTIENE UN FORMULARIO QUE CONSTITUYE EL CONTENEDOR PRINCIPAL DE LA APLICACIÓN. EN ÉL PUEDES PEGAR CONTROLES WFC PARA DISEÑAR LA INTERFAZ GRÁFICA DE USUARIO.

Contenedor
y
Formulario
Menú
Aplicación
Cambiar
Nombre
Iniciar
y
Detener
Control
Cuadro de dialogo
Paquete
WFC

PARA MODIFICAR LA APLICACIÓN, PUEDES USAR:

  1. EL GENERADOR DE FORMULARIOS PARA MODIFICAR EL FORMULARIO.

    LAS FUNCIONES RAD DEL GENERADOR DE FORMULARIOS PERMITEN TRANSFERIR RÁPIDAMENTE CONTROLES AL FORMULARIO, CONFIGURAR SUS PROPIEDADES Y AGREGAR CONTROLADORES DE EVENTOS.

  2. EL ESQUEMA DE CLASES Y EL EDITOR DE TEXTO PARA MODIFICAR EL CÓDIGO.

    EL ESQUEMA DE CLASES PROPORCIONA UNA VISTA DINÁMICA DEL CONTENIDO Y DE LA ESTRUCTURA DE LAS CLASES JAVA, Y PUEDE AYUDARLE A AGREGAR MÉTODOS Y VARIABLES MIEMBRO.

    EL EDITOR DE TEXTO ES COMPATIBLE CON FUNCIONES INTELLISENSE, COMO LA DE COMPLETAR INSTRUCCIONES, QUE FACILITAN LA ESCRITURA DE CÓDIGO.

  3. CONTROLES DE DATOS WFC Y COMPONENTES PARA OBTENER ACCESO A LOS DATOS DESDE EL FORMULARIO.

    WFC USA ADO PARA RECUPERAR DATOS Y REALIZAR ENLACES DE DATOS SIMPLES.

GENERAR Y EJECUTAR LA APLICACIÓN

CUANDO GENERA LA APLICACIÓN, LOS ERRORES DE COMPILACIÓN QUE PUEDAN DETECTARSE APARECEN EN LA LISTA DE TAREAS. DESPUÉS DE CORREGIR ESTOS ERRORES, PUEDE EJECUTAR LA APLICACIÓN DESDE EL ENTORNO DE PROGRAMACIÓN.

DEPURAR LA APLICACIÓN

AUNQUE LA APLICACIÓN SE COMPILE SIN ERRORES, SU FUNCIONAMIENTO PUEDE NO SER EL PREVISTO. EL PROCESO DE LOCALIZAR Y CORREGIR ERRORES LÓGICOS Y DE TIEMPO DE EJECUCIÓN SE CONOCE COMO DEPURACIÓN.

CON EL DEPURADOR INTEGRADO, PUEDE ESTABLECER PUNTOS DE INTERRUPCIÓN PARA ANALIZAR EL CÓDIGO INSTRUCCIÓN A INSTRUCCIÓN Y COMPROBAR LOS

VALORES DE VARIABLES Y PROPIEDADES.
OTRAS FUNCIONES DEL DEPURADOR INTEGRADO SON LA DEPURACIÓN MULTIPROCESO, LA DEPURACIÓN REMOTA Y LA INTEGRACIÓN DE JAVA CON LAS SECUENCIAS DE COMANDOS.

EMPAQUETAR LA APLICACIÓN

UNA VEZ QUE HAYA TERMINADO DE MODIFICAR Y DEPURAR LA APLICACIÓN, PUEDE EMPAQUETARLA EN UN ARCHIVO .EXE O .CAB Y DISTRIBUIRLA EN EL WEB.

  1. CONTENEDOR - FORMULARIOS Volver al principio

    EN LA PROGRAMACIÓN WFC, LA MAYORÍA DE LAS VENTANAS DE LAS APLICACIONES ESTÁN REPRESENTADAS COMO FORMULARIOS. SE UTILIZAN FORMULARIOS
    SIEMPRE QUE SE DESEA OBTENER UNA SUPERPOSICIÓN INDEPENDIENTE, UN COMPONENTE GRÁFICO, COMO LA VENTANA PRINCIPAL DE UNA APLICACIÓN O UN CUADRO DE DIÁLOGO.

    LOS FORMULARIOS FUNCIONAN COMO CONTENEDORES DE LOS CONTROLES, PERMITIENDO COMPONER LAS APLICACIONES VISUALMENTE. LOS FORMULARIOS TIENEN PROPIEDADES PROPIAS, QUE PUEDEN ESTABLECERSE EN LA VENTANA PROPIEDADES.

    DESDE EL PUNTO DE VISTA DE LA SINTAXIS, UN FORMULARIO ES UNA CLASE JAVA DERIVADA DE LA CLASE COM.MS.WFC.UI.FORM. ÉSTA, A SU VEZ, SE DERIVA DE LA CLASE COM.MS.WFC.UI.CONTROL, COMO OCURRE CON LOS CONTROLES QUE SE COLOCAN EN UN FORMULARIO. CONTROL ENCAPSULA UNA VENTANA WIN32.

    CUANDO SE CREA UN PROYECTO NUEVO, AL ELEGIR APLICACIÓN WINDOWS EN EL CUADRO DE DIÁLOGO NUEVO PROYECTO, SE GENERA UN FORMULARIO DE FORMA AUTOMÁTICA. PUEDE AGREGAR OTROS FORMULARIOS ELIGIENDO AGREGAR ELEMENTO O AGREGAR FORMULARIO EN EL MENÚ PROYECTO.

    DESPUÉS DE HABER AGREGADO UN FORMULARIO AL PROYECTO, EL FORMULARIO PUEDE VERSE EN MODO DE DISEÑO O EN EL EDITOR DE TEXTO. PUEDE UTILIZAR EL DISEÑADOR DE FORMULARIOS PARA CAMBIAR SU TAMAÑO O ESTABLECER SUS PROPIEDADES ELIGIENDO VER DISEÑADOR EN EL MENÚ CONTEXTUAL DEL FORMULARIO, EN EL EXPLORADOR DE PROYECTOS.

    CADA FORMULARIO PERTENECE A UN OBJETO APPLICATION NO VISUAL QUE CONTIENE EL SUBPROCESO PRINCIPAL DE LA APLICACIÓN. LOS FORMULARIOS Y CONTROLES REPRESENTAN LOS COMPONENTES VISUALES DE WINDOWS.

    LA INTEGRACIÓN DE LOS ASPECTOS VISUALES Y NO VISUALES DE LA VENTANA ESTÁN COMPLETAMENTE CONTROLADOS POR EL MARCO DE APLICACIONES WFC.

    AL ABRIR EL EDITOR DE TEXTO EN UN NUEVO FORMULARIO, SE VE LA CLASE BASADA EN PLANTILLA QUE SE HA CREADO PARA USTED Y QUE CONTIENE LA SINTAXIS NECESARIA DE LA CLASE FORM, INCLUIDO UN CONSTRUCTOR Y UN MÉTODO MAIN() CON CÓDIGO QUE CREA INSTANCIAS DE SU FORMULARIO.

    AL TRABAJAR EN MODO DISEÑO, AGREGAR CONTROLES, ESTABLECER PROPIEDADES, ETC., EL DISEÑADOR DE FORMULARIOS INSERTA Y MODIFICA UNA SECCIÓN DE ESTA CLASE.

    PARA AGREGAR CONTROLES, ARRÁSTRELOS DESDE EL CUADRO DE HERRAMIENTAS HASTA EL FORMULARIO, MODIFIQUE SU TAMAÑO Y ESTABLEZCA SUS PROPIEDADES EN LA VENTANA PROPIEDADES.

    EN VISUAL J++ PUEDE ARRASTRAR Y COLOCAR TANTO CONTROLES ACTIVEX COMO CONTROLES WFC EN LOS FORMULARIOS.

    LOS CONTROLES WFC PUEDEN AGRUPARSE EN TRES CATEGORÍAS, AUNQUE NO EXISTEN DIFERENCIAS ENTRE LAS CATEGORÍAS EN CUANTO A LA FORMA EN QUE SE UTILIZAN:

    • CONTROLES INTRÍNSECOS. SON LOS CONTROLES BÁSICOS DE WINDOWS, COMO BOTONES, CASILLAS DE VERIFICACIÓN, CUADROS DE EDICIÓN, CUADROS DE LISTA, ETC.

    • CONTROLES COMUNES. SON LOS CONTROLES COMUNES DE WIN32 QUE SE ENCUENTRAN EN EL ARCHIVO COMCTL32.DLL. ENTRE ESTOS CONTROLES SE INCLUYEN ANIMACIONES, BARRAS DE HERRAMIENTAS, FICHAS, BARRAS DE ESTADO Y CONTROLES DE VISTA EN ÁRBOL.

    • CONTROLES WFC. SON LOS CONTROLES PERSONALIZADOS ESCRITOS ESPECÍFICAMENTE PARA EL MARCO DE APLICACIONES WFC. TODOS LOS CONTROLES WFC EXISTENTES SON CLASES JAVA QUE SE ENCUENTRAN EN EL PAQUETE COM.MS.WFC.UI.

    SI LO DESEA, PUEDE CREAR SUS PROPIOS CONTROLES UTILIZANDO LOS PAQUETES WFC, AMPLIANDO LOS CONTROLES EXISTENTES O ESCRIBIENDO LOS SUYOS PROPIOS DESDE CERO Y AGREGÁNDOLOS AL CUADRO DE HERRAMIENTAS.

    EL MODELO DE COMPONENTES WFC HACE QUE SEA MÁS SENCILLO EXPONER INFORMACIÓN SOBRE LAS PROPIEDADES Y EVENTOS DE SUS CONTROLES, PERMITIENDO QUE FUNCIONEN UNIFORMEMENTE CON EL DISEÑADOR DE FORMULARIOS DE VISUAL J++.


Volver al principio


  • CONSULTAS - MENUS Volver al principio

    LOS MENÚS SE AGREGAN DE FORMA SIMILAR A LOS CONTROLES Y APARECEN EN EL CUADRO DE HERRAMIENTAS COMO OTRO CONTROL CUALQUIERA.

    PARA AGREGAR UN MENÚ, ARRASTRE EL CONTROL MAINMENU DESDE EL CUADRO DE HERRAMIENTAS HASTA EL FORMULARIO.

    UNA VEZ EL MENÚ ESTÁ HABILITADO EN EL FORMULARIO, EL DISEÑADOR DE FORMULARIOS LE PERMITE AGREGAR SUBMENÚS Y ELEMENTOS DE MENÚ CON SÓLO ESCRIBIRLOS EN ÉL. CADA ELEMENTO DE MENÚ TIENE UN CONTROLADOR DE EVENTOS QUE PUEDE ACOPLARSE EN LA FASE DE CODIFICACIÓN DE LA PROGRAMACIÓN.

    ASIMISMO, COMO OCURRE CON LOS CONTROLES, TODO EL CÓDIGO DE IMPLEMENTACIÓN PARA LOS MENÚS Y ELEMENTOS DE MENÚ SE GENERA AUTOMÁTICAMENTE MIENTRAS SE CREA EL MENÚ VISUALMENTE.

    AGREGAR CÓDIGO

    EL DISEÑADOR DE FORMULARIOS LE AYUDA A CREAR UNA CLASE DE FORMULARIO INICIAL E INCLUSO LE PROPORCIONA LA MAYOR PARTE DEL CÓDIGO BÁSICO PARA OBJETOS COMO LOS CONTROLADORES DE EVENTOS. SIN EMBARGO, LLEGADO UN PUNTO, SERÁ NECESARIO QUE REALMENTE ESCRIBA CÓDIGO PARA QUE SU APLICACIÓN HAGA LO QUE USTED DESEA.

    LA LLAMADA A LOS MÉTODOS DE CONTROLADOR DE EVENTOS TIENE LUGAR CUANDO SE DESENCADENA UN EVENTO DESDE UN ELEMENTO DE LA INTERFAZ DE USUARIO EN EL FORMULARIO, COMO HACER CLIC CON EL MOUSE (RATÓN) EN UN CONTROL. EL DISEÑADOR DE FORMULARIOS GENERA EL CÓDIGO BÁSICO PARA EVENTOS COMO ESTOS Y, POR TANTO, ES MÁS UNA CUESTIÓN DE RELLENAR EL CÓDIGO QUE DESEA EJECUTAR CUANDO SE PRODUZCA EL EVENTO.

    EL MODELO DE COMPONENTES WFC EMPLEA UNA NUEVA PALABRA CLAVE EN EL COMPILADOR DE VISUAL J++ ,DELEGATE, QUE ES LA BASE DE LA ADMINISTRACIÓN DE TODOS LOS EVENTOS. SI BIEN LOS DELEGADOS SON TRANSPARENTES AL UTILIZAR EL DISEÑADOR DE FORMULARIOS PARA ASOCIAR CONTROLADORES DE EVENTO A LOS EVENTOS, PUEDEN UTILIZARSE DIRECTAMENTE PARA CASOS MÁS COMPLEJOS, COMO CONSTITUIR EL ORIGEN DE SUS PROPIOS EVENTOS.

    DADO QUE SON ESENCIALMENTE IGUALES QUE UN PUNTERO DE FUNCIÓN EN OTROS LENGUAJES, SON ÚTILES EN VARIOS ASPECTOS.

    ADEMÁS DE LOS CONTROLES Y LOS CONTROLADORES DE EVENTOS, LE SERÁN DE UTILIDAD MUCHAS OTRAS PARTES DE LA BIBLIOTECA WFC.

    • GRÁFICOS. DISPONE DE VARIAS CLASES EN EL PAQUETE COM.MS.WFC.UI, INCLUIDA LA CLASE GRAPHICS, QUE PERMITEN OBTENER ACCESO A LOS SERVICIOS GRÁFICOS DE WINDOWS.

    • COMPATIBILIDAD CON HTML DINÁMICO. EL PAQUETE COM.MS.WFC.HTML PROPORCIONA UN AMPLIO CONJUNTO DE CLASES QUE PERMITEN OBTENER ACCESO AL MODELO DE OBJETOS DHTML QUE IMPLEMENTA INTERNET EXPLORER (VERSIONES 4.0 Y POSTERIORES).

    • COMPATIBILIDAD CON EL ENLACE DE DATOS. WFC ESTÁ DISEÑADO PARA UTILIZAR LOS COMPONENTES DE OBJETOS DE DATOS ACTIVEX (ADO) A FIN DE ADMITIR EL ENLACE DE DATOS SIMPLE Y COMPLEJO.

    • MEDIANTE EL COMPONENTE DATABINDER, SE PUEDE ENLAZAR UN CAMPO DE UN CONJUNTO DE REGISTROS CON LA PROPIEDAD DE CUALQUIER COMPONENTE WFC. WFC TAMBIÉN OFRECE OTROS COMPONENTES DE ENLACE COMPLEJO QUE INTERACTÚAN DIRECTAMENTE CON LOS CONJUNTOS DE REGISTROS.

    • LOCALIZACIÓN (TRADUCCIÓN Y ADAPTACIÓN DE SOFTWARE) WFC PERMITE UNA LOCALIZACIÓN DE CÓDIGO MÁS SENCILLA, YA QUE PUEDE ALMACENAR SUS ELEMENTOS DE RECURSOS, COMO CADENAS, FUENTES Y MAPAS DE BITS, EN UN ARCHIVO DE RECURSOS QUE SE AJUSTE A UNA CONFIGURACIÓN INTERNACIONAL DE IDIOMA O PAÍS ESPECÍFICA.

    • ESTO SIMPLIFICA LA TAREA DE TRADUCIR INTERFACES DE USUARIO A VARIOS IDIOMAS.

    • COMPATIBILIDAD DIRECTA CON API DE WIN32. LA TECNOLOGÍAJ/DIRECT QUE SE PROPORCIONA CON VISUAL J++ PERMITE LLAMAR A CUALQUIER BIBLIOTECA DE ENLACES DINÁMICOS (DLL) DESDE EL CÓDIGO DE JAVA.

    WFC SE GENERA SOBRE UNA ESTRUCTURA DE LLAMADAS J/DIRECT A BIBLIOTECAS WIN32 (IMPLEMENTADAS EN LOS PAQUETES COM.MS.WFC.WIN32 Y COM.MS.WFC.OLE32).

    EN CONSECUENCIA, SI SE ENCUENTRA CÓMODO CON LA PROGRAMACIÓN ESTÁNDAR EN WINDOWS Y DESEA OBTENER ACCESO DIRECTAMENTE A ESAS BIBLIOTECAS, WFC PROPORCIONA LOS ELEMENTOS FUNDAMENTALES (COMO CONTEXTOS DE DISPOSITIVO Y CONTROLES DE VENTANAS) PARA CONCEDERLE EL CONTROL FINAL.

    AUNQUE ESTO PUEDE SER IDEAL EN EL CASO DE ALGUNAS APLICACIONES ESPECIALIZADAS, PARA LA MAYORÍA DE LOS PROGRAMADORES LOS SERVICIOS BÁSICOS DE WFC SERÁN SUFICIENTES.


    Volver al principio


  • CREANDO - CREAR APLICACIONES EN VISUAL J++ Volver al principio

    ESTA SECCIÓN REPASA LOS PASOS NECESARIOS PARA CREAR LA APLICACIÓN MIBLOCDENOTAS EN VISUAL J++. ES ÚTIL OBSERVAR PRIMERO LOS PASOS DEL ENTORNO DE DISEÑO ANTES DE OBTENER ACCESO AL CÓDIGO GENERADO POR EL DISEÑADOR PARA ESTOS PASOS.

    PARA CREAR EL FORMULARIO PRINCIPAL, UTILICE EL CUADRO DE DIÁLOGO NUEVO PROYECTO QUE APARECE LA PRIMERA VEZ QUE ABRE VISUAL J++ O SELECCIONE NUEVO PROYECTO EN EL MENÚ ARCHIVO.

    SELECCIONE EL ICONO APLICACIÓN WINDOWS, ESCRIBA EN EL INTERIOR EL NOMBRE DEL FORMULARIO DE LA APLICACIÓN (EN ESTE CASO, MIBLOCDENOTAS) Y ELIJA ABRIR. VISUAL J++ CREA UN PROYECTO CON ESE NOMBRE. DE FORMA PREDETERMINADA, EL PROYECTO CONTIENE UN FORMULARIO DENOMINADO FORM1.JAVA, QUE, EN UN PASO POSTERIOR, PASARÁ A SER MIBLOCDENOTAS.JAVA.

    AGREGUE CONTROLES Y MENÚS AL FORMULARIO: EL DISEÑADOR DE FORMULARIOS DE VISUAL J++ SIMPLIFICA EL PROCESO DE DISEÑO. PARA ABRIR EL FORMULARIO EN MODO DISEÑO, SELECCIONE FORM1.JAVA EN EL EXPLORADOR DE PROYECTOS Y, A CONTINUACIÓN, ELIJA DISEÑADOR EN EL MENÚ VER (O SELECCIONE VER DISEÑADOR EN EL MENÚ CONTEXTUAL).

    CUANDO SE MUESTRE EL FORMULARIO, PUEDE AGREGAR CONTROLES DESDE EL CUADRO DE HERRAMIENTAS. PARA OBTENER ACCESO A LOS CONTROLES WFC DEL CUADRO DE HERRAMIENTAS, HAGA CLIC EN LA FICHA CUADRO DE HERRAMIENTAS O ELIJA CUADRO DE HERRAMIENTAS EN EL MENÚ VER Y HAGA CLIC EN EL BOTÓN CONTROLES WFC DEL CUADRO DE HERRAMIENTAS PARA MOSTRAR ESOS CONTROLES.

    AGREGAR UN MENÚ ES IGUAL DE FÁCIL: ARRASTRE EL CONTROL MAINMENU DESDE EL CUADRO DE HERRAMIENTAS HASTA EL FORMULARIO Y COLÓQUELO EN EL LUGAR QUE DESEE; DESPUÉS, ESCRIBA EN EL PRIMER CUADRO Y CONTINÚE AGREGANDO ELEMENTOS DE MENÚ EN LOS CUADROS SITUADOS DEBAJO O A LA DERECHA.

    OBSERVE QUE PUEDE CREAR UNA TECLA DE MÉTODO ABREVIADO EN EL MENÚ ESCRIBIENDO EL SÍMBOLO & DELANTE DEL CARÁCTER QUE DESEE. ESE CARÁCTER APARECERÁ SUBRAYADO EN EL MENÚ.

    PARA ESTABLECER LAS PROPIEDADES, UTILICE LA VENTANA PROPIEDADES. EN ESTE CASO, EN LA MAYORÍA DE LAS PROPIEDADES SE HAN MANTENIDO LOS VALORES PREDETERMINADOS POR RAZONES DE SENCILLEZ. SE MODIFICARON LAS SIGUIENTES PROPIEDADES EN EL CONTROL DE EDICIÓN: LA PROPIEDAD MULTILINE SE ESTABLECIÓ EN TRUE, LA PROPIEDAD DOC SE ESTABLECIÓ EN FILL, LA PROPIEDAD SCROLLBARS SE ESTABLECIÓ EN VERTICAL Y LA PROPIEDAD FONT NAME SE ESTABLECIÓ EN FIXEDSYS PARA UNA MEJOR EMULACIÓN DEL BLOC DE NOTAS.

    PROBABLEMENTE DESEARÁ CAMBIAR EL NOMBRE DE ALGUNOS COMPONENTES PARA QUE TENGAN UN MAYOR SENTIDO EN LA PROGRAMACIÓN. PARA CAMBIAR EL NOMBRE, SELECCIONE EL FORMULARIO O CONTROL Y ESTABLEZCA LA PROPIEDAD NAME. EN EL CASO DE MIBLOCDENOTAS, SE REALIZARON LOS SIGUIENTES CAMBIOS DE NOMBRE:


    Nombre predeterminado Nombre nuevo
    Edit1 EditBox
    MainMenu1 Menu
    MenuItem1 FileMenu
    MenuItem2 FileMenuNew
    MenuItem3 FileMenuOpen
    MenuItem4 FileMenuSave
    MenuItem5 FileMenuSaveAs
    MenuItem6 FileMenuExit
    MenuItem7 HelpMenu
    MenuItem8 HelpMenuAbout


    Volver al principio


  • MODIFICAR - CAMBIAR NOMBRE AL FORM1.JAVA Volver al principio

    QUIZÁS DESEE QUE EL FORMULARIO PRINCIPAL TENGA UN NOMBRE DISTINTO DE FORM1.JAVA.

    PARA ELLO, SELECCIONE FORM1.JAVA EN EL EXPLORADOR DE PROYECTOS, HAGA CLIC CON EL BOTÓN SECUNDARIO DEL MOUSE (RATÓN), ELIJA CAMBIAR NOMBRE EN EL MENÚ CONTEXTUAL Y ESCRIBA EL NUEVO NOMBRE (EN ESTE CASO, MIBLOCDENOTAS.JAVA).

    SI CAMBIA ESTE NOMBRE, RECUERDE QUE TAMBIÉN DEBE CAMBIAR TODAS LAS APARICIONES DE FORM1 EN EL CÓDIGO FUENTE. PARA ELLO, PRIMERO CIERRE EL DISEÑADOR DE FORMULARIOS.

    A CONTINUACIÓN, ABRA EL CÓDIGO FUENTE ELIGIENDO VER CÓDIGO EN EL MENÚ CONTEXTUAL. SELECCIONE BUSCAR Y REEMPLAZAR EN EL MENÚ EDICIÓN Y SUSTITUYA TODAS LAS APARICIONES DE FORM1 POR EL NUEVO NOMBRE (POR EJEMPLO, SUSTITUYA FORM1 POR MIBLOCDENOTAS).

    CREE UN CUADRO DE DIÁLOGO

    EL CUADRO DE DIÁLOGO NUEVODIALOGO ES SIMPLEMENTE OTRO FORMULARIO DEL PROYECTO.

    PARA CREAR MÁS FORMULARIOS, ELIJA AGREGAR FORMULARIO EN EL MENÚ PROYECTO, SELECCIONE FORMULARIO EN EL CUADRO DE DIÁLOGO AGREGAR ELEMENTO, ESCRIBA EL NOMBRE DEL NUEVO FORMULARIO (EN ESTE CASO, NUEVODIALOGO.JAVA) Y HAGA CLIC EN ABRIR.

    EN ESTE CASO, SE AGREGARON TRES BOTONES Y SE DENOMINARON YESBUTTON, NOBUTTON Y CANCELBUTTON, CON LAS ETIQUETAS CORRESPONDIENTES (&SÍ, &NO Y &CANCELAR).

    EL CONTROL DE BOTÓN TIENE UNA PROPIEDAD DIALOGRESULT, QUE ES DE UTILIDAD CUANDO SE UTILIZAN LOS BOTONES EN UN CUADRO DE DIÁLOGO MODAL.

    POR EJEMPLO, SI LA PROPIEDAD DIALOGRESULT DEL CONTROL YESBUTTON SE ESTABLECE EN SÍ Y EL USUARIO HACE CLIC EN ESTE BOTÓN, EL CUADRO DE DIÁLOGO SE CIERRA Y DEVUELVE DIALOGRESULTS.YES.

    EN ESTE CASO, LAS PROPIEDADES DIALOGRESULT SE ESTABLECIERON DE LA FORMA SIGUIENTE:

    control propiedad dialogresult
    yesbutton yes
    nobutton no
    cancelbutton cancel

    CABE SEÑALAR QUE LA CLASE FORM TIENE UNA PROPIEDAD ACCEPTBUTTON QUE DETERMINA EN QUÉ BOTÓN SE HACE CLIC CUANDO EL USUARIO PRESIONA LA TECLA ENTRAR.

    EN ESTE CASO, LA PROPIEDAD ACCEPTBUTTON SE ESTABLECIÓ EN EL CONTROL YESBUTTON. LA CLASE FORM TAMBIÉN TIENE UNA PROPIEDAD CANCELBUTTON QUE DETERMINA EN QUÉ BOTÓN SE HACE CLIC AL PRESIONAR LA TECLA ESC; ESTA PROPIEDAD SE ESTABLECIÓ EN EL CONTROL CANCELBUTTON.

    DE IGUAL FORMA, SE UTILIZARON LOS CARACTERES DE MÉTODO ABREVIADO (&) DE LAS ETIQUETAS DE LOS BOTONES PARA ASIGNAR UNA TECLA ESPECÍFICA A CADA BOTÓN (POR EJEMPLO, COMO LA ETIQUETA DEL BOTÓN YESBUTTON ES "&SÍ", AL PRESIONAR S SE HACE CLIC EN ESE BOTÓN).

    DESPUÉS, SE AGREGARON DOS CONTROLES DE ETIQUETA ADICIONALES PARA MOSTRAR EL TEXTO DEL MENSAJE DEL CUADRO DE DIÁLOGO. POR ÚLTIMO, SE AGREGÓ EL CONTROL PICTUREBOX AL FORMULARIO Y LA PROPIEDAD IMAGE DE ESE CONTROL SE ESTABLECIÓ EN UN MAPA DE BITS QUE CONTENÍA UN ICONO CON UN GRÁFICO DE EXCLAMACIÓN.

    DEBIDO A QUE SE AGREGÓ UNA IMAGEN AL FORMULARIO, VISUAL J++ CREÓ DE FORMA AUTOMÁTICA UN ARCHIVO DE RECURSOS (DENOMINADO NUEVODIALOGO.RESOURCES) Y ENVIÓ LA IMAGEN EN SERIE A ESTE ARCHIVO AL GUARDAR EL FORMULARIO.

    EL ARCHIVO DE RECURSOS PROPORCIONA UN SISTEMA PARA TRADUCIR EL FORMULARIO A IDIOMAS DIFERENTES, AUNQUE, EN ESTE CASO, SE UTILIZA EN SU MAYORÍA PARA EL EMPAQUETADO.

    TAMBIÉN SE PUEDE ESTABLECER LA PROPIEDAD LOCALIZABLE DE UN FORMULARIO EN TRUE PARA HACER QUE SE AGREGUE UN ARCHIVO DE RECURSOS AL PROYECTO, EN CUYO CASO TODOS LOS RECURSOS, INCLUIDAS LAS CADENAS, SE AGREGAN AL ARCHIVO DE RECURSOS (.RESOURCE).


    Volver al principio


  • ARRANCAR - INICIAR Y DETENER LA APLICACION Volver al principio

    EL PAQUETE COM.MS.WFC.APP INCLUYE LA CLASE "STATIC" APPLICATION, QUE ES RESPONSABLE DEL PROCESAMIENTO DE VENTANAS DE WIN32, COMO EL REGISTRO, LA CREACIÓN DE INSTANCIAS, LA ADMINISTRACIÓN DEL BUCLE DE MENSAJES, ETC.

    LA VENTANA PRINCIPAL DE LA APLICACIÓN SE CREA LLAMANDO AL MÉTODO APPLICATION.RUN Y PASANDO EL OBJETO DERIVADO DE FORM QUE COMPONE EL ASPECTO VISUAL DE LA VENTANA.

    ESTA LLAMADA SE PRODUCE EN EL MÉTODO MAIN() DE LA CLASE DE PLANTILLA BASADA EN FORM Y GENERADA POR VISUAL J++. SE GENERÓ EL CÓDIGO SIGUIENTE PARA LA APLICACIÓN MIBLOCDENOTAS:

    public static void main(String args[]) { Application.run(new MiBlocdeNotas()); }

    DE FORMA PREDETERMINADA, LA APLICACIÓN BÁSICA CREADA POR UNA PLANTILLA DE VISUAL J++ SE CIERRA UTILIZANDO EL BOTÓN SALIR (X) DE LA VENTANA, EN LA ESQUINA SUPERIOR DERECHA DE LA APLICACIÓN. SIN EMBARGO, ÉSTA PUEDE CERRARSE MEDIANTE PROGRAMACIÓN EN CUALQUIER LUGAR DEL

    CÓDIGO LLAMANDO AL MÉTODO APPLICATION.EXIT. POR EJEMPLO, ESTA APLICACIÓN SE CIERRA AL HACER CLIC EN SALIR EN EL MENÚ ARCHIVO:


    private void FileMenuExit_click(Object sender, Event e)
    {
    // Llamar al nuevo controlador de archivo para ejecutar
    // NuevoDialogo y preguntar al usuario si desea guardar los datos
    this.FileMenuNew_click(sender, e);
    Application.exit();
    }

    UNA VEZ DESCRITO EL CÓDIGO AL QUE SE LLAMA AL EJECUTAR UNA APLICACIÓN, CABE MENCIONAR LA FORMA EN QUE EL USUARIO LA EJECUTA.

    VISUAL J++ INCLUYE FUNCIONES AVANZADAS DE DISTRIBUCIÓN, UNA DE LAS CUALES ES LA CREACIÓN DE UN ARCHIVO EJECUTABLE (.EXE) DE WINDOWS QUE PERMITE A LOS USUARIOS EJECUTAR LAS APLICACIONES WFC DE FORMA SIMILAR A CUALQUIER APLICACIÓN DE WINDOWS, DANDO POR SUPUESTO QUE LAS CLASES WFC SE HALLAN INSTALADAS EN EL EQUIPO DEL USUARIO.

    LAS CLASES WFC SE INCLUYEN EN LA ÚLTIMA VERSIÓN DE LA MÁQUINA VIRTUAL DE JAVA, QUE PUEDE REDISTRIBUIRSE. UN FORMULARIO WFC BÁSICO ES UNA CLASE PÚBLICA QUE AMPLÍA LA CLASE FORM CON UN CONSTRUCTOR PREDETERMINADO Y UN MÉTODO INITFORM. CUANDO SE CREA UNA INSTANCIA DE LA CLASE FORM, EL CONSTRUCTOR DE LA CLASE LLAMA AL MÉTODO INITFORM, QUE ES DONDE EL DISEÑADOR DE FORMULARIOS COLOCA TODO EL CÓDIGO UTILIZADO PARA INICIALIZAR EL FORMULARIO Y LAS PROPIEDADES DE CONTROL.

    OTRO CÓDIGO ESPECÍFICO DE LA APLICACIÓN SIGUE A LA LLAMADA A INITFORM EN EL CONSTRUCTOR.

    EN LA APLICACIÓN MIBLOCDENOTAS, EL TÍTULO DE LA APLICACIÓN SE ESTABLECE AQUÍ (AUNQUE TAMBIÉN PODRÍA HABERSE ESTABLECIDO EN LA VENTANA PROPIEDADES DEL FORMULARIO). EL CONSTRUCTOR DE LA APLICACIÓN MIBLOCDENOTAS ES:


    public MiBlocdeNotas()
    {
    // Requerido para ser compatible con el Diseñador de formularios
    // de Visual J++
    initForm();
    this.setBounds(100, 100, 300, 300);
    this.setText("Sin título - MiBlocdeNotas");
    }

    EL DISEÑADOR DE FORMULARIOS DE VISUAL J++ AGREGA DECLARACIONES PARA LOS CONTROLES INCORPORADOS EN EL CUERPO PRINCIPAL DE LA CLASE, JUSTO DELANTE DEL MÉTODO INITFORM. A CONTINUACIÓN SE PRESENTAN LAS DECLARACIONES DE LOS OBJETOS QUE COMPONEN EL FORMULARIO MIBLOCDENOTAS.JAVA:

    /**
    * NOTA: El Diseñador de formularios de Visual J++ requiere el
    * código siguiente. Puede modificarlo en el editor de formularios.
    * No lo modifique utilizando el editor de texto.
    */


    Container components = new Container();
    MainMenu Menu = new MainMenu();
    MenuItem FileMenu = new MenuItem();
    MenuItem FileMenuNew = new MenuItem();
    MenuItem FileMenuOpen = new MenuItem();
    MenuItem FileMenuSave = new MenuItem();
    MenuItem FileMenuSaveAs = new MenuItem();
    MenuItem FileMenuExit = new MenuItem();
    MenuItem HelpMenu = new MenuItem();
    MenuItem HelpMenuAbout = new MenuItem();
    Edit editbox = new Edit();

    private void initForm()
    {
    . . .

    EL DISEÑADOR DE FORMULARIOS DE VISUAL J++ CREA ESTE CÓDIGO DE DECLARACIÓN, ASÍ COMO EL CÓDIGO DEL MÉTODO INITFORM QUE ESTABLECE LAS PROPIEDADES DEL FORMULARIO Y LOS CONTROLES INSERTADOS EN ÉL.

    LA INFRAESTRUCTURA PARA EL CONTROL DE EVENTOS TAMBIÉN ESTÁ FUERTEMENTE INTEGRADA CON EL DISEÑADOR DE FORMULARIOS, QUE PUEDE GENERAR ASIGNACIONES DE CONTROLADORES DE EVENTOS EN EL MÉTODO INITFORM.

    LAS DOS PRIMERAS INSTRUCCIONES DEL MÉTODO INITFORM DEMUESTRAN CÓMO EL DISEÑADOR DE FORMULARIOS ESTABLECE LAS PROPIEDADES DE UN OBJETO (EN ESTE CASO, ESTABLECE LA PROPIEDAD TEXT DEL ELEMENTO DE MENÚ EN "&NUEVO") Y UTILIZA EL MÉTODO ADDONCLICK DEL OBJETO PARA ESTABLECER UN CONTROLADOR DE EVENTO DE CLIC PARA EL OBJETO.


    private void initForm()
    {
    FileMenuNew.setText("&Nuevo");
    FileMenuNew.addOnClick(new EventHandler(this.FileMenuNew_click));


    Volver al principio


  • CONTROLANDO - CONTROL DE EVENTOS Volver al principio

    LA MAYORÍA DEL CÓDIGO DE LA APLICACIÓN MIBLOCDENOTAS SE GENERA EN LOS MÉTODOS DE CONTROLADOR DE EVENTOS A LOS QUE SE LLAMA AL HACER CLIC EN LOS ELEMENTOS DE MENÚ.

    EL DISEÑADOR DE FORMULARIOS FACILITA LA CREACIÓN DE PLANTILLAS DE CONTROLADORES DE EVENTOS PARA AQUELLOS EVENTOS QUE GENERAN LOS CONTROLES DEL FORMULARIO.

    POR EJEMPLO, PARA AGREGAR UN MÉTODO DE CONTROLADOR PARA LOS EVENTOS DE CLIC DE MENÚ, SÓLO ES NECESARIO HACER DOBLE CLIC EN EL ELEMENTO DE MENÚ EN EL FORMULARIO.

    SI BIEN HACER CLIC DIRECTAMENTE SOBRE UN BOTÓN O UN ELEMENTO DE MENÚ GENERA CONTROLADORES DE EVENTOS DE CLIC, ES IGUAL DE FÁCIL CREAR UNA PLANTILLA DE CÓDIGO DE CONTROLADOR PARA OTROS EVENTOS UTILIZANDO LA FICHA EVENTOS DE LA VENTANA PROPIEDADES.

    A CONTINUACIÓN, EL DISEÑADOR DE FORMULARIOS AGREGA UN MÉTODO DE CONTROLADOR DE EVENTOS ESTRUCTURAL, DONDE PUEDE AGREGARSE CÓDIGO, A LA CLASE DEL FORMULARIO, E INSERTA UNA LLAMADA MENUITEM.ADDONCLICK PARA LA CLASE MENUITEM CORRESPONDIENTE EN INITFORM.

    POR EJEMPLO, AL HACER CLIC EN UN ELEMENTO DE MENÚ DENOMINADO FILEMENUNEW, SE AGREGA LA LÍNEA SIGUIENTE A INITFORM Y SE AGREGA UN MÉTODO DENOMINADO FILEMENUNEW_CLICK A LA CLASE:

    FILEMENUNEW.ADDONCLICK(NEW EVENTHANDLER(THIS.FILEMENUNEW_CLICK));

    EL MÉTODO MENUITEM.ADDONCLICK TOMA UN OBJETO EVENTHANDLER. EL OBJETO EVENTHANDLER SE CREA CON UNA REFERENCIA AL MÉTODO AL QUE HA DE LLAMARSE AL HACER CLIC EN ESE ELEMENTO DE MENÚ.

    ESENCIALMENTE, EL OBJETO MENUITEM CONTROLA LOS CLICS DEL MOUSE (RATÓN) Y LLAMA A CADA CONTROLADOR DE EVENTO QUE INCORPORA, UTILIZANDO EL DELEGADO, CUANDO SE PRODUCE EL EVENTO.

    TODOS LOS OBJETOS DEL CONTROLADOR DE EVENTOS SON DELEGADOS; LA DIFERENCIA ENTRE ELLOS ES EL OBJETO DE EVENTO QUE PASAN AL CONTROLADOR.

    UN DELEGADO EVENTHANDLER PASA UN OBJETO EVENT, QUE CONTIENE INFORMACIÓN DEL EVENTO. SIN EMBARGO, UN DELEGADO KEYEVENTHANDLER, POR EJEMPLO, PASA UN OBJETO KEYEVENT QUE AMPLÍA AL OBJETO EVENT PARA EVENTOS KEYDOWN (TECLA ABAJO) Y KEYUP (TECLA ARRIBA).

    (KEYEVENT INCLUYE UN CAMPO ADICIONAL QUE ESPECIFICA EL CARÁCTER UNICODE Y SI SE COMBINÓ CON LAS TECLAS CTRL, MAYÚS O ALT.)

    EN LA MAYORÍA DE LOS CASOS, LOS PROGRAMADORES DE WFC NO NECESITAN SABER DEMASIADO SOBRE LOS DELEGADOS, YA QUE LOS PAQUETES WFC INCLUYEN CONTROLADORES DE EVENTOS PARA LOS EVENTOS QUE CONTROLAN Y, EN SU MAYOR PARTE, EL DISEÑADOR DE FORMULARIOS GENERA EL CÓDIGO NECESARIO PARA AGREGARLOS.

    A CONTINUACIÓN SE MUESTRA EL CONTROLADOR DE EVENTOS DE LA APLICACIÓN MIBLOCDENOTAS QUE CONTROLA LA SELECCIÓN DE ESTE ELEMENTO DE MENÚ CONCRETO:


    private void FileMenuNew_click(Object sender, Event e)
    {
    // Si el control de edición contiene texto, comprobar si debe
    // guardarse
    if (editbox.getText().length() != 0) {
    // Abre la clase NewDialog como cuadro de diálogo modal
    int result = new NewDialog().showDialog(this);
    // Recupera el resultado
    // Si se hace clic en el botón Sí, abrir el cuadro de
    // diálogo Guardar como
    if (result == DialogResult.YES)
    this.FileMenuSaveAs_click(sender, e);
    // Si se hace clic en el botón No, despejar el control de
    // edición y establecer el título
    else if (result == DialogResult.NO) {
    editbox.setText("");
    this.setText("Sin título - MiBlocdeNotas");
    }
    }
    }

    INDUDABLEMENTE, EL DISEÑADOR DE FORMULARIOS CREA SÓLO LA ESTRUCTURA DEL CONTROLADOR DE EVENTOS. EL CÓDIGO QUE ABRE EL CUADRO DE DIÁLOGO MODAL PERSONALIZADO SE AGREGÓ DE FORMA MANUAL.

    CUADRO DE DIALOGO MODAL

    EN LA APLICACIÓN MIBLOCDENOTAS, CUANDO UN USUARIO HACE CLIC EN NUEVO EN EL MENÚ ARCHIVO, EL CÓDIGO DE ESTE CONTROLADOR DE EVENTOS DETERMINA SI HAY TEXTO EN EL CONTROL DE EDICIÓN. SI ES ASÍ, ABRE UN CUADRO DE DIÁLOGO MODAL QUE MUESTRA UN MENSAJE DONDE SE PREGUNTA AL USUARIO SI DESEA GUARDAR EL TEXTO.

    SI EL USUARIO HACE CLIC EN EL BOTÓN SÍ, SE LLAMA AL MÉTODO MIBLOCDENOTAS.FILEMENUSAVEAS_CLICK, QUE PERMITE AL USUARIO ELEGIR UN ARCHIVO Y GUARDAR EL TEXTO ACTUAL.

    SI EL USUARIO HACE CLIC EN NO, SE DESPEJA EL CONTROL DE EDICIÓN Y EL TÍTULO QUE APARECE EN EL FORMULARIO PRINCIPAL PASA A SER "SIN TÍTULO - MIBLOCDENOTAS".

    EN EL MÉTODO FILEMENUNEW_CLICK, LA LLAMADA A ESTE CUADRO DE DIÁLOGO Y LA RECUPERACIÓN DEL RESULTADO DEL MISMO SE REALIZA EN UNA LÍNEA,

    COMO SE MUESTRA A CONTINUACIÓN:

    INT RESULT = NEW NEWDIALOG().SHOWDIALOG(THIS);

    MIENTRAS EL CUADRO DE DIÁLOGO MODAL ESTÁ ABIERTO, EL VALOR DEL RESULTADO DEL CUADRO DE DIÁLOGO PUEDE ESTABLECERSE DESDE EL FORMULARIO CORRESPONDIENTE. LA CLASE DIALOGRESULT CONTIENE CONSTANTES DE ENTEROS UTILIZADAS CON ESTE FIN, PERO PUEDE DEVOLVERSE CUALQUIER ENTERO.

    EN ESTE CASO, SE UTILIZARON LAS PROPIEDADES DIALOGRESULT DEL BOTÓN, YA QUE SE OBTIENE EL MISMO RESULTADO QUE AL ESTABLECER EL VALOR DIALOGRESULT.

    POR EJEMPLO, AL HACER CLIC EN EL CONTROL YESBUTTON SE ESTABLECE DIALOGRESULT.YES. DESPUÉS, EL MÉTODO SHOWDIALOG DEVUELVE ESTE RESULTADO EN LA CLASE PROPIETARIA AL CERRAR EL CUADRO DE DIÁLOGO.

    EL RESULTADO DE ENTERO QUE DEVUELVE SHOWDIALOG SE UTILIZA PARA DETERMINAR QUÉ ACCIÓN HA DE REALIZARSE.

    EL FORMULARIO NUEVODIALOGO.JAVA SE CREÓ COMO UN NUEVO FORMULARIO UTILIZANDO LA MISMA PLANTILLA FORM DEL FORMULARIO PRINCIPAL DE LA APLICACIÓN.

    OBSERVE QUE EL MÉTODO MAIN() NO ES NECESARIO PARA CUADROS DE DIÁLOGO MODALES Y NO SE HA INCLUIDO EN EL EJEMPLO (SI SE MANTIENE NO SE PRODUCEN ERRORES, PERO NO SE CONSIDERA UNA BUENA PRÁCTICA). ASIMISMO, SE ELIMINARON COMENTARIOS AJENOS EN LA PLANTILLA.

    USO DE UN CUADRO DE MENSAJE COMO CUADRO DE DIÁLOGO MODAL

    PARA CASOS POCO COMPLEJOS, TAMBIÉN PUEDE UTILIZARSE UN CUADRO DE MENSAJE EN LUGAR DE UN CUADRO DE DIÁLOGO MODAL PERSONALIZADO.

    EL CONTROLADOR DEL EVENTO CLIC PARA EL ELEMENTO DE MENÚ ACERCA DE MIBLOCDENOTAS DEL MENÚ AYUDA UTILIZA UN OBJETO MESSAGEBOX DE ESTA FORMA:


    private void HelpMenuAbout_click(Object sender, Event e)
    {
    MessageBox.show("Versión: Visual J++ 6.0", "MiBlocdeNotas");
    }


    Volver al principio


  • CUADROS - CUADRO DE DIALOGO PARA ARCHIVO Volver al principio

    EL CÓDIGO RESTANTE DE INTERÉS EN ESTA APLICACIÓN ESTÁ RELACIONADO CON LA E/S DE ARCHIVOS Y EL USO DE LOS CUADROS DE DIÁLOGO ABRIR ARCHIVO Y GUARDAR ARCHIVO. SE DEMUESTRA CÓMO LAS CLASES WFC SIMPLIFICAN EL TRABAJO DE TRADUCCIÓN, APERTURA, LECTURA Y ESCRITURA DE LOS ARCHIVOS.

    A CONTINUACIÓN SE OFRECE UN BREVE RESUMEN DE LAS CLASES WFC UTILIZADAS CON ESTE FIN.

    EN LA JERARQUÍA DE LAS CLASES WFC, LAS CLASES COM.MS.WFC.UI.OPENFILEDIALOG Y COM.MS.WFC.UI.SAVEFILEDIALOG SE DERIVAN DE COM.MS.WFC.UI.FILEDIALOG.

    FILEDIALOG SE DERIVA DE COMMONDIALOG, QUE ES UN EMPAQUETADOR DE LA API DE CUADROS DE DIÁLOGO COMUNES DE WIN32. TODOS LOS CUADROS DE DIÁLOGO COMUNES SE CONFIGURAN CON PROPIEDADES COMO SETTITLE Y SETFILTER, Y SE EJECUTAN LLAMANDO AL MÉTODO SHOWDIALOG.

    ESTOS CUADROS DE DIÁLOGO PERMITEN A LOS USUARIOS ELEGIR UN NOMBRE AL ABRIR O GUARDAR UN ARCHIVO.

    EL PAQUETE COM.MS.WFC.IO CONTIENE CLASES DE E/S BASADAS EN SECUENCIAS (STREAM). LA CLASE FILE, QUE AMPLÍA DATASTREAM, CONTIENE MÉTODOS PARA LA E/S DE ARCHIVOS.

    EN EL CASO DE LA APLICACIÓN MIBLOCDENOTAS, TODO LO NECESARIO ES ABRIR UN ARCHIVO, LEER SU CONTENIDO EN EL CONTROL DE EDICIÓN (O ESCRIBIR EL CONTENIDO DEL CONTROL DE EDICIÓN EN EL ARCHIVO) Y, A CONTINUACIÓN, CERRAR EL ARCHIVO.

    EN LA APLICACIÓN MIBLOCDENOTAS, EL CÓDIGO DE E/S Y DE CUADRO DE DIÁLOGO DE ARCHIVO SE ENCUENTRA EN LOS MÉTODOS DEL CONTROLADOR DE EVENTOS PARA LOS ELEMENTOS ABRIR, GUARDAR Y GUARDAR COMO DEL MENÚ ARCHIVO.

    NOS CENTRAREMOS EN UNO DE ELLOS, EL CONTROLADOR DE EVENTOS DEL MENÚ ABRIR, YA QUE ABARCA LA FUNCIONALIDAD DE CUADRO DE DIÁLOGO COMÚN Y E/S DE ARCHIVOS. EL CÓDIGO DE FILEMENUOPEN_CLICK ES:


    private void FileMenuOpen_click(Object sender, Event e)
    {
    // Crear un cuadro de diálogo Abrir archivo
    OpenFileDialog ofd = new OpenFileDialog();
    // Establecer filtros y opciones
    ofd.setFilter("Documentos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*");
    ofd.setDefaultExt("txt");
    // Ejecutar el cuadro de diálogo Abrir archivo
    int OK = ofd.showDialog();
    // Comprobar el resultado del cuadro de diálogo después
    // de cerrarse
    if (OK == DialogResult.OK) {
    // Recuperar el nombre de archivo especificado
    fileName = ofd.getFileName();
    // Abrir una secuencia File en ese nombre de archivo
    currentDoc = File.open(fileName);
    // Recuperar la longitud del archivo
    int ilength = (int)currentDoc.getLength();
    // Leer caracteres ANSI para modificar el búfer
    editbox.setText(currentDoc.readStringCharsAnsi(ilength));
    // Cerrar el control del archivo
    currentDoc.close();
    fileOpen=true;
    // Establecer el título de la aplicación
    this.setText(File.getName(fileName) + " - MiBlocdeNotas");
    }
    }

    CUANDO UN USUARIO SELECCIONA ABRIR EN EL MENÚ ARCHIVO, SE LLAMA AL MÉTODO DE CONTROLADOR DE EVENTOS FILEMENUOPEN_CLICK. LAS TRES PRIMERAS LÍNEAS DE CÓDIGO DE ESTE MÉTODO CREAN UN OBJETO OPENFILEDIALOG Y ESTABLECEN LOS FILTROS Y LAS EXTENSIONES QUE UTILIZARÁ EL CUADRO DE DIÁLOGO.

    AUNQUE ESTAS LÍNEAS, EN ESTE CASO, ESTÁN CODIFICADAS MANUALMENTE, SE PUEDE OBTENER EL MISMO RESULTADO CON EL DISEÑADOR DE FORMULARIOS, AGREGANDO UN OBJETO OPENFILEDIALOG AL FORMULARIO Y ESTABLECIENDO SUS PROPIEDADES (DESPUÉS, EL CÓDIGO DE INICIALIZACIÓN SE COLOCA EN EL MÉTODO INITFORM).

    POR ÚLTIMO, SE LLAMA AL MÉTODO OPENFILEDIALOG.SHOWDIALOG PARA ABRIR EL CUADRO DE DIÁLOGO. CUANDO SE CIERRA EL CUADRO DE DIÁLOGO, ESTE MÉTODO DEVUELVE UN ENTERO EQUIVALENTE A DIALOGRESULT.OK, SI EL USUARIO HACE CLIC EN EL BOTÓN ACEPTAR, O DIALOGRESULT.CANCEL, SI EL USUARIO HACE CLIC EN EL BOTÓN CANCELAR.

    SI HACE CLIC EN ACEPTAR, SE RECUPERA EL NOMBRE DEL ARCHIVO DEL OBJETO OPENFILEDIALOG Y SE PASA EL MISMO AL MÉTODO FILE.OPEN; ÉSTE A SU VEZ DEVUELVE UNA SECUENCIA FILE QUE SE ABRE EN EL ARCHIVO COMO ACCESO DE LECTURA/ESCRITURA PARA EL ARCHIVO.

    FILE.OPEN ES UNA UTILIDAD QUE REALIZA LA MISMA FUNCIÓN QUE CREAR UN OBJETO FILE CON EL CONSTRUCTOR SIGUIENTE:

    FILE(FILENAME, FILE.OPEN, FILEACCESS.READWRITE, FILESHARE.NONE);


    Volver al principio


  • WFC - PAQUETES WFC Volver al principio

    LOS FUNDAMENTOS DE WFC SON WINDOWS Y HTML DINÁMICO. WFC ESTÁ FIRMEMENTE ANCLADO EN EL MODELO DE PROGRAMACIÓN DE WINDOWS WIN32, Y PERMITE USAR JAVA PARA ESCRIBIR APLICACIONES BASADAS EN WINDOWS QUE APROVECHAN LAS VENTAJAS DE CONTROLES, EVENTOS Y SISTEMAS DE SERVICIOS DE WINDOWS.

    TAMBIÉN ESTÁ FUERTEMENTE RELACIONADO CON EL MODELO DE OBJETOS DE HTML DINÁMICO, QUE PERMITE CREAR PÁGINAS HTML DE CLIENTE Y DE SERVIDOR CON LAS FUNCIONES DE HTML DINÁMICO DIRECTAMENTE DESDE JAVA.

    EN EL NÚCLEO DE ESTAS TECNOLOGÍAS SE ENCUENTRAN LAS BIBLIOTECAS DE VÍNCULOS DINÁMICOS (ARCHIVOS DLL) QUE PROPORCIONAN LA API PRINCIPAL DEL MARCO DE PROGRAMACIÓN WFC.

    ESTAS BIBLIOTECAS ESTÁN DISPONIBLES EN EL LENGUAJE JAVA GRACIAS A DOS TECNOLOGÍAS DIFERENTE: LA HERRAMIENTA JACTIVEX Y J/DIRECT. SI EL ARCHIVO REPRESENTA UN COMPONENTE COM/ACTIVEX, JACTIVEX CREA CLASES CONTENEDORAS QUE ASIGNAN LOS OBJETOS COM A OBJETOS JAVA. SI NO ESTÁ BASADO EN COM, SE UTILIZA J/DIRECT PARA LLAMAR DIRECTAMENTE AL ARCHIVO DLL Y DIRIGIR LA CONVERSIÓN DE TIPOS DE DATOS ENTRE JAVA Y EL LENGUAJE NATIVO DE LA DLL (COMO C O C++).

    AMBAS TECNOLOGÍAS APROVECHAN LAS FUNCIONES INCORPORADAS Y LA SINERGIA ENTRE EL COMPILADOR JVC Y LA MÁQUINA VIRTUAL DE JAVA DE MICROSOFT. ES IMPORTANTE CONOCER TODO ELLO, PORQUE VARIOS PAQUETES DE WFC SE COMPONEN POR ENTERO DE CLASES CONTENEDORAS COM (GENERADAS POR JACTIVEX) O CLASES J/DIRECT.

    ESTAS CLASES CONTIENEN MÉTODOS QUE SE CORRESPONDEN DIRECTAMENTE CON LA API SUBYACENTE; NO ESTÁN DOCUMENTADAS EN LA REFERENCIA DE WFC PORQUE NO SE SUELE LLAMAR DIRECTAMENTE A ELLAS.

    SIN EMBARGO, SE COMENTAN COMO CLASES DE APOYO PARA OTROS PAQUETES.

    SIN INCLUIR LOS PAQUETES DE FUNCIONES API NATIVAS, HAY SIETE PAQUETES PRINCIPALES EN WFC:

    PAQUETES WFC

    • COM.MS.WFC.APP

      CLASES BASE QUE ENCAPSULAN LAS OPERACIONES DE LAS APLICACIONES DE WINDOWS.

      LA PLANTILLA DE COMPONENTES DE FORMULARIO DE VISUAL J++ USA LOS SERVICIOS DE ESTA CLASE.

      ADEMÁS DE LA ESTRUCTURA BÁSICA DE MANEJO DE MENSAJES DE WINDOWS, HAY COMPATIBILIDAD CON CARACTERÍSTICAS COMO EL PORTAPAPELES, EL REGISTRO, SUBPROCESOS, IDENTIFICADORES (HANDLE) DE VENTANA, INFORMACIÓN DEL SISTEMA, ETC.

    • COM.MS.WFC.CORE

      CLASES BASE DEL MODELO DE COMPONENTE.

      ESTE PAQUETE INCLUYE COMPATIBILIDAD CON CONTENEDORES, EVENTOS, EXCEPCIONES, PROPIEDADES Y LA INFRAESTRUCTURA NECESARIA PARA LA INTERACCIÓN CON FUNCIONES DE VISUAL J++, COMO EL DISEÑADOR DE FORMULARIOS.

    • COM.MS.WFC.DATA

      LAS CLASES JAVA DE OBJETOS DE DATOS ACTIVEX (ADO) QUE PERMITEN EL ACCESO A DATOS Y EL ENLACE DE DATOS.

      ESTE PAQUETE TAMBIÉN INCLUYECOM.MS.WFC.DATA.UI, QUE PROPORCIONA LAS CLASES BASE PARA LOS CONTROLES CON ENLACE A DATOS DE WFC.

    • COM.MS.WFC.HTML

      LAS CLASES UTILIZADAS PARA IMPLEMENTAR HTML DINÁMICO EN JAVA.

      ESTAS CLASES PROPORCIONAN FUNCIONES DE CLIENTE Y DE SERVIDOR.

    • COM.MS.WFC.IO

      LAS CLASES UTILIZADAS PARA OBTENER ACCESO A SECUENCIAS DE DATOS, IMPLEMENTANDO UN PAQUETE COMPLETO PARA LA LECTURA Y ESCRITURA DE SECUENCIAS EN SERIE, PARA EL ACCESO A ARCHIVOS Y PARA LA ASIGNACIÓN ENTRE LOS DIVERSOS TIPOS DE SECUENCIAS DE DATOS.

    • COM.MS.WFC.UI

      CLASES PRINCIPALES (CLASES CORE) DE LOS CONTROLES SUMINISTRADOS CON WFC.

      TAMBIÉN PROPORCIONAN ACCESO A LA API DE GRÁFICOS DE WINDOWS.

    • COM.MS.WFC.UTIL

      CLASES DE UTILIDADES PARA VARIAS FORMAS DE ORDENACIÓN, IMPLEMENTACIÓN DE TABLAS HASH, ETC.

      CLASES DE COMPATIBILIDAD CON INTERFACES API NATIVAS DE WFC

    • COM.MS.WFC.AX

      PROPORCIONA CLASES CONTENEDORAS DE JAVA PARA LAS INTERFACES ACTIVEX.

    • COM.MS.WFC.HTML.OM

      PROPORCIONA CLASES CONTENEDORAS DE JAVA PARA EL MODELO DE OBJETOS DE HTML DINÁMICO.

    • COM.MS.WFC.OLE32

      PROPORCIONA CLASES CONTENEDORAS DE JAVA PARA LOS SERVICIOS OLE.

    • COM.MS.WFC.WIN32

      PROPORCIONA CLASES CONTENEDORAS DE JAVA PARA LA API DE WIN32.


    Volver al principio