클래스가 4 개 있습니다. 하나는 추상 엔티티 클래스이고, 하나는 볼 클래스이고, 하나는 메인 클래스이고 다른 하나는 스크린 클래스입니다.프로그램 실행시 java.lang.NullPointerException이 발생했습니다.
볼 클래스는 엔티티 클래스를 확장하며 5 개의 변수가 있습니다.
public void paint(Graphics g){
super.paint(g);
ball.paint(g);
}
그리고 물론
, ball.paint를 사용하는가에 대한 객체를 만들 필요가 :화면 기능은 페인트 방법이있다. 그래서, 내가 볼 오브젝트합니다
public Screen(){
ball = new Ball(ball.getWeight(), ball.getWidth(), ball.getHeight(), ball.getX(), ball.getX());
}
이 더와 함께 온다 :
Ball ball;
내가 필요하기 때문에 다음 화면 생성자이 추가 (공 5 개 변수를 사용하는 생성자가 있습니다) 나는이 프로그램을 실행할 때 오류가 있지만, 나는 콘솔에서이 오류를 얻을 :
,536 : 메인 클래스의Exception in thread "main" java.lang.NullPointerException
at h3x.engine.gfx.Screen.<init>(Screen.java:18)
at h3x.engine.Main.main(Main.java:16)
라인 (16)이있다
이ball = new Ball(ball.getWeight(), ball.getWidth(), ball.getHeight(), ball.getX(), ball.getX());
그래서 제 질문은, 왜 이런 일이 있습니다, 어떻게 고칠 수 있습니다 화면 클래스의
frame.add(new Screen());
... 라인 (18)이있다. 클래스에 필요한 모든 코드를 넣을 수 있습니다.
감사합니다.
더 나은 도움을 빨리 [SSCCE] (http://sscce.org/), 짧은 실행 가능한, 컴파일 가능한, 즉 배열에 대한 모든 공을 넣어 전에, 내부 게시 스윙 타이머에서 호출 된 배열에서 볼을 가져 오는 paintComponent 여기에있는 모든 대답은 어둠에 대한 단점이 될 수 있습니다. – mKorbel