Java - Que pasa con mi prog?

 
Vista:

Que pasa con mi prog?

Publicado por mauricio Alejandro Peralta Bau (2 intervenciones) el 19/09/2006 01:49:03
import java.applet.*;
import java.awt.*;
import java.awt.image.*;

public class grise1 extends Applet {

Image img = null, imge = null;
int iw, ih;
int pixels [], pixel = 0;

int mat [][];
TextField nimagen = new TextField (17);
String Cad = "";

public void init(){
add (new Label ("Dame la imagen a cargar"));
add (nimagen);
add(new Button ("O.K."));
}

boolean lee (String cad) {
// Carga imagen y la deja en una matriz
boolean b = true;
try {
int kk=0;
img= getImage(getCodeBase(), cad);
do{
Thread.sleep(100);
iw = img.getWidth (this);
ih = img.getHeight (this);
System.out.println ("wi="+iw+" ");
kk++;
}
while (iw == -1 && kk < 50);
if (iw > 0){
pixels = new int [iw * ih];
mat = new int [ih][iw];
PixelGrabber pg = new PixelGrabber (img, 0, 0, iw, ih, pixels, 0, iw);
pg.grabPixels();
}
else b = false;
} catch (InterruptedException e) {b = false;};
return b;
}

public boolean action (Event ev, Object o) {
String cad;
if (ev.target instanceof Button) {
cad = nimagen.getText();
if (lee (cad))
transforma ();
repaint ();
return true;
}
return false;
}

void transforma() {
int i=0;
System.out.println("Transforma");
for (int x=0; x<ih; x++)
for (int y=0; y<iw; y++) {
int p = pixels[i];
int r = 0xff & (p >> 16);
int g = 0xff & (p >> 8);
int b = 0xff & (p);
mat [x][y] = (int)((double)(r+g+b)/3.0);
i++;
}
// transforma la matriz a imagen
imge = transforma (mat, iw, ih);
}


Image transforma (int mat[][], int an, int al) {
int i=0, c;
Image sal;
int pixles[] = new int [an * al];
for (int x=0; x<al; x++){
for (int y=0; y<an; y++){
c=mat[x][y];
pixles[i]=(255 << 24)|(c << 16)|(c << 8)|c;
i++;
}
}
sal = createImage (new MemoryImageSource (an, al, pixles ,0 , an));
return sal;
}

public void paint (Graphics g) {
if (imge != null){
g.drawImage (img, 10, 40, this);
g.drawImage (imge, 410, 40, this);
}
}
}

DESPUES DE ESO ME CREA EL . CLASS, PERO EL PROBLEMA ESTA A LA HORA DE QUERERLO CORRER. ME MANDA EL SIGUIENTE ERROR:

----jGRASP exec: java grise1
Exception in thread "main" java.lang.NoSuchMethodError: main

----jGRASP wedge: exit code for process is 1.
----jGRASP: operation complete.

COMO PUEDEN VER ESTOY TRABAJANDO EN JGRASP, SI ALGUIEN PUEDE AYUDARME A RESOLVERLO SE LO AGREDECERE MUCHO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Que pasa con mi prog?

Publicado por Himura (21 intervenciones) el 19/09/2006 20:16:37
Intenta correrlo desde una pagina HTML, porque es un Applet y no tiene metodo principal (main).

Carga el applet en la pagina y ejecutala

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Que pasa con mi prog?

Publicado por luis (57 intervenciones) el 19/09/2006 20:35:33
intenta esto:
abre un block de notas pon este codigo y guardalo con el nombre que tu quieras pero con la extension HTML y despues abre la ventana del explorador y veras la salida de tu programa ya que es un applet como lo dice Himura

<HTML>
<HEAD>
<TITLE> A Simple Program </TITLE>
</HEAD>
<BODY>

Here is the output of my program:
<APPLET CODE="grise1.class" WIDTH=150 HEIGHT=250>
</APPLET>
</BODY>
</HTML>

otra forma de correrlo es usando el apletviewer por ejejmplo si a tu archivo html lo guardaste con el nombre ejemplo.html y esta guardado en el directorio C:\>
desde una ventana de comandos (shell prompt, cmd, msdos) ejecuta
C:\>appletviewer ejemplo.html

espero te sirva saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Que pasa con mi prog?

Publicado por Mauricio Alejandro Peralta Bau (2 intervenciones) el 19/09/2006 22:39:42
Gracias por su ayuda, pero lo logre correr, ahora el problema es otro: veran, me lanza el aplett, pero me da el siguiente mensaje cuando le doy la ruta a seguir para cargar la imagen:

Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied (java.io.FilePermission /Mauri/ninos.jpg read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
at sun.awt.image.URLImageSource.<init>(URLImageSource.java:37)
at sun.applet.AppletImageRef.reconstitute(AppletImageRef.java:33)
at sun.misc.Ref.get(Ref.java:47)
at sun.applet.AppletViewer.getCachedImage(AppletViewer.java:377)
at sun.applet.AppletViewer.getImage(AppletViewer.java:372)
at java.applet.Applet.getImage(Applet.java:236)
at java.applet.Applet.getImage(Applet.java:258)
at grise1.lee(grise1.java:27)
at grise1.action(grise1.java:51)
at java.awt.Component.handleEvent(Component.java:5800)
at java.awt.Component.postEvent(Component.java:4306)
at java.awt.Component.postEvent(Component.java:4316)
at java.awt.Component.dispatchEventImpl(Component.java:4037)
at java.awt.Component.dispatchEvent(Component.java:3869)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Ojala sepan como solucionarlo, estoy detenido por estos pequenos incovenientes y tengo que entregar el trabajo el jueves, de antemano muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar