Fill-in Farbe auf dem Dreieck mit Mausklick
Frage
Ich habe mich gefragt, wie man in einer Dreiecksform mit Farbe zu füllen, wenn ein Benutzer auf dem Dreieck klicken.
Bisher habe ich txt-Datei als Eingabedatei bin mit der Koordinate des Dreiecks zu lesen auf dem Bildschirm gezogen werden.
Lösung
Ich habe so etwas wie dies vor langer Zeit .. hier ist etwas, das
Andere Tipps
Nicht sicher, was Ihre "Umwelt" ...
Erweitern einer JPanel.
Fügen Sie einen Mouseadapter die Koordinaten in der mouseClicked Methode zu erfassen und sie in einem Array in Ihrem Panel speichern.
Überschreiben des drawComponent Verfahren das Dreieck zu ziehen.
So etwas wie
class MyPanel extends JPanel {
private int count = 0;
private Point[] points = new Point[3];
MyPanel() {
setBackground(Color.WHITE);
addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {
if (count == points.length) {
for (int i = 1; i < points.length; i++) {
points[i-1] = points[i];
}
count -= 1;
}
points[count] = e.getPoint();
count += 1;
repaint();
}
}
});
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D gg = (Graphics2D) g;
if (count > 2) {
Polygon polygon = new Polygon();
for (int i = 0; i < count; i++) {
polygon.addPoint(points[i].x, points[i].y);
}
gg.setColor(Color.BLUE);
gg.fill(polygon);
}
}
}
Es ist nicht vollständig, aber ...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow