Java - Ayuda con paint sencillo en java

 
Vista:

Ayuda con paint sencillo en java

Publicado por NoePucela (3 intervenciones) el 27/04/2009 12:10:15
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.lang.*;
import java.util.*;
import java.awt.geom.*;
public class ComoPaint2 extends Applet
{
Button btnRojo = new Button();
Button btnVerde = new Button();
Button btnAzul = new Button();
Button btnOK = new Button();
FlowLayout flowLayout1 = new FlowLayout();
final Color[] colores={Color.red, Color.green, Color.blue};
int indice;
final int MAXLINES=10;
Point comienzo[] = new Point[MAXLINES];
Point fin[] = new Point[MAXLINES];
Point ancho;
Point puntoactual;
int lineaactual=0;
public void init()
{
btnRojo.setLabel("Rojo");
btnRojo.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
botones_actionPerformed(e);
}
});
btnVerde.setLabel("Verde");
btnVerde.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
botones_actionPerformed(e);
}
});
btnAzul.setLabel("Azul");
btnAzul.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
botones_actionPerformed(e);
}
});
btnOK.setLabel("OK");
btnOK.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
botones_actionPerformed(e);
}
});
flowLayout1.setHgap(10);
this.setLayout(flowLayout1);
this.add(btnRojo, null);
this.add(btnVerde, null);
this.add(btnAzul, null);
TextField tx = new TextField();
add(tx);
this.add(btnOK, null);
}
public boolean mouseDown(Event evt,int x,int y)
{
/*ancho = new Point(x,y);
return true;*/
}
public boolean mouseUp(Event evt,int x,int y)
{
if(lineaactual<MAXLINES)
{
addline(x,y);
}
else
{
System.out.println("Demasiadas lineas.");
}
return true;
}
public boolean mouseDrag(Event evt,int x,int y)
{
puntoactual = new Point(x,y);
repaint();
return true;
}
public void addPunto(int x, int y)
{
comienzo[lineaactual] = ancho;
fin[lineaactual] = new Point (x,y);
lineaactual++;
puntoactual = null;
repaint();
}
public void paint(Graphics g)
{
g.drawRect(0,0,size().width-1,size().height-1);
g.setColor(colores[indice]);
for(int i=0;i<lineaactual;i++)
{
g.setColor(colores[indice]);
g.drawRect(comienzo[i].x,comienzo[i].y,fin[i].x,fin[i].y);
}
if(puntoactual!=null)
{
g.setColor(colores[indice]);
g.drawRect(ancho.x,ancho.y,puntoactual.x,puntoactual.y);
}

}
void botones_actionPerformed(ActionEvent e)
{
Object boton=e.getSource();
if(boton.equals(btnRojo))
{
indice=0;
}
else
{
if(boton.equals(btnVerde))
{
indice=1;
}
else
{
indice=2;
}
}
repaint();
}
}

Este codigo que he puesto lo que me hace es dibujarme lineas rectas del color que yo le diga, y lo que quiero es que me dibuje puntos al azar unidos por lineas que no tienen porque ser lineas rectas, no se si me explico. En la caja de texto tengo que poner un numero y que me lo dibuje segun el numero que ponga de ese grosor.

Ayuda por favor.
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