Relleno de color en triángulo con un clic del ratón
Pregunta
Me preguntaba cómo llenar en forma de triángulo con color cuando un usuario haga clic en el triángulo.
Hasta el momento estoy usando archivo txt como archivo de entrada para leer las coordenadas del triángulo a ser dibujado en la pantalla.
Solución
Lo hice algo como esto hace mucho tiempo .. aquí hay algo que podría ayudar
Otros consejos
No está seguro de cuál es su "medio ambiente es" ...
Extender un JPanel.
Añadir un MouseAdapter para capturar las coordenadas en el método mouseClicked y guardarlos en una matriz en su panel.
Reemplazar el método drawComponent para dibujar el triángulo.
Algo así como
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);
}
}
}
No es completa, pero ...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow