Java Swing JSlider addChangeListener ошибка - PullRequest
1 голос
/ 19 сентября 2010

Я использую Swing для создания простого графического интерфейса, но когда я добавляю слушатель изменений в JSlider, я получаю следующую ошибку времени выполнения:

Exception in thread "main" java.lang.NullPointerException
        at XMovePanel.<init>(XMovePanel.java:15)

Мой код следующий:

public class XMovePanel extends JPanel
{
    JSlider xCoord;
    private GUIApp d;
    private XMoveListener xmove;

    public XMovePanel(GUIApp d)
    {
    this.d = d;
    xmove = new XMoveListener();

    // Error occurs here:
    xCoord.addChangeListener(xmove);

        // Settings for the slider
  private class XMoveListener implements ChangeListener{
@Override
        public void stateChanged(ChangeEvent event){

        // Change listener does stuff on action here

Но я не знаю, почему я получаю сообщение об ошибке при добавлении прослушивателя изменений.Что я делаю не так?

1 Ответ

1 голос
/ 19 сентября 2010

Похоже, xCoord является нулем; попробуйте это вместо:

JSlider xCoord = new JSlider();

Добавление: поскольку xCoord является переменной экземпляра и предназначена для ссылки на JSlider, JLS 4.12.5 Начальные значения переменных указывает, что "значение по умолчанию null. " Попытка вызвать метод с нулевой ссылкой выдает NullPointerException.

...