Hallo Forum,
ich möchte das Applet Triangle zum Zeichnen eines Dreiecks implementieren.
Mit drei Mausklicks sollen die drei Eckpunkte eines Dreiecks durch den Benutzer festgelegt werden.
Danach soll das entsprechende Dreieck gezeichnet werden.
Ein erneuter Mausklick soll das Dreieck wieder löschen, so dass anschließend wieder ein neues Dreieck gemalt werden kann.
Leider wird noch nichts gezeichnet. Habt ihr Ideen wo meine Fehler liegen?
Vielen Dank im Voraus!
Die Ausgabe funktioniert soweit schonmal:
ich möchte das Applet Triangle zum Zeichnen eines Dreiecks implementieren.
Mit drei Mausklicks sollen die drei Eckpunkte eines Dreiecks durch den Benutzer festgelegt werden.
Danach soll das entsprechende Dreieck gezeichnet werden.
Ein erneuter Mausklick soll das Dreieck wieder löschen, so dass anschließend wieder ein neues Dreieck gemalt werden kann.
Leider wird noch nichts gezeichnet. Habt ihr Ideen wo meine Fehler liegen?
Vielen Dank im Voraus!
Java:
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class Triangle extends javax.swing.JApplet implements MouseListener {
final int MAXLINES = 3;
Point starts[] = new Point[MAXLINES]; // Startpunkte
Point ends[] = new Point[MAXLINES]; // Endpunkte
Point anchor; // Koordinaten Klick
int clickcount = 0; // Zähler Klicks
public void init() {
addMouseListener(this);
}
public void mouseClicked(MouseEvent evt) {
if (clickcount < MAXLINES) {
anchor = new Point(evt.getX(), evt.getY());
addline(evt.getX(), evt.getY());
System.out.println("X: " + evt.getX() + " Y: " + evt.getY());
}
else
System.out.println("Too many clicks.");
}
void addline(int x, int y) {
starts[clickcount] = anchor;
ends[clickcount] = new Point(x, y);
anchor = null;
clickcount++;
repaint();
}
public void paint(Graphics g) {
super.paint(g);
for (int i = 0; i < clickcount; i++) {
g.drawLine(starts[i].x, starts[i].y, ends[i].x, ends[i].y);
}
}
public void mouseMoved(MouseEvent evt) {
}
public void mouseEntered(MouseEvent evt) {
}
public void mouseExited(MouseEvent evt) {
}
public void mouseDragged(MouseEvent evt) {
}
public void mousePressed(MouseEvent evt) {
}
public void mouseReleased(MouseEvent evt) {
}
}
Die Ausgabe funktioniert soweit schonmal:
Java:
X: 48 Y: 45
X: 147 Y: 55
X: 100 Y: 93
Too many clicks.