DUDAS CON JAVA
Publicado por JORGE EDUARDO AMAROS C. (2 intervenciones) el 06/07/2010 01:38:38
intente hacer un programa que dando 25 clics en una ventana se dibujaran 25 cuadrons y cuando llegara al 26 empezara a dibujar rectangulos.
Este codigo que aqui incluyo lo hace el problema es que cuando pasa al clic numero 26 los cuadros desaparecen y en su casa empieza con los rectangulos y lo que yo quiero es que se queden los cuadros y empiecen a dibujarse los rectangulos tambien.
Utilizo jcreator 4.50 Pro.
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Event;
public class prog80 extends java.applet.Applet
{
final int MAXSPOTS=50; //Definición de Constante MAXSPOTS
int xspots[]=new int[MAXSPOTS];//Almacenamiento de coordenadas de columnas
int yspots[]=new int[MAXSPOTS];//Almacenamiento de coordenadas de filas
int currspots=0;//Variable que cuenta los puntos
public void init()
{
setBackground(Color.black);//Se pinta el lienzo en negro
}
public boolean mouseDown(Event evt, int x, int y)//se dan 25 clics
{
if(currspots<MAXSPOTS)//valida que sólo sean 25 clics
{
addspot(x,y);//manda la dirección en coordenadas de c/u de los 25 clics
return true;
}
else
{
System.out.println("Demasiados puntos...");//Cuando ya son 25 manda un mensaje
return false;
}
}
void addspot(int x, int y)
{
xspots[currspots]=x;//recoge las coordenadas
yspots[currspots]=y;//recoge las coordenadas
currspots++;//Cuenta los clics
repaint();//Repinta el lienzo por cada clic
}
public void paint(Graphics g)
{
g.setColor(Color.blue);
if(currspots<26)
{
for(int i=0;i<currspots;i++)
{
g.fillRect(xspots[i],yspots[i],40,40);
}
}
else
{
for(int i=26;i<currspots;i++)
{
g.fillRect(xspots[i],yspots[i],40,20);
}
}
}
}
Este codigo que aqui incluyo lo hace el problema es que cuando pasa al clic numero 26 los cuadros desaparecen y en su casa empieza con los rectangulos y lo que yo quiero es que se queden los cuadros y empiecen a dibujarse los rectangulos tambien.
Utilizo jcreator 4.50 Pro.
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Event;
public class prog80 extends java.applet.Applet
{
final int MAXSPOTS=50; //Definición de Constante MAXSPOTS
int xspots[]=new int[MAXSPOTS];//Almacenamiento de coordenadas de columnas
int yspots[]=new int[MAXSPOTS];//Almacenamiento de coordenadas de filas
int currspots=0;//Variable que cuenta los puntos
public void init()
{
setBackground(Color.black);//Se pinta el lienzo en negro
}
public boolean mouseDown(Event evt, int x, int y)//se dan 25 clics
{
if(currspots<MAXSPOTS)//valida que sólo sean 25 clics
{
addspot(x,y);//manda la dirección en coordenadas de c/u de los 25 clics
return true;
}
else
{
System.out.println("Demasiados puntos...");//Cuando ya son 25 manda un mensaje
return false;
}
}
void addspot(int x, int y)
{
xspots[currspots]=x;//recoge las coordenadas
yspots[currspots]=y;//recoge las coordenadas
currspots++;//Cuenta los clics
repaint();//Repinta el lienzo por cada clic
}
public void paint(Graphics g)
{
g.setColor(Color.blue);
if(currspots<26)
{
for(int i=0;i<currspots;i++)
{
g.fillRect(xspots[i],yspots[i],40,40);
}
}
else
{
for(int i=26;i<currspots;i++)
{
g.fillRect(xspots[i],yspots[i],40,20);
}
}
}
}
Valora esta pregunta
0