java.das awt.Grafik Farbe ändern nach Zeichnung

Ich habe eine ähnliche Frage vor einer Weile hier, aber habe nicht eine Antwort bekommen. Die ursprüngliche Frage war über das ändern der Farbe, der Form nach auf es klicken. Aber ich bin verwirrt über, wie Sie auf die Form an, nachdem es gezeichnet ist.

Dies ist meine paintComponent Methode

    @Override
protected void paintComponent(Graphics graph) {
    super.paintComponent(graph);
    Graphics2D g = (Graphics2D) graph;
    //smooth graphics
    g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    //moving to the middle of the panel
    g.translate(this.getWidth()/2, this.getHeight()/2);

    //painting colored arcs
    for(int i = 0; i < 4; i++) {
        g.setColor(dimColors[i]);
        g.fill(arcs[i]);            
    }

    //painting borders
    g.setColor(Color.BLACK);
    g.setStroke(new BasicStroke(5F));
    g.drawLine(-98, 0, 98, 0);
    g.drawLine(0, -98, 0, 98);      
    g.draw(circle);     

    //painting central white circle
    g.setColor(Color.WHITE);
    g.fill(smallCircle);        
    g.setColor(Color.BLACK);
    g.draw(smallCircle);    

}

den arcs [] - array enthält eine Reihe von Arc2D ist, die gezeichnet werden auf dem Bedienfeld. Meine Frage ist jetzt, wenn ich die Farbe ändern möchten, zum Beispiel Bögen[0], wie mache ich das?

Dank!

EDIT: ich habe jetzt diese MouseAdapter Veranstaltung

     private class MyMouseAdapter extends MouseAdapter {
     public void mousePressed(MouseEvent e) {

         Point p = e.getPoint();
         Component c = getComponentAt(p);

         Graphics g = c.getGraphics();

         dimColors[1] = Color.RED;

         paintComponent(g);

     }
 }

Und es funktioniert, es ändert sich die Farbe des arc[1], weil Bögen[1] hat dimColors[1] als Farbe beim zeichnen.

Aber ich kann immer noch nicht herausfinden, wie um zu prüfen, ob das Recht arc geklickt wurde. Jetzt, klicken Sie einfach irgendwo auf die Grafik panel und es ändert sich die Farbe des jeweiligen arc

InformationsquelleAutor zeta | 2011-11-20
Schreibe einen Kommentar