Hi!
ich hab da mal ne frage...
schreibe ein programm, mit dem man über netzwerk so eine art whiteboard anwendung hat. (ein server, mehrere clients)
alle formen (kreis, rechteck,....) gehen schon, bis auf den pfeil.
hab mir nun gedacht ich errechne mir die positionen des spitzes, aber irgendwie klappt das nicht...
die frage die sich nun stellt ist folgende:
wie wende ich nun die AffineTransformation Klasse auf einen Standardpfeil an oder was soll ich nun tun??
danke, mfg
ich hab da mal ne frage...
schreibe ein programm, mit dem man über netzwerk so eine art whiteboard anwendung hat. (ein server, mehrere clients)
alle formen (kreis, rechteck,....) gehen schon, bis auf den pfeil.
hab mir nun gedacht ich errechne mir die positionen des spitzes, aber irgendwie klappt das nicht...
Code:
public class Pfeil extends Element
{
public Pfeil(int startx, int starty, int endx, int endy)
{
this.startx = startx;
this.starty = starty;
this.endx = endx;
this.endy = endy;
int compx;
int compy;
if (startx > endx)
{
compx = endx;
}
else
{
compx = startx;
}
if (starty > endy)
{
compy = endy;
}
else
{
compy = starty;
}
this.setBounds(compx, compy, Math.abs(endx - startx),
Math.abs(endy - starty));
}
public void paint(Graphics g)
{
super.paint(g);
g.setColor(color);
g.drawLine(startx - this.getLocation().x, starty - this.getLocation().y,
endx - this.getLocation().x, endy - this.getLocation().y);
double xp1 = 5*Math.cos((Math.atan(((starty - this.getLocation().y)-(endy - this.getLocation().y))/((startx - this.getLocation().x)-(endx - this.getLocation().x)))-45)*180/Math.PI);
double yp1 = 5*Math.sin(Math.atan((((starty - this.getLocation().y)-(endy - this.getLocation().y))/((startx - this.getLocation().x)-(endx - this.getLocation().x)))-45)*180/Math.PI);
double xp2 = 5*Math.cos(Math.atan(((starty - this.getLocation().y)-(endy - this.getLocation().y))/((startx - this.getLocation().x)-(endx - this.getLocation().x)))-45);
double yp2 = 5*Math.sin(Math.atan(((starty - this.getLocation().y)-(endy - this.getLocation().y))/((startx - this.getLocation().x)-(endx - this.getLocation().x)))-45);
g.drawLine((int)xp1, (int) yp1,
endx - this.getLocation().x, endy - this.getLocation().y);
g.drawLine((int)xp2,(int) yp2,
endx - this.getLocation().x, endy - this.getLocation().y);
}
}
die frage die sich nun stellt ist folgende:
wie wende ich nun die AffineTransformation Klasse auf einen Standardpfeil an oder was soll ich nun tun??
danke, mfg