2009-03-24 91 views
5

Tôi vẽ một hình tam giác bằng đường thẳng. Làm thế nào tôi có thể tô màu lên nó? Cho đến nay tôi chỉ có thể tô màu thành công cho dòng nhưng không tô màu.Cách tô màu trên hình tam giác

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 
     } 

Trả lời

15

Thực hiện một Polygon từ các đỉnh và điền mà thay vào đó, bằng cách gọi 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

làm thế nào để bạn thiết lập màu sắc để điền vào hình tam giác với? – ThunderWiring

8

Bạn cần phải xác định các đỉnh của đa giác của bạn (trong trường hợp này, một hình tam giác) và chuyển vào 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

Cảm ơn .... nhưng đó là hình tam giác trung bình được vẽ bằng cách sử dụng Đường kẻ không thể được tô màu? – Jessy

+0

@Jessy: giao điểm của các đường thẳng (tức là các đỉnh) là các điểm bạn yêu cầu. –

Các vấn đề liên quan