Исключение нулевого указателя Java в JLIST - PullRequest
2 голосов
/ 16 июля 2010

ОК, поэтому я пытаюсь вывести текущую строку из массива, который был помещен в список ... Однако, когда я нажимаю на список, я получаю исключение NullPointerException ...: \

Помощь? :)

import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class lisTry extends JApplet implements MouseListener {

public static String newline;
public static JList list;

    public void init() {

            DefaultListModel listModel = new DefaultListModel();
            listModel.addElement("Debbie Scott");
            listModel.addElement("Scott Hommel");
            listModel.addElement("Alan Sommerer");

            JList list = new JList(listModel);


        this.getContentPane().add(list);

        list.addMouseListener(this);

        String newline = "\n";

        list.setVisible(true);

    }

    public void mousePressed(MouseEvent e) { }

    public void mouseReleased(MouseEvent e) {
       int index = list.getSelectedIndex();
       System.out.println("You clicked on: " + index);
    }

    public void mouseEntered(MouseEvent e) { }

    public void mouseExited(MouseEvent e) { }

    public void mouseClicked(MouseEvent e) { }

    public void paint(Graphics g) {

    } 
}

Спасибо.

1 Ответ

5 голосов
/ 16 июля 2010

Измените эту строку:

JList list = new JList(listModel);

на эту строку:

list = new JList(listModel);

Вы создаете локальную переменную list в своем конструкторе и таким образом скрываете поле listтвой класс.Таким образом, поле lisTry.list остается нулевым, поэтому NullPointerException.

...