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.

¿Fue útil?

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
scroll top