Foros del Web » Programación para mayores de 30 ;) » Java »

Applet java

Estas en el tema de Applet java en el foro de Java en Foros del Web. public void init (){ prueba = getImage(getDocumentBase(), "prueba.jpg"); int pixels[] = new int[640 * 480]; PixelGrabber pg = new PixelGrabber(prueba, 0, 0, 640, 480, pixels, ...
  #1 (permalink)  
Antiguo 18/01/2009, 08:21
 
Fecha de Ingreso: enero-2008
Mensajes: 147
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Applet java

public void init(){
prueba = getImage(getDocumentBase(), "prueba.jpg");
int pixels[] = new int[640 * 480];
PixelGrabber pg = new PixelGrabber(prueba, 0, 0, 640, 480, pixels, 0, 640);
try{pg.grabPixels();}
catch (InterruptedException e){}
k=120;
for (int loop_index = 0; loop_index < 640*480; loop_index++){
int p = pixels[loop_index];
int red = (0xff & (p >> 16))+k;
int green = (0xff & (p >> 8))+k;
int blue = (0xff & p)+k;
if(red>255) red = 255;
if(green>255) green = 255;
if(blue>255) blue = 255;
pixels[loop_index] = (0xff000000 | red << 16 | green << 8 | blue);
}
im2 = createImage(new MemoryImageSource(640,480,pixels,0,640));}

public void paint (Graphics g){
g.drawImage(im2, 10, 10, this);
}}

Buenas, necesito vuestra ayuda, fijaros bien en las dos líneas de código que os resalto, porque si digo que no voy a devolver nada con void luego puedo crear la imagen im2, usarla en paint y encima mostrarla.
  #2 (permalink)  
Antiguo 18/01/2009, 21:35
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Respuesta: Applet java

No entiendo cual es el problema, ni cual es tu duda.
Detallanos un poco más sobre la situación por favor
  #3 (permalink)  
Antiguo 18/01/2009, 23:37
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Applet java

Hola,

No entendí completamente ... ¿Será un problema de sintaxis?

Cita:
Iniciado por piponazo Ver Mensaje
Buenas, necesito vuestra ayuda, fijaros bien en las dos líneas de código que os resalto, porque si digo que no voy a devolver nada con void luego puedo crear la imagen im2, usarla en paint y encima mostrarla.
-- Porque si digo ... [ Afirmativa ]
-- ¿Por qué, si digo ... [ Interrogativa ]

Si fuera así, entonces la respuesta probable sería: porque 'im2' es una variable, declarada en el ámbito global de la misma clase. Y la palabra reservada 'void' no tiene efecto sobre esa variable, puesto que no es un valor devuelto por la función.

Por ejemplo:

Código:
public class Sample {

  private int MyVar = 0;

  public void Change() {
    MyVar = 5;
  }

}
'void' no tiene nada que ver con MyVar.

Saludos,

ps:

Si fuera una afirmación, entonces no hay pregunta en el mensaje.

Última edición por HackmanC; 18/01/2009 a las 23:47 Razón: ps
  #4 (permalink)  
Antiguo 19/01/2009, 02:27
 
Fecha de Ingreso: enero-2008
Mensajes: 147
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Respuesta: Applet java

el código me funciona perfectamente, a eso me refería hackman porque si digo que no voy a devolver nada con void luego:

¿porque puedo crear la imagen im2?

y a pesar de tener otro void en el metodo paint:

¿porque puedo usarla en paint y encima mostrarla?


Gracias por vuestra ayuda.
  #5 (permalink)  
Antiguo 19/01/2009, 07:46
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Respuesta: Applet java

Cuando un applet es ejecutado, primero se llama al método init y luego al método paint.

Como en el método init cargás un gráfico en la variable im2, entonces cuando se invoca a paint, y se trata de dibujar lo que hay en la variable im2, el resultado es que se dibuja la imagen.

No hay ninguna razón por la cual no se te permita crear una imagen en el método init de un applet.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:20.