2

好的,所以我正在尝试从放入列表的数组中输出当前字符串...但是当我单击列表时,我得到一个 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) {

    } 
}

谢谢你。

4

1 回答 1

5

更改此行:

JList list = new JList(listModel);

进入这一行:

list = new JList(listModel);

您在构造函数中创建了一个局部变量list,因此隐藏了list类的字段。所以该字段lisTry.list保持为空,因此NullPointerException.

于 2010-07-16T18:52:35.893 回答