2013-09-29 5 views
0
import java.awt.Color; 
import java.awt.Graphics; 
import java.awt.Graphics2D; 
import java.awt.geom.Line2D; 
import java.awt.Rectangle; 
import java.awt.geom.Ellipse2D; 
import javax.swing.JComponent; 



/** 
* object of class myComponent provide a "canvas" to record your art work. 
* 
* @author (Kevin Knapp) 
* @version (9-27-13) 
*/  
public class MyComponent extends JComponent 
{ 

    /** 
    * method used in awt to "paint" on the component 
    * 
    * @param g graphics used to "paint" with 
    * @return  none 
    */ 
    public void paintComponent(Graphics g) 
    { 

     // declares the 2D Graphics object and a Rectangle 
     Graphics2D g2; 


     Ellipse2D.Double outerFace = new Ellipse2D.Double(100,150,300,350); 
     Line2D.Double mouth = new Line2D.Double(200,400,300,400); 
     Ellipse2D.Double leftOuterEye = new Ellipse2D.Double(150,275,50,50); 
     Ellipse2D.Double rightOuterEye = new Ellipse2D.Double(250,275,50,50); 
     Ellipse2D.Double leftPupil = new Ellipse2D.Double(150,285,25,25); 
     Ellipse2D.Double rightPupil = new Ellipse2D.Double(250,285,25,25); 
     Line2D.Double leftEyeLine = new Line2D.Double(150,300,200,300); 
     Line2D.Double rightEyeLine = new Line2D.Double(250,300,300,300); 


     leftPupil.fillArc(75, 100, 200, 200, 90, 270); 

     rightPupil.fillArc(75, 100, 200, 200, 90, 270); 


     g2 = (Graphics2D) g; 
     g2.draw(outerFace); 
     g2.draw(mouth); 
     g2.draw(leftOuterEye); 
     g2.draw(rightOuterEye); 
     g2.draw(leftPupil); 
     g2.draw(rightPupil); 
     g2.draw(leftEyeLine); 
     g2.draw(rightEyeLine); 
    } 
} 

Поэтому я предполагаю, что ошибка означает, что fillArc не является методом, указанным в классах, которые я импортировал, но я Я проверил API и его там, и я также проверил правописание классов, поэтому Idk, что делатьне может найти символ - метод fillArc (int, int, int, int, int, int)

У меня есть круги для зрачков глаз в качестве контрольной точки для дуг, которые я хочу заполнить, но Я не могу даже играть с позиционированием, пока я не получу что-то, чтобы появиться.

+0

формат вашего кода лучше, пожалуйста. – UmNyobe

ответ

0

Метод fillArc() в классе Ellipse2D.Double. Вероятно, вы должны назвать этот метод на объекте Graphics:

g.fillArc(75, 100, 200, 200, 90, 270); 
+0

Я чувствую себя таким глупым lol, но я только что узнал об этом 2 дня назад, спасибо, плохо читайте еще немного, так как я не понимаю вещи g и g2 –

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