Java - DUDAS CON JAVA

 
Vista:

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);
}
}
}
}
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:DUDAS CON JAVA

Publicado por mayrita (163 intervenciones) el 06/07/2010 02:00:21
weno yo creo qeu el problema esta aqui

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);
}
}
}

deberia de ser asi:

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=0;i<26;i++)
g.fillRect(xspots[i],yspots[i],40,40);
for(int i=26;i<currspots;i++)
g.fillRect(xspots[i],yspots[i],40,20);
}
}

http://javafacil.netii.net/dibujos.php
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:DUDAS CON JAVA

Publicado por JORGE EDUARDO AMAROS C. (2 intervenciones) el 06/07/2010 02:14:20
MUCHAS GRACIAS ESTABAS EN LO CORRECTO... TENGO UN PROGRAMA QUE ME MARCA SOLO UN ERROR PERO NO VEO POR QUE.

PODRIAS AYUDARME?

ESTE ES EL ERROR

--------------------Configuration: EventFrame81 - JDK version 1.6.0_07 <Default> - <Default>--------------------
C:\Programas\applets4\EventFrame81\src\EventFrame81.java:16: invalid method declaration; return type required
public EventFrame()
^
1 error

Process completed.


ESTE ES EL CÓDIGO

import java.awt.*;
import java.awt.event;
import javax.Swing;

class EventFrame81 extends JFrame
{
public EventFrame()
{
setTitle("Demostración delUso de Eventos...");
setSize(600,440);
addWindowListener(new MainWindowListener());

Container contenido=getContentPanel();
contenido.add(new ButtonPanel());
}
}

class MainWindowListener extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}

public class EventTest
{
public static void main(String[]args)
{
JFrame frame=new EventFrame();
frame.setVisible(true);
}
}

class ButtonPanel extends JPanel implements ActionListener
{
private JButton redButton;
private JButton greenButton;
private JButton blueButton;

public ButtonPanel()
{
redButton=new JButton("Rojo");
greenButton=new JButton("Verde");
blueButton=new JButton("Azul");

this.add(redButton);
this.add(greenButton);
this.add(blueButton);

redButton.addActionListener(this);
greenButton.addActionListener(this);
blueButton.addActionListener(this);
}

public void actionPerformed(ActionEvent event)
{
Object source=event.getSource();
Color color=getBackground();
if(source==redButton)color=Color.RED;
else
{
if(source==greenButton)
{
color=Color.GREEN;
}
else
{
if(source==blueButton)
{
color=Color.BLUE;
}
}
}
setBackground(color);
repaint();
}
}
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:DUDAS CON JAVA

Publicado por mayrita (163 intervenciones) el 06/07/2010 02:21:10
weno yo creo qeu aqui

class EventFrame81 extends JFrame
{
public EventFrame()
{
te falta por ejemplo void o cosas de esas de qeu tipo es
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