Привет всем, Я пытаюсь запустить следующую программу, но получаю исключение NullPointerException. Я новичок в библиотеке Java swing, поэтому я могу делать что-то очень немое. В любом случае, это мои два класса, на которых я сейчас играю, и все, что я хочу сделать, это нарисовать чертов круг (не хочу рисовать галлоу, в конце концов, с палачом).Проблемы с использованием графики с панелями в библиотеке Java Swing
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.
Спасибо заранее,
Томек
Я вижу, поэтому я предполагаю, что paintComponent вызывается каждый раз, когда создается JPanel. – Tomek 2008-11-11 02:00:49
Фактически, это называется каждый раз, когда компонент перерисовывается. Swing не запоминает внешний вид каждого компонента, а каждый компонент отвечает за рисование и перерисовку по мере необходимости. – sblundy 2008-11-11 02:03:35