Capitulos de este wiki
  1. 1 Java desde cero
  2. 2 Qué es Java
  3. 3 Lenguaje de Objetos
  4. 4 Independiente de la plataforma
  5. 5 Algunas características
  6. 6 El Java Development Kit
  7. 7 Empecemos de una vez!
  8. 8 Javascript
  9. 9 Al fin. Java!
  10. 11 Estructura de una clase
  11. 12 Estructura de clases
  12. 13 Declaración de la clase
  13. 14 El cuerpo de la clase
  14. 15 El cuerpo de los métodos
  15. 16 Declaración de variables locales
  16. 17 Asignaciones a variables
  17. 18 Operaciones matematicas
  18. 19 Llamadas a métodos
  19. 20 Las estructuras de control
  20. 21 If. [else]
  21. 22 Switch. Case.brake.default
  22. 23 While
  23. 24 Do. While
  24. 25 For
  25. 26 Break y continue
  26. 27 Otras...
  27. 28 Hagamos algo...
  28. 29 La clase Complejo
  29. 30 Algo sobre los métodos
  30. 31 Java a través de la ventana
  31. 32 Nuestra primera ventana
  32. 33 Un poco de detalle
  33. 34 Y los eventos...
  34. 35 Una ventana con vida
  35. 36 Viajando con Java
  36. 37 Preparando listas
  37. 38 Agregando fechas
  38. 39 Juntando todo hasta aquí
  39. 40 Completando la ventana
  40. 41 Un poquito de actividad
  41. 42 Y para terminar...
  42. 43 Finale con tutto
  43. 44 Un paréntesis de entrada/salida
  44. 45 Primera Lectura
  45. 46 Capturando excepciones
  46. 47 Los applets y los archivos
  47. 48 Nuestro modesto "Editor"
  48. 49 Volviendo al awt
  49. 50 Menú a la Java
  50. 51 Dialogos
  51. 52 Dibujava
  52. 53 Canvas en acción
  53. 54 El applet-container
  54. 55 Nuestro Canvas a medida
  55. 56 Dibujava ii
  56. 57 Vectores en acción
  57. 58 Flicker molesto!
  58. 59 Anímate!
  59. 60 Java en hebras
  60. 61 Los pasos basicos
  61. 62 Reunión de amigos
  62. 63 Creando Threads
  63. 64 Y los applets...?
  64. 65 La liebre y la tortuga (y el guepardo)
  65. 66 Sincronicemos los relojes
  66. 67 Mas sincronización
  67. 68 Multimedia!
  68. 69 Parametrizando un applet
  69. 70 Paseando por la red
  70. 71 Los Sockets
  71. 72 Un servidor atento
  72. 73 El cliente satisfecho

Java partiendo de Cero - Vectores en acción

57 - Vectores en acción

[editar]
Curso gratis creado por Jorge Bourdette. Extraido de: http://www.publispain.com/supertutoriales
30 de Noviembre de 1999
1.- Los vectores nos permiten hacer arreglos de cualquier tipo de objeto, y referirnos individualmente a cualquier elemento del vector, aunque para utilizarlos (debido a que para java el vector contiene objetos genéricos) tendremos que decirle qué clase de objeto es mediante un "cast". Vamos a ver cómo quedan nuestras clases Ejemplo16 (ex Ejemplo15) y miCanvas:


import java.awt.*;
import java.util.*;
import java.applet.Applet;

public class Ejemplo16 extends Applet {
public void init() {
................ (esta parte no cambia)................
}
}

class miCanvas extends Canvas {
Vector v = new Vector(); inicializamos con tamaño indeterminado
Java se encarga de manejar la memoria necesaria!

public boolean mouseDown(Event e, int x, int y) {
v.addElement( new Rectangle(x, y, 0, 0) ); nuevo elemento!
repaint();
return false;
}

public boolean mouseDrag(Event e, int x, int y) {
Rectangle r = (Rectangle)v.lastElement();
cast: v son rectángulos
r.resize( x - r.x, y - r.y ); (creé r sólo por claridad)
repaint();
return false;
}

public boolean mouseUp(Event e, int x, int y) {
Rectangle r = (Rectangle)v.lastElement();
cast: v son rectángulos
r.resize( x - r.x, y - r.y ); (creé r sólo por claridad)
repaint();
return false;
}

public void paint(Graphics g) {
int i;
contador de rectángulos
Dimension d = size();
g.setColor(Color.red);
g.drawRect(0, 0, d.width-1, d.height-1);
g.setColor(Color.blue);
if (v.size() > 0)
for (i=0; i<v.size(); i++) {
Rectangle box = cortarRect( (Rectangle)v.elementAt( i ), d);
g.drawRect(box.x, box.y, box.width-1, box.height-1);
}
}
........................ (el resto no cambia) ........................
}

Les sugiero utilizar un HTML que reserve espacio suficiente para ver todo el applet, como:
<HTML>
<HEAD>
<TITLE>Ejemplo 16 - Ejemplo con canvas</TITLE>
</HEAD>
<BODY>
<applet code="Ejemplo16.class" width=300 height=250>
</applet>
</BODY>
</HTML>

Veamos los pasos ahora. En primer lugar creamos una variable (global a la clase) llamada v, de clase Vector, y sin asignarle un tamaño definido:

Vector v = new Vector();

Al crear un nuevo rectángulo agregamos un elemento (objeto) al vector mediante el método add:

v.addElement( new Rectangle(x, y, 0, 0) );

Para acceder a un atributo de un objeto del vector no basta utilizar directamente el vector, como:

v.lastElement().x

(lastElement() nos permite acceder al último elemento agregado al vector). Es necesario aclarar explícitamente que el elemento en cuestión es un rectángulo, ya que el vector puede contener objetos de cualquier tipo. Para eso usamos el casting:

(Rectangle)v.lastElement().x

En nuestro código original reemplazaríamos por:

(Rectangle)v.lastElement().resize( x - (Rectangle)v.lastElement().x, ......

Pero es más claro si usamos una variable local de clase Rectangle, le asignamos el mismo objeto que acabamos de agregar al vector, y lo usamos en su lugar:

Rectangle r = (Rectangle)v.lastElement();
r.resize( x - r.x, y - r.y );

Finalmente, en el método paint() no podemos asignar el elemento hasta no saber que existe (originalmente el vector estaba vacío!). Así que un if nos permite verificar que el tamaño del vector es mayor que cero (tiene elementos), y un for nos permite dibujarlos uno por uno.

Se puede acceder a todos los elementos, uno por uno, mediante el método elementAt(x), que nos da el x-ésimo elemento del vector. El método size() nos da la cantidad de elementos (el primero es el número 0, y así):

if (v.size() > 0)
for (i=0; i<v.size(); i++) {
Rectangle box = cortarRect( (Rectangle)v.elementAt( i ), d);
g.drawRect(box.x, box.y, box.width-1, box.height-1);
}

Aquí no hemos creado variables intermedias ya que igualmente es claro (eso creo...).
[editar]

76 opiniones

ke mall!!!!!!!!!....

heiii por que n0 ponene un programa ke nos ayude aser una ventana en java y ke sake una tabla de multiplicar con kualkier numero ke introdusca el usuario....deberian he....
gracias

es de mucha ayuda
Muchas gracias

Me ayudo mucho
ayuda

me parece muy bueno el aporte...pro necesito la ayuda en como hacer para que una ventana al aparecer vaya creciendo...porfa..
gracias
archivos en java

estoy buscando informacion de como crear archivos en java ,manejo del mismo,llenar leer crear,grabar etc ,e espero me ayuden gracias
1 2 3 4 5 6 7 ... 16 | siguiente >

Cursos gratis relacionados con 'Java partiendo de Cero'

Autor y licencia de 'Java partiendo de Cero'


Curso gratis de Jorge Bourdette. Extraido de: http://www.publispain.com/supertutoriales CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.