Creación de un Frame

thebestboy2671
26 de Octubre del 2007
Hola que tal, tengo un problema con un frame que estoy haciendo en java, el cual se trata de mostrar un cierto número de imagenes en el mismo y tambien dar la oportunidad de desplazarse hacia adelante o hacia atras, segun el gusto del usuario. El problema es que no sé cómo cargar todas las imagenes al mismo tiempo (desde un directorio ) sin la necesidad de crear variables para cada una de ellas y también no tengo idea de cuál es el código a poner para los botones Adelante y Siguiente, sólo he podido insertar el evento para cerrar la ventana al presionar el botón de la X. Espero que alguien me pueda ayudar, o si no, que me dijesen, dónde puedo conseguir un manual de java completo, con prácticas y todo. Saludos.

Aquí les dejo el fuente que tengo hasta ahora.

import java.awt.*;
import java.awt.event.*;

// Clase de control del ejemplo
class Java1518 extends Frame {
// Referencia a la imagen
Image imagen;

// Constructor de la clase
public Java1518() {
this.setTitle( "Tutorial de Java, Gráficos" );
this.setSize( 275,250 );

// Recogemos en la variable "imagen" el fichero de imagen que
// se indica, y que se supone situado en el mismo directorio y
// disco que la clase del ejemplo
imagen = Toolkit.getDefaultToolkit().getImage( "muñeco.jpg" );

// Se hace visible el Frame, que en la pantalla da origen a
// la ventana, aunque la primera imagen no es visible en el
// mismo momento en que aparece la ventana en pantalla, porque
// hasta que se invoque por primera vez el método paint(), no
// se colocará una imagen en el contendor
this.setVisible( true );

// Clase anónima anidada que permite terminar la ejecución del
// programa, controlando el botón de cierre del Frame
this.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent evt ) {
// Se sale al sistema
System.exit( 0 );
}
} );
}

public static void main( String[] args ) {
// Se instancia un objeto de la clase
new Java1518();
}

// Se sobrecarga el método para pintar la imagen
public void paint( Graphics g ) {
// Se traslada el origen para evitar el efecto del borde
g.translate( this.getInsets().left,this.getInsets().top );

// Ahora se pinta la imagen a la mitad de su tamaño
g.drawImage( imagen,0,0,imagen.getWidth(this)/2,imagen.getHeight(this)/2,this );
}
}