Как добавить слушателя мыши к графике Polygon? - PullRequest
0 голосов
/ 17 октября 2019

Я хочу добавить слушателя мусса к этому многоугольнику. Как добавить слушателя мыши к графике Polygon?

public class Domx extends JPanel{

    Domx(){
    }

    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        this.setBackground(Color.white);
        Polygon p4=new Polygon();
        for (int i = -1; i < 2; i++) {
                p4.addPoint((int) (X + i * P4[9] / 2), (int) (Y + P1[10] + P2[10] + P3[10] + P4[10]));
        }
        for (int i = 1; i > -2; i--) {
            p4.addPoint((int) (X + i * P4[8] / 2), (int) (Y + P1[10] + P2[10] + P3[10]));
        }
        g2.fillPolygon(p4);
     }
 }

1 Ответ

1 голос
/ 17 октября 2019

A MouseListener добавляется к компонентам, а Polygon - нет. Вместо этого добавьте прослушиватель мыши к компоненту, который его отображает, а затем, когда происходит действие мыши, проверьте, если polygon.contains(..), прежде чем продолжить.

...