2009-03-24 3 views
5

Я рисую треугольник, используя линию. Как я могу заполнить цвет? До сих пор я мог только успешно окрасить линию, но не заполнить цвет.Как заполнить цвет треугольником

public void paintComponent(Graphics g){ 
     super.paintComponents(g); 
     int k=0; 
     for (j=0 ; j < numOfLines; j++){ // the values of numOfLines retrieved from other method. 
     g.setColor(Color.green); 
     g.drawLine(x[k], x[k+1], x[k+2], x[k+3]); 
     k = k+4; //index files 
     } 

ответ

15

Сделать Polygon из вершин и заполнить, что вместо того, чтобы, позвонив по телефону fillPolygon(...):

// A simple triangle. 
x[0]=100; x[1]=150; x[2]=50; 
y[0]=100; y[1]=150; y[2]=150; 
n = 3; 

Polygon p = new Polygon(x, y, n); // This polygon represents a triangle with the above 
            // vertices. 

g.fillPolygon(p);  // Fills the triangle above. 
+0

Как вы устанавливаете цвет, чтобы заполнить треугольник? – ThunderWiring

8

Вы должны указать вершины вашего многоугольника (в данном случае, треугольник) и перейти к fillPolygon():

public void paint(Graphics g) 
    { 
    int xpoints[] = {25, 145, 25, 145, 25}; 
    int ypoints[] = {25, 25, 145, 145, 25}; 
    int npoints = 5; 

    g.fillPolygon(xpoints, ypoints, npoints); 
    } 
+0

Спасибо .... но разве этот треугольник, нарисованный с использованием линий, не может быть заполнен цветом? – Jessy

+0

@Jessy: пересечение линий (т. Е. Вершин) - это нужные вам точки. –

 Смежные вопросы

  • Нет связанных вопросов^_^