2014-10-24 1 views
1
public class paintObjects extends JPanel{ 

    public void paintComponent(Graphics g){ 
     super.paintComponent(g); 
     Rectangle r = new Rectangle(25, 25, 100, 100); 
     g.fillRect(r.getX(), r.getY(), r.getWidth(), r.getHeight()); 
     g.setColor(Color.BLUE); 

     } 

나는 fillRect 할에 오류를 가지고 있고 그 위에 마우스를 가져 가면, 그것은 종류의 그래픽에있어서, fillRect 할이 (INT, int, int, int)에 적용 하지fillRect 할 그래픽 오류

말한다

하지만 사람이하는 방법을 말해 줄 수 있다면,이 문제를 해결하는 방법을 잘 모르겠어요 더블 더블 더블 더블 인수 (위해. 나는 감사 할 것입니다.

+0

은/MCVE는 짧은 실행 가능한, 컴파일 가능한 – mKorbel

답변

1

public abstract void fillRect(int x, int y, int width, int height) 


이 는 매개 변수 목록 만 INT 방법으로 동의하기 때문에 int로 두 배 값을 캐스팅 할 필요가

와 방법입니다.

r.getX() 반환 배가 너무 int에 캐스팅 방법

g.fillRect((int)r.getX(), (int)r.getY(), (int)r.getWidth(), (int)r.getHeight()); 
+0

덕분에 많이,이() : 9 분 –

+0

g.fillRect (r.getX에서 답을 체크 윌 도움 디폴트에서는, getPreferresSize'를'JPanel'에 돌려줍니다. int에 캐스팅 할 필요는 없습니다. – mKorbel

+0

오, 무슨 이유인지, 에러입니다. 갔다. 일단 마침내 JFrame 승/전자와 함께 전체를 컴파일하면 오류가 발생하는지 알 수 있습니다 –

0

다른 옵션의 커플 모두 캐스트보다 찾고 작은 청소기에 전달 :

사용 Rectangle의 공공 분야, 그들은 이다의 int :

g.fillRect(r.x, r.y, r.width, r.height); 

또는 사각형이 0123을 구현하기 때문에 단지 fillShape()를 사용인터페이스 : 더 나은 도움말 네르에 대한 SSCCE을 게시

g.fillShape(r);