모두 안녕하세요, 다음 프로그램을 실행하려고하지만 NullPointerException이 발생합니다. 나는 아주 바보 같은 일을 할 수 있도록 Java swing 라이브러리를 처음 사용합니다. 어느 쪽의 방법이라도 나는 단지 지금 주변에서 놀고있는 나의 2 개의 클래스 학생들이다. 그리고 누구나는 원한다 (나는 결국 그것을 교수형에 처하는 사람과 함께 gallow를 그리고 싶어한다).Java 스윙 라이브러리의 패널 그래픽 사용 문제
package hangman2;
import java.awt.*;
import javax.swing.*;
public class Hangman2 extends JFrame{
private GridLayout alphabetLayout = new GridLayout(2,2,5,5);
private Gallow gallow = new Gallow();
public Hangman2() {
setLayout(alphabetLayout);
setSize(1000,500);
setVisible(true);
}
public static void main(String args[]) {
Hangman2 application = new Hangman2();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
package hangman2;
import java.awt.*;
import javax.swing.*;
public class Gallow extends JPanel {
private Graphics g;
public Gallow(){
g.fillOval(10, 20, 40, 25);
}
}
NullPointerException은 g.fillOval 행에 있습니다. 사전에
감사합니다,
메크 g
이 설정되어 있기 때문에 당신은 NPE를 받고있어
JPanel을 만들 때마다 paintComponent가 호출됩니다. – Tomek
사실, 구성 요소를 다시 그릴 때마다 호출됩니다. 스윙은 각 구성 요소의 모양을 기억하지 않고 각 구성 요소는 필요할 때 그리기 및 다시 그리기를 담당합니다. – sblundy