返回信息流import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class List
{
String [] listEntries ={"alpha","beta","gamma","delta","epsilon","zeta"};
// String [] listEntries;
//JList list = new JList(listEntries);
JList list;
JFrame theFrame;
JPanel mainPanel;
//JScrollPane scroller;
ListSelectionEvent lse; //List选择监听
// mainPanel.add(scroller);
public static void main(String[] args)
{
List list1 = new List();
// JScrollPane scroller = new JScrollPane(list);
// scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
list1.buildGUI();
// list1.go(lse);
}
public void buildGUI()
{
mainPanel = new JPanel();
theFrame = new JFrame("开机自启动监测");
list = new JList(listEntries);
theFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //程序在window关闭时结束程序
BorderLayout layout = new BorderLayout();
JPanel background = new JPanel(layout);
background.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
//background.add(BorderLayout.CENTER,background);
// mainPanel.add(list);
// mainPanel.add(scroller);
go(lse);
background.add(BorderLayout.CENTER,mainPanel);
theFrame.getContentPane().add(background);
theFrame.pack();
theFrame.setVisible(true);
}
public void go(ListSelectionEvent lse)
{
// String [] listEntries ={"alpha","beta","gamma","delta","epsilon","zeta"};
list = new JList(listEntries);
if(! lse.getValueIsAdjusting())
{
// try
// {
// String selection = (String) list.getSelectedValue();
// System.out.println(selection);
// }
// catch(Exception e)
// {
// e.printStackTrace();
// }
String selection = (String) list.getSelectedValue();
System.out.println(selection);
}
}
}
总会报错:Exception in thread "main" java.lang.NullPointerException
求指出啊,已经无力了。
这是一条镜像帖。来源:北邮人论坛 / java / #26315同步于 2013/7/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
求大神看看我程序哪里错了
L646578881
2013/7/10镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
唔。。异常没有详细信息么?底下的那一堆。。。可以帮你判断是在程序的哪一行抛出来的异常
【 在 L646578881 的大作中提到: 】
: import javax.swing.*;
: import javax.swing.event.ListSelectionEvent;
: import java.util.*;
: ...................
18行:ListSelectionEvent lse;
47行:go(lse);
62行:if(! lse.getValueIsAdjusting()) 此时lse为null,所以会出现一个空指针异常。
此外,建议黑猫同学不要将类的名字命名为List......
【 在 lq5 的大作中提到: 】
: 18行:ListSelectionEvent lse;
: 47行:go(lse);
: 62行:if(! lse.getValueIsAdjusting()) 此时lse为null,所以会出现一个空指针异常。
: ...................
好的,thx。请问lse这里该怎么写啊,我有点糊涂了。本来就是捕捉的一个操作啊
【 在 L646578881 的大作中提到: 】
: 好的,thx。请问lse这里该怎么写啊,我有点糊涂了。本来就是捕捉的一个操作啊
去看看java的事件处理机制吧。。