jueves, 29 de abril de 2010

Array y Cadenas

Arrays y Cadenas
Al igual que otros lenguajes de programación, Java permite juntar y manejar múltiples
valores a través de un objeto array (matriz). También se pueden manejar datos
compuestos de múltiples caracteres utilizando el objeto String (cadena).
Arrays
Esta sección te enseñará todo lo que necesitas para crear y utilizar arrays en
tus programas Java.
Como otras variables, antes de poder utilizar un array primero se debe
declarar. De nuevo, al igual que otras variables, la declaración de un array
tiene dos componentes primarios: el tipo del array y su nombre. Un tipo de
array incluye el tipo de dato de los elementos que va contener el array. Por
ejemplo, el tipo de dato para un array que sólo va a contener elementos
enteros es un array de enteros. No puede existir un array de tipo de datos
genérico en el que el tipo de sus elementos esté indefinido cuando se declara
el array. Aquí tienes la declaración de un array de enteros:
int[] arrayDeEnteros;
La parte int[] de la declaración indica que arrayDeEnteros es un array de
enteros. La declaración no asigna ninguna memoria para contener los
elementos del array.
Si se intenta asignar un valor o acceder a cualquier elemento de
arrayDeEnteros antes de haber asignado la memoria para él, el compilador
dará un error como este y no compilará el programa:
testing.java:64: Variable arraydeenteros may not have been initialized.
Para asignar memoria a los elementos de un array, primero se debe
ejemplarizar el array. Se puede hacer esto utilizando el operador new de Java.
(Realmente, los pasos que se deben seguir para crear un array son similares a
los se deben seguir para crear un objeto de una clase: declaración,
ejemplarización e inicialización.
La siguiente sentencia asigna la suficiente memoria para que arrayDeEnteros
pueda contener diez enteros.
int[] arraydeenteros = new int[10]
En general, cuando se crea un array, se utiliza el operador new, más el tipo
de dato de los elementos del array, más el número de elementos deseados
encerrado entre cochetes cuadrados ('[' y ']').
TipodeElemento[] NombredeArray = new TipodeElementos[tamanoArray]
Ahora que se ha asignado memoria para un array ya se pueden asignar
valores a los elemetos y recuperar esos valores:
for (int j = 0; j < arrayDeEnteros.length; j ++) {
arrayDeEnteros[j] = j;
System.out.println("[j] = " + arrayDeEnteros[j]);
}
Como se puede ver en el ejemplo anterior, para referirse a un elemento del
array, se añade corchetes cuadrados al nombre del array. Entre los corchetes
caudrados se indica (bien con una variable o con una expresión) el índice del
elemento al que se quiere acceder. Observa que en Java, el índice del array
empieza en 0 y termina en la longitud del array menos uno.
Hay otro elemento interesante en el pequeño ejemplo anterior. El bucle for
itera sobre cada elemento de arrayDeEnteros asignándole valores e
imprimiendo esos valores. Observa el uso de arrayDeEnteros.length para
obtener el tamaño real del array. length es una propiedad proporcionada para
todos los arrays de Java.
Los arrays pueden contener cualquier tipo de dato legal en Java incluyendo los
tipos de referencia como son los objetos u otros array. Por ejemplo, el
siguiente ejemplo declara un array que puede contener diez objetos String.
String[] arrayDeStrings = new String[10];
Los elementos en este array son del tipo referencia, esto es, cada elemento
contiene una referencia a un objeto String. En este punto, se ha asignado
suficiente memoria para contener las referencias a los Strings, pero no se ha
asignado memoria para los propios strings. Si se intenta acceder a uno de los
elementos de arraydeStrings obtendrá una excepción 'NullPointerException'
porque el array está vacio y no contiene ni cadenas ni objetos String. Se debe
asignar memoria de forma separada para los objetos String:
for (int i = 0; i < arraydeStrings.length; i ++) {
arraydeStrings[i] = new String("Hello " + i);
}

Interface

¿Qué es un Interface?
Definición: Un interface es una colección de definiciones de métodos (sin
implementaciones) y de valores constantes.
Los interfaces se utilizan para definir un protocolo de comportamiento que puede
ser implementado por cualquier clase del árbol de clases.
Los interfaces son útiles para:
capturar similitudes entre clases no relacionadas sin forzar una relación entre
ellas.
l
l declarar métodos que una o varias clases necesitan implementar.
revelar el interface de programación de un objeto sin recelar sus clases (los
objetos de este tipo son llamados objetos anónimos y pueden ser útiles
cuando compartas un paquete de clases con otros desarrolladores).
l
En Java, un interface es un tipo de dato de referencia, y por lanto, puede utilizarse
en muchos de los sitios donde se pueda utilizar cualquier tipo (como en un
argumento de métodos y una declaración de variables). Podrás ver todo esto en:
Utilizar un Interface como un Tipo.
Los Interfaces No Proporcionan Herencia Múltiple
Algunas veces se tratra a los interfaces como una alternativa a la
herencia múltiple en las clases. A pesar de que los interfaces podrían
resolver algunos problemas de la herencia múltiple, son animales
bastantes diferentes. En particular:
l No se pueden heredar variables desde un interface.
No se pueden heredar implementaciones de métodos desde un
interface.
l
La herencia de un interface es independiente de la herencia de la
clase--las clases que implementan el mismo interface pueden o no
estar relacionadas a través del árbol de clases.

miércoles, 7 de abril de 2010

Tipos de objetos graficos que tiene Java

Tipos de objetos graficos que tiene Java

Objetos Gráficos

Java proporciona la clase Graphics, que permite mostrar texto a través del método drawString(), pero también tiene muchos otros métodos de dibujo. Es esencial el entendimiento de la clase Graphics, antes de adentrarse en el dibujo de cualquier cosa en Java. Esta clase proporciona el entorno de trabajo para cualquier operación gráfica que se realice dentro del AWT. Juega dos importantes papeles: por un lado, es el contexto gráfico, es decir, contiene la información que va a afectar a todas las operaciones gráficas, incluyendo los colores de fondo y texto, la fuente de caracteres, la localización y dimensiones del rectángulo en que se va a pintar, e incluso dispone de información sobre el eventual destino de las operaciones gráficas (pantalla o imagen). Por otro lado, la clase Graphics proporciona métodos que permiten el dibujo de primitivas, figuras y la manipulación de fonts de caracteres y colores. También hay clases para la manipulación de imágenes, doble-buffering, etc.

Para poder pintar, un programa necesita un contexto gráfico válido, representado por una instancia de la clase Graphics. Pero, como esta clase es abstracta, no se puede instanciar directamente; así que debemos crear un componente y pasarlo al programa como un argumento a los métodos paint() o update().

Los dos métodos anteriores, paint() y update(), junto con el método repaint() son los que están involucrados en la presentación de gráficos en pantalla. El AWT, para reducir el tiempo que necesitan estos métodos para realizar el repintado en pantalla de gráficos, tiene dos axiomas:

  • Primero, el AWT repinta solamente aquellos Componentes que necesitan ser repintados, bien porque estuviesen cubiertos por otra ventana o porque se pida su repintado directamente
  • Segundo, si un Componente estaba tapado y se destapa, el AWT repinta solamente la porción del Componente que estaba oculta

La pantalla en Java se incrementa de izquierda a derecha y de arriba hacia abajo, tal como muestra la figura:

ejes

Los pixels de la pantalla son pues: posición 0 + ancho de la pantalla - 1.

En los textos, el punto de inserción se encuentra en la línea base de la primera letra.


Para poder hacer uso de las imágenes

La primera es que haremos uso de la clase Image, que pertenece al paquete java.awt.
Creación del Objeto:
Para crearlo, se procede de la misma manera en la que creamos cualquier variable de los tipos primitivos de Java.Image img1;
Localizar la Imagen
Es la ruta del documento web desde el cual se cargará la imagen que deseamos mostrar, y esto se hace mediante la instrucción:getDocumentBase()
Para cargar la imagen
Este método debe ir dentro del método init de un Applet, además que, debe tener como argumento la dirección de la imagen (getDocumentBase()) y el nombre de la misma.Img1= getImage(getDocumentBase(),”t2.gif”);
Para Mostrar La Imagen
Lo hacemos dentro del método paint de un applet. Y es de la siguiente forma:g.drawImage(img1,20,20,this);

Libreria Grafica

Ejemplos