Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INDICE:
BIBLIOGRAFA.29
Componente: Es una clase abstracta que representa todo lo que tiene una posicin, un tamao, puede ser pintado en pantalla y puede recibir eventos.
LIBRERAS La utilizacin de objetos dinmicos supone dejar pendiente en el montaje de la aplicacin el enlace de dichos objetos. Cuando la aplicacin est en ejecucin, y slo entonces, se produce el enlace (dinmico) con los objetos contenidos en la librera. La creacin de libreras dinmicas corre a cargo del enlazador o montador (en nuestro caso el ld) aunque tambin es posible indicar al compilador las opciones necesarias para el montaje y de ese modo, ser l quien se encargue de pasrselas al montador. Cuando se crea un objeto dinmico es necesario que dicho cdigo objeto sea independiente de la posicin, para conseguir este tipo de cdigo debe especificarse al compilador la opcin -fPIC (Position IndependentCode).
Un componente desde el punto de vista de programacin esta compuesto por varias secciones y el conjunto de todas ellas dan lugar a la creacin de dichocomponente. Por tanto, primero para no perder el norte, vamos a empezar definiendo elconvenio que es utilizado para organizar dichas secciones por TinyOs. En general, uncomponente posee tres grandes secciones que son: Configuration, Implementation,Modul e. Estas tres secciones han de estar obligatoriamente presentes en cualquiercomponente aunque puedan estar vacas. El estndar de T i n y O s determina, que las secciones de Configuration eImplementatin han de ir en un fichero que recibir el nombre del componente con laextensin .nc y la tercera seccin de
BOTONES Creacin de botones como objetos. Se pueden crear objetos Button con el operador new como se muestra a continuacin:
EVENTOS BUTTON Cada vez que el usuario pulsa un botn, se produce un evento. Los eventos de pulsacin de un botn se pueden capturar sobrecargando el mtodo action ():
SINTAXIS: public Boolean action (Event evt, Object obj) { if (evt.targetinstanceof Button) System.out.println( (String)obj ); else System.out.println( "Evento No-Button" ); }
La distincin entre todos los botones existentes se puede hacer utilizando el objeto destino, pasado por el objeto Event y comparndolo con los objetos botn que se colocaran en la interfaz.
BOTONES DE SELECCIN Los botones de seleccin se pueden agrupar para formar una interfaz de botn de radio (CheckboxGroup), que son agrupaciones de botones Checkbox en las que siempre hay un nico botn activo.
BOTONES AUTOCONTENIDOS La naturaleza orientada a objetos de Java nos da la posibilidad de crear botones completamente auto contenido. En este tipo de botn, se construye el manejador de eventos dentro de la propia clase extendida de botn. Se pueden aadir estos botones a la aplicacin, sin tener que preocuparse de los eventos que pudieran generar.
10
CANVAS Si tenemos un applet que trabaja con imgenes directamente, ya sea un applet grfico o de dibujo, los lienzos o zonas de dibujo llamados Canvas resultan muy tiles.
Los Canvas son un Componente bsico que captura eventos de exposicin (expose). La clase base Canvas no responde a los eventos, sin embargo se puede crear una subclase que sea la encargada de manipular los eventos.
Al permitir saltarse el manejo normal de eventos, y junto con los mtodos de representacin grfica, los Canvas simplifican la produccin de applet que necesitan una nica funcionalidad para distintas reas.
BOTON DE MARCACION Los botones de marcacin llamados Checkbox se utilizan frecuentemente como botones de estado. Proporcionan informacin del tipo S o No (true o false). El estado del botn se devuelve en el argumento Objeto de los eventos Checkbox; el argumento es de tipo booleano: verdadero (true) si la caja se ha seleccionado y falso (false).
11
BOTONES DE LISTA Los botones de seleccin en una lista son llamados Choice y estos permiten el rpido acceso a una lista que contenga una determinada cantidad de elementos.
CONTAINER
PANELES La clase Panel es el ms simple de los Contenedores de Componentes grficos. Se crea una clase no-abstracta Conteiner que sirva de base a los applet y a otras pequeas aplicaciones. La clase Panel consta de dos mtodos propios:
Constructor: cuyo fin es crear un nuevo Panel con un LayoutManager de tipo FlowLayout que es el de defecto.
12
El AWT enviar as al Panel al applet y todos los eventos que sobre l ocurran. El uso de Paneles permite que las aplicaciones puedan utilizar mltiples layouts, es decir, que la disposicin de los componentes sobre la ventana de visualizacin pueda modificarse con mucha flexibilidad. Permite que cada Contenedor pueda tener su propio esquema de fuentes de caracteres, color de fondo, zona de dilogo, etc.
VENTANAS Una Ventana genrica, Windows, puede utilizarse simplemente para que sea la clase padre de otras clases y se puede intercambiar por un Dilogo (Dialog) sin prdida de funcionalidad.
MARCO DE UNA APLICACION El Contenedor de los Componentes es el Frame. Tambin es la ventana principal de la aplicacin, lo que hace que para cambiar el icono o el cursor
13
ETIQUETAS Las etiquetas llamadas Label proporcionan una forma de colocar texto esttico en un panel, para mostrar informacin que no vara o que no puede ser modificada por el usuario.
14
BARRAS DE DESPLAZAMIENTO Es muy comn que se utilicen en determinados applet que necesiten realizar el ajuste de valores lineales en pantalla, resulta til el uso de barras de desplazamiento (Scrollbar). Las barras de desplazamiento proporcionan una forma de trabajar con rangos de valores o de reas como el Componente TextArea, proporcionando las barras automticamente.
Este tipo de interfaz proporciona al usuario un punto de referencia visual de un rango y al mismo tiempo la forma de cambiar los valores. Por ello, las barras de desplazamiento son Componentes un poco ms complejos que
15
Las barras de desplazamiento generan eventos; pero se debe utilizar el mtodo handleEvent() directamente, en lugar del mtodo action(). El destino del evento ser un objeto de la clase Scrollbar, a partir de ste se obtiene la posicin de la barra de desplazamiento.
AREAS DE TEXTO Java a travs del AWT, permite incorporar texto multilnea dentro de zonas de texto (TextArea). Los objetos TextArea se utilizan para
16
CAMPOS DE TEXTO Para la entrada directa de datos se suelen utilizar los campos de texto, que aparecen en pantalla como pequeas cajas que permiten al usuario la entrada por teclado. Los campos de texto o TextField se pueden crear vacos con una longitud determinada, rellenos con texto predefinido.
USO DE LIBRERAS PROPORCIONADAS POR EL LENGUAJE Java es un lenguaje de programacin desarrollado para una multitud de plataformas y procesadores. Consideremos los dos tipos de aplicaciones grficas ms comunes. Modelos de Frames y Applets, se pueden construir usando cualquiera de las dos galeras de componentes visuales, son:
17
Java. lang
Coleccin de tipo bsico siempre importados a cualquier unidad de compilacin. Aqu estn las declaraciones de objetos, clases, wrappers.
18
Java.io Archivos de stream y acceso aleatorio. Librera estndar de entrada y salida. Interfaces Clases DataInputBufferedInputStream DataOutputBufferedOutputStream ExternalizableBufferedReader FilefilterBufferedwrite FilenameFilterByteArrayInputStream OdjectInputByteArrayOutputStream SerializableDataOutputStream File
19
Interfaces Clases ContentHandlerFactory Authenticator DatagramSocketImplFactoryContentHandler FileNameMapDatagramPacket SocketOptionsDatagramSocketImpl URLStreamHanlerFactoryHttpURKConnection URL, etc..
Java.util Clase como de diccionarios, tabla de hash, stack, tcnica de codificacin hora, fecha, etc.
Interfaces Clases Collection AdstractCollection Comparator AdstracList Enumeration AdstrectMap EventListenerAdstrectSecquentialList InteratorAdstractSet List ArreyList Observer Collection
20
Java.Awt AbstractWindowingToolkit que proporciona una capa abstracta que permita llevar una aplicacin en java de un sistema de ventanas a otro. Contiene clases para componentes bsicos de la interfaz, tales como eventos, colores, tipos de letra, botones, campos de texto.
Estructura del awt. La estructura de la versin actual del AWT en la plataforma Java 2 se puede resumir en los puntos siguientes:
Los contenedores contienen componentes, que son los controldores bsicos. No se usan posiciones fijas de los componentes, si no estan situados a traves de una disposicin controlado (layouts) El comn denominador de mas bajo nivel se acerca al teclado, ratn y manejo de eventos. Alto nivel de abstraccin respecto al entorno de ventanas en que se ejecute la aplicacin (no hay reas clientes, ni llamadas a X ). La arquitectura de la aplicacin es dependiente del entorno de ventanas, en vez de tener un tamao fijo.
21
Java.applet El paquete java.applet permite la creacin de appletsatraves de la clase Applet, proporciona interfaces para conectar un applet a un documento web y para audicin de audio. Interfaces Clases AppletContext Applet AppletStub AudiClip
Java.math Proporciona clculos en entero grande y real grande. Clases Bigdecimal Biginteger Adems de la clase Math.
Esta es la clase que representa la librera matemtica de Java. Las funciones que contiene son las de todos los lenguajes, parece que se han metido en una clase solamente a propsito de agrupacin, por eso se
22
Java.rmi Este paquete hace posible que un objeto se ejecute en una maquina virtual Java invoque mtodos de otro objeto que se ejecuta en la mquina virtual distinta; dicha mquina virtual pueden encontrarse en ordenadores diferentes conectados a travs de una red TCP/IP.
Java.text Contiene clase que permiten dar formato especializado a fechas, nmeros y mensajes. Interfaces Clases AttributedChacterIterator Annotation CharacterIteratorAttibutedCharacterIterator ChoceFormat DateFormat Format
23
Java.sound.midi Paquete con clase e interfaces que permitan la captura, procesamiento y reproduccin de msica MIDI. Interfaces Clases ControllerEventListener Instrument MataEventListenerMeteMessage MidiChannel MidiDevice.info MidiDeviceMidiEvent Receiver MidiFileFormat SequecerMidemessage
JAVA .SQL Junto con el paquete javax.sql, incluido en java 2 SDK Edicin para la empresa, forma parte del API de java 2.0 (conexin Java a Base de Datos), y permite la conexin de base de datos, el envi de sentencias SQL y la interpretacin de los resultados de las consultas.
24
JAVA.SWING Paquete que mejora e AWT, proporcionando un conjunto de componentes que se ejecutan de manera uniforme en todas las plataformas. Interfaces Clases Action AbstractAction ComboBoxEditorActonMap Icon Box.Filler ListModelCellRendererPane MenuElementDebugGraphics WindowsConstantsDefaulListSelectionModel JApplet Jbutton JCheckBox JFrameJMenu JLabel
25
EJEMPLOS DONDE PODEMOS NOTAR EL USO DE LAS LIBRERAS. importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; public class AparienciaVisual extends JFrame { private final String cadenas[] = { "Metal", "Motif", "Windows" }; privateUIManager.LookAndFeelInfoapariencias[]; privateJRadioButtonopcin[]; privateButtonGroupgrupo; privateJButtonbotn; privateJLabeletiqueta; privateJComboBoxcuadroCombinado; String s1=""; publicAparienciaVisual() { super( "apariencia visual" ); Container contenedor = getContentPane(); // establecer panel para regin NORTH de esquema BorderLayout JPanelpanelNorte = new JPanel();
26
// CREA UN ARCHIVO DE ACCESO ALEATORIO, ESCRIBIENDO 100 REGISTROS VACOS EN EL DISCO. import java.io.*; importjavax.swing.*; public class CrearArchivoAleatorio { private static final int NUMERO_REGISTROS = 100; // permitir al usuario seleccionar el archivo a abrir privatevoidcrearArchivo() { // mostrar cuadro de dilogo para que el usuario pueda seleccionar el archivo JFileChooserselectorArchivo = new JFileChooser(); selectorArchivo.setFileSelectionMode(JFileChooser.FILES_ONLY ); int resultado = selectorArchivo.showSaveDialog( null ); // si el usuario hizo clic en el botn Cancelar del cuadro de dilogo, regresar if ( resultado == JFileChooser.CANCEL_OPTION ) return; // obtener el archivo seleccionado File nombreArchivo = selectorArchivo.getSelectedFile(); // mostrar error si el nombre del archivo es invlido if ( nombreArchivo == null || nombreArchivo.getName().equals( "" ) )
27
CREACION DE COMPONENTES (VISUALES Y NO VISUALES) DEFINIDOS POR EL USUARIO. Se puede establecer muchas clasificaciones para los componentes. Una de ellas es la de visuales o controles, frente a no visuales. Un componente es visual cuando tiene una representacin grfica en tiempo de diseo y ejecucin (botones, barras de scroll, cuadros de edicin, etc.), y se dice no visual en caso contrario (temporizadores, cuadros de dilogo-no visibles en la fase de diseo, etc). Por lo dems no existen ms diferencias entre ellos, excepto, claro est, las derivadas de la visualizacin del componente. Los componentes no visuales se pueden colocar en los formularios de la misma manera que los controles, aunque en este caso su posicin es irrelevante. Para empezar, los componentes visuales podemos dividirlos a su vez en dos tipos: -Componentes interactivos: permiten que el usuario final los manipule, ya sea introduciendo datos, seleccionado elementos, etc. De forma que estos componentes pueden recibir el foco (con SetFocus) as como los eventos propios del teclado y del ratn. Normalmente, el propio sistema operativo es el encargado de dibujar el aspecto del componente, haciendo el componente las llamadas correspondientes para que este aspecto cambie. -Componente grficos: el propio componente es el encargado de dibujar en la pantalla lo que crea oportuno, bien a travs de las funciones bsicas del API de Windows (con el objeto TCanvas) o bien a travs de otras libreras grficas, como OpenGL, DirectX, etc. Estos componentes, no
28
29
30
31
32
33
34
35
36
Los paquetes son grupos de clases relacionadas; ayudan a organizar su cdigo y proporcionan otra capa encapsulamiento. En programacin, los paquetes, con frecuencia son tiles para agrupar las piezas relacionadas de un programa. Un paquete sirve para dos propsitos: primero, suministra un mecanismo por el cual piezas relacionadas de un programa pueden ser organizadas como una unidad. Se debe tener acceso a las clases definidas dentro de un paquete a travs de su nombre de paquete. As, un paquete proporciona la manera de nombrar una coleccin de clases. Segundo, un paquete participa en los mecanismos de control de acceso en java. Las clases definidas dentro de un paquete pueden hacerse privadas a ese paquete y no accesibles por cdigo fuera del paquete. De este modo, el paquete suministra un medio por el cual las clases pueden ser encapsuladas.
DEFINIR UN PAQUETE:
37
Para crear un paquete, coloque un comando package en la parte superior del archivo fuente de java. Las clases declaradas dentro de ese archivo pertenecern al paquete especificado. Puesto que un paquete define un espacio de nombre, los nombres de las clases que coloque dentro del archivo se convierten en parte de ese espacio del nombre del paquete.
La siguiente es la forma general de la declaracin package: packagepkg; Aqu, pkg es el nombre del paquete. Por ejemplo, el siguiente enunciado crea un paquete de nombre Project1.
package Project1;
38
Puede crear una jerarqua de paquetes. Para hacerlo, simplemente, separe cada nombre de paquete del inmediatamente anterior, por medio de un punto. A continuacin, la forma general de una declaracin de paquete multinivel:
package pack1.pack2.pack3....packN;
Por supuesto, debe crear directorios que soporten la jerarqua del paquete que crea. Por ejemplo:
paquetex.y.z;
Debe almacenarse en ...../X/Y/Z, donde ... especifica la ruta a los directorios especficos.
39
packageMyPack;
Para que un programa encuentre MyPack, una de estas opciones debe ser cierta: el programa es ejecutado desde un directorio inmediatamente anterior a MyPack, o CLASSPATH debe crearse para incluir la ruta a MyPack. La primera alternativa es la mas fcil (y no requiere un cambio a CLASSPATH), pero la segunda le permite a su programa encontrar MyPack sin importar en cual directorio esta el programa.
40
//Demostracin del uso de un paquete packageBookPack; class Book{ private String title; private String author; privateintpubDate; Book (String t, String a, int d){ title= t; author= a; pubDate= d; } void show( ) { System.out.println (title); System.out.println (author); System.out.println (pubDate); System.out.println ( ); } }
41
classBookDemo { public static void main ( String args[ ] ){ Book book [ ] = new Book [5]; book[0] = new Book ("java Beginners Guide", "Schildt", 2001); book[1] = new Book ("java 2 programers Reference", "Schildt", 2000); book[2] = new Book ("HTML Programers Reference", "Powell and Whitworth", 1998); book[3] = new Book ("Red Storm Rising", "Clancy", 1986); book[4] = new Book ("On the Road", "Kerouac", 1955); for (int i=0; i <book.length; i++) book[ i ].show( ); } }
Llame este archivo BookDemo.java y colquelo en un directorio de nombre BookPack. Luego, compile el programa. Asegrese de que el archivo resultante .class est tambin en el directorio BookPack. Luego trate de ejecutar la clase, usando la siguiente linea de comando:
javaBookPack. BookDemo
42
javaBookDemo
La visibilidad de un elemento est determinada por su especificacin de accesos, private, public. protected o por defecto, y el paquete en el que ste resida.De este modo, la visibilidad de un elemento est determinada por su visibilidad dentro de la clase y su visibilidad dentro del paquete. Si un miembro de una clase no tiene especificador de acceso explcito, entonces ste sera visible desde dentro de su paquete pero no por fuera de l. Por esto debe usar como la especificacin de acceso por defecto para los elementos que quiera mantener como privados en un paquete, pero |pblico| dentro de ese paquete.
43
Un miembro private es accesible slo para otro miembro de su clase y no es afectado por su afiliacin a un paquete. Un miembro especificado como protected es accesible dentro de su paquete y a todas las subclases. incluidos. subclases en otros paquetes. Una clase tiene slo dos posibles niveles de acceso : por defecto y pblico. Cuando una clase se declare como prublic, sta es accesible por cualquier otro cdigo. Si una clase tiene acceso por defecto, puede tener acceso a ella slo por otro cdigo dentro de su mismo paquete. Tambin, una clse que se declare public debe residir en un archivo del mismo nombre.
IMPORTAR PAQUETES:
44
Cuando use una clase de otro paquete, puede calificar completamente el nombre de la clase cuete.on el nombre de su paquete. Sin embargo, tal aproximacin puede fcilmente llegar a ser aburrida y complicada, si las clases que est calificando son profundamente anidadas en la jerarqua del paquete. Usando import puede traer uno o ms miembros de un paquete a la vista. Esto le permite usar directamente aquellos miembros, sin hacer explcita las calificaciones del paquete. A continuacin, la forma general de la declaracin import:
importpkg.nombre de clase;
Donde pkg es el nombre del paquete, que puede incluir su ruta (path) completa y nombre de clase el de la clase importada. Si desea importar todo el contenido de un paquete, use un asterisco (*) para el nombre de clase. A continuacin, ejemplos de las dos formas:
importMyPack.MyClass importMyPack.*;
45
importBookPack,*;
Por ejemplo, a continuacin est la clase UseBook recodificada para usar import
//usodel book desdeBookPack classUseBook { public static void main ( String args []) {
46
Esta libreria de clase con frecuencia se refiere a la Interfaz de Programacin de Aplicaciones de java (Java API, ApplicationProgramming Interface). La Java API se almacena en paquetes. En la parte superior de la jerarqua del paquete est java. Descendiendo desde java hay varios subpaquetes, incluidos estos:
java.lang: contiene un gran nmero de clases de propsito general java.io: java.net: contiene las clases de E/S contiene aquellas clases que soportan redes
47
El paquete java.lang es nico porque es importado automticamente dentro de cada programa java.
48
BIBLIOGRAFA:
http://itslmg.wordpress.com/category/unidad-ii-creacion-de-componentesy-librerias-dinamicas/
http://topicos-selectosdeprogramacion-itiz.blogspot.mx/p/creacion-decomponentes.html
http://www.mitecnologico.com/Main/DefinicionCreacionPaquetesLibreria
http://progitca.blogspot.mx/2012/03/instituto-tecnologico-decerroazul.html
http://msdn.microsoft.com/es-es/library/9a81d32x(v=vs.80).aspx
http://progitca.blogspot.mx/2012/03/cerro-azul-ver-instituto-tecnologicode.html
49
50