Hey Leute, ich hab mir vor ein paar Tagen das Prinzip einer Bezier Kurve durchgelesen und es hat mich derart fasziniert, dass ich es unbedingt implementieren musste . Also habe ich mir spaßhalber mal ein Koordinatensystem per JFrame gebastelt. Das Problem ist, dass jedesmal wenn ich das Fenster maximiere bzw. minimiere ein vollkommen anderes Koordinatensystem gezeichnet wird. Es variiert zwischen richtig, falsch, und vollkommen falsch gezeichnet.
Hier mal mein Konstruktor. Also ziemlich standard)
Dann noch die Methode des Zeichnens des Koordinatensystems
und die Horizontalen bzw. Vertikale Striche um den Achsen auch Werte zu geben
Im Allgemeinen ist es nichts besonderes ^^
Falls ihr mir Tipps zu meinem Programmierstil geben wollt, fänd ich das auch ganz toll Dank schonmal im Vorraus für eure Hilfe
Hier mal mein Konstruktor. Also ziemlich standard)
Java:
public FrameTest(){
setSize(500,500);
setLocation(Toolkit.getDefaultToolkit().getScreenSize().width/2 - getWidth()/2,
Toolkit.getDefaultToolkit().getScreenSize().height/2 - getHeight()/2);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
Dann noch die Methode des Zeichnens des Koordinatensystems
Java:
public void drawCoordinates(int x, int y, int xv, int yv, int li, int ob){
Graphics g = getGraphics();
int i = 0;
while((x <= Toolkit.getDefaultToolkit().getScreenSize().width || yv <= Toolkit.getDefaultToolkit().getScreenSize().height)){
drawStrichVertikal(x,y);
if(i == 0){
drawStrichHorizontal(xv,yv);
x += 50;
yv += 50;
i++;
}else{
g.drawString(""+i, x-3, y+20);
g.drawString(""+(-i), xv+10, yv+3);
drawStrichHorizontal(xv,yv);
x += 50;
yv += 50;
i++;
}
}
i = 0;
while(li >= 0 || ob >= 0){
if(i == 0){
drawStrichVertikal(li, getMittey());
drawStrichHorizontal(getMittex(), ob);
li -= 50;
ob -= 50;
i++;
}else{
drawStrichVertikal(li, getMittey());
drawStrichHorizontal(getMittex(), ob);
g.drawString(""+(-i), li-7, getMittey()+20);
g.drawString(""+i, getMittex()+13, ob+3);
li -= 50;
ob -= 50;
i++;
}
}
}
und die Horizontalen bzw. Vertikale Striche um den Achsen auch Werte zu geben
Java:
public void drawStrichVertikal(int x, int y){
Graphics g = getGraphics();
g.drawLine(x, y-5, x, y+5);
}
public void drawStrichHorizontal(int x, int y){
Graphics g = getGraphics();
g.drawLine(x-5, y, x+5, y);
}
Im Allgemeinen ist es nichts besonderes ^^
Falls ihr mir Tipps zu meinem Programmierstil geben wollt, fänd ich das auch ganz toll Dank schonmal im Vorraus für eure Hilfe