Java - Sobre un applet, que me falla, gracias

 
Vista:

Sobre un applet, que me falla, gracias

Publicado por Ana (20 intervenciones) el 22/04/2006 10:07:28
Hola, estoy haciendo un programilla en java para mover y cambiar las dimensiones de un rectangulo, usando applet etc…pero resulta que a la hora de poner los botones que hacen esto y pulsarlos me sale el error:
El OBJETO NO ACEPTA ESTA PROPIEDAD O METODO
Con otro programa si que me funcionan pero ya he mirado mil veces el codigo y no se pq puede ser: Me puede ayudar alguien con esto
Muchas gracias
Archivo HTML:

<html>
<APPLET code="EJERCICIOS.rectaApplet.class"
codebase="../"
width="600" height="300"
name="recta0"
align="left" HSPACE="50">
</APPLET>
<FORM>
<INPUT TYPE="button" VALUE="MOVER HACIA ARRIBA"
onclick="document.recta0.up();
document.recta0.redraw();">
</BR>
<INPUT TYPE="button" VALUE="MOVER HACIA ABAJO"
onclick="document.recta0.down();
document.recta0.redraw();">
</BR>
<INPUT TYPE="button" VALUE="MOVER A LA IZQUIERDA"
onclick="document.recta0.left();
document.recta0.redraw();">
</BR>
<INPUT TYPE="button" VALUE="MOVER A LA DERECHA"
onclick="document.recta0.right();
document.recta0.redraw();">
</BR>

<INPUT TYPE="button" VALUE="INCREMENTAR ALTO"
onclick="document.recta0.incrementaAlto();
document.recta0.redraw();">
</BR>
<INPUT TYPE="button" VALUE="DECREMENTAR ALTO"
onclick="document.recta0.decrementaAlto();
document.recta0.redraw();">
</BR>
<INPUT TYPE="button" VALUE="INCREMENTAR ANCHO"
onclick="document.recta0.incrementAncho();
document.recta0.redraw();">
</BR>
<INPUT TYPE="button" VALUE="DECREMENTAR ANCHO"
onclick="document.recta0.decrementAncho();
document.recta0.redraw();">
</BR>
<INPUT TYPE="button" VALUE="TRANSPONER"
onclick="document.recta0.trasponer();
document.recta0.redraw();">
</BR></BR>
</html>

ARCHIVO RECTANGULO.JAVA
package EJERCICIOS;

public class rectangulo extends punto {

int Ancho;
int Alto;

void setAncho(int A) { Ancho=A; }
void setAlto(int l) { Alto=l; }

int getAncho() { return Ancho; }
int getAlto() { return Alto; }

void incrementaAncho(int A) { Ancho =Ancho + A;}
void decrementaAncho(int A) { if (Ancho>0) {Ancho -= A; }}

void incrementaAlto(int l) { Alto += l;}
void decrementaAlto(int l) { if (Alto>0) {Alto -= l; }}

void CambiarDim() {
int aux = Ancho;
Ancho = Alto;
Alto = aux;
}

public rectangulo(int x,int y,int ancho1,int alto1) {
super(x,y);
Ancho = ancho1;
Alto = alto1;
}

}
ARCHIVO RECTAAPPLET
package EJERCICIOS;

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

public class rectaApplet extends Applet implements ActionListener {
rectangulo r;
Panel pan=new Panel();
Button[] b=new Button[9];
Color color=new Color(240,120,60);

public void left() { r.moveLeft(10); }
public void right() { r.moveRight(10); }
public void up() { r.moveUp(10); }
public void down() { r.moveDown(10); }
public void incrementAncho() { r.incrementaAncho(10); }
public void decrementAncho() { r.decrementaAncho(10); }
public void incrementaAlto() { r.incrementaAlto(10); }
public void decrementaAlto() { r.decrementaAlto(10); }
public void trasponer() { r.CambiarDim(); }
public void setColor(int s,int g,int b) {
color=new Color(s,g,b);
}

public void init() {
b[0]=new Button("X-");
b[1]=new Button("X+");
b[2]=new Button("Y+");
b[3]=new Button("Y-");
b[4]=new Button("Ancho+");
b[5]=new Button("Ancho-");
b[6]=new Button("Alto+");
b[7]=new Button("Alto-");
b[8]=new Button("Trasponer");
setBackground(Color.black);
setLayout(new BorderLayout());
add("South",pan);
pan.setLayout(new GridLayout(1,9));
for (int i=0; i<9;i++) {
pan.add(b[i]);
b[i].addActionListener(this);
}
}

public void start() {
r=new rectangulo(50,50,50,50);
}

public void actionPerformed(ActionEvent e) {
for (int i=0;i<9;i++) {
if (e.getSource()==b[i]) {
switch (i) {
case 0 : left(); break;
case 1 : right(); break;
case 2 : down(); break;
case 3 : up(); break;
case 4 : incrementAncho(); break;
case 5 : decrementAncho(); break;
case 6 : incrementaAlto(); break;
case 7 : decrementaAlto(); break;
case 8 : trasponer(); break;
}
repaint();
break;
}
}
}

public void paint(Graphics g) {
g.setColor(color);
g.fillRect(r.getX(),r.getY(),r.getAncho(),r.getAlto());

}

}

Los botoncillos de debajo del cuadrado si que me funcionan ok, son los de la pagina web los que me producen ese error al pulsarlos
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:Sobre un applet, que me falla, gracias

Publicado por manru (161 intervenciones) el 22/04/2006 20:49:15
Hola

El codigo que enviaste solamente funcionaria en Netscape (talvez no en versiones nuevas) pero tengo dudas que funcione en Internet Explorer.
Tu mencionas que te funciona en algunos lugares y en otros no...
Donde funciona y donde no funciona?
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:Sobre un applet, que me falla, gracias

Publicado por Ana (20 intervenciones) el 23/04/2006 09:24:42
Hola, gracias por contestar, lo que me funciona es otro ejercicio exactamente igual en Internet Explorer,solo qeu en lugar de ser un rectangulo es un circulo, este ultimo nos lo daban de ejemplo y teniamos que hacer el que yo he mandado, pero me falla.
Lo que si me funciona de ese ejercicio son los botoncillos que se crean en rectaApplet como un panel debajo del cuadrado, y los que no son los que se hacen en la pagina web: archivo rectangulo.html
Gracias!
Un saludo!
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:Sobre un applet, que me falla, gracias

Publicado por manru (161 intervenciones) el 23/04/2006 22:13:01
De acuerdo:

Pero alguna vez pudiste hacer funcionar los botones HTML ???
Aunque sean en otro ejemplo?
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:Sobre un applet, que me falla, gracias

Publicado por Ana (20 intervenciones) el 26/04/2006 18:33:25
Si, muchas gracias y he encontrado ya el error, me habia cargado la linea de rectaApplet.java:
public void redraw() { repaint(); }
y por eso me fallaba, poniendola funcionan ya los botones de javascrit
Muchas gracias y perdona por las molestias
Un saludo!!!
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