jList = new JList(listValue);//此处改为jList = new JList(lisValue);就会出现错误
什么意思?
你都没定义lisValue啊?你出错的信息是什么?就那一个java丢在那里,你叫别人怎么看?至少把你相关的出错信息贴出来啊

解决方案 »

  1.   

    private void initialize() {

             Toolkit theKit = this.getToolkit();
    Dimension wndSize = theKit.getScreenSize();

    this.setResizable(false);

    listValue = getListValue();//这句话提前
            for(int i =0;i<listValue.size();i++)
            {
         System.out.println(listValue.get(i));
             }
        
    this.setContentPane(getJPanel());
    this.setBounds(wndSize.width/4,wndSize.height/4,603, 401);
    this.setTitle("Short Information Server");
    this.setVisible(false);

    this.addWindowListener(new WindowAdapter()
    {
        public void windowClosing(WindowEvent e)
        {
            System.exit(0);
        }
    });
    }由于在
    this.setContentPane(getJPanel());
    中要用到listValue
    所以
    listValue = getListValue();
    应该在
    this.setContentPane(getJPanel());
    前获取数据
    否则就会有空指针了
             
      

  2.   

    Exception in thread "main" java.lang.NullPointerException
    at mainFrame.MainFrame.ConnectDatabase(MainFrame.java:653)
    at mainFrame.MainFrame.getListValue(MainFrame.java:133)
    at mainFrame.MainFrame.initialize(MainFrame.java:413)
    at mainFrame.MainFrame.<init>(MainFrame.java:404)
    at mainFrame.MainFrame.main(MainFrame.java:395)
    listValue = getListValue();//这句话提前后会出现以上错误。
      

  3.   

    不会把,放在后面就可以么?
    好像是数据库的错误啊?(ConnectDatabase)另外
    所有的
    dialog.add(title0);
    应该改成
    dialog.getContentPane().add(title0);
      

  4.   

    这样试试,可能其他地方有改动。
    /*
     * 创建日期 2004-11-17
     *
     * TODO 要更改此生成的文件的模板,请转至
     * 窗口 - 首选项 - Java - 代码样式 - 代码模板
     */
    package mainFrame;
    import java.awt.Component;
    import java.awt.event.KeyAdapter;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.Font;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Vector;import javax.swing.DefaultListModel;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;import javax.swing.JPanel;
    import javax.swing.JList;import javax.swing.DefaultListSelectionModel;/**
     * @author Administrator
     *
     * TODO 要更改此生成的类型注释的模板,请转至
     * 窗口 - 首选项 - Java - 代码样式 - 代码模板
     */
    public class MainFrame extends JFrame implements ActionListener
    {    /**
         * 
         * @uml.property name="jPanel" 
         */
        private JPanel jPanel = null; private JLabel jLabel = null; private JLabel jLabel1 = null;    /**
         * 
         * @uml.property name="jTextField" 
         */
        private JTextField jTextField = null; private JLabel jLabel2 = null;    /**
         * 
         * @uml.property name="jTextField1" 
         */
        private JTextField jTextField1 = null; private JLabel jLabel3 = null;
    private JLabel jLabel4 = null;    /**
         * 
         * @uml.property name="jTextField2" 
         */
        private JTextField jTextField2 = null;    /**
         * 
         * @uml.property name="jList" 
         */
        private JList jList = null;
        private Vector listValue = null;    /**
         * 
         * @uml.property name="jButton" 
         */
        private JButton jButton = null;    /**
         * 
         * @uml.property name="jButton1" 
         */
        private JButton jButton1 = null; private JLabel jLabel5 = null;
    private JLabel jLabel6 = null;    /**
         * 
         * @uml.property name="jTextField3" 
         */
        private JTextField DatabaseIp = null;    /**
         * 
         * @uml.property name="addListValue" 
         */
        private JTextField addListValue = null; private Connection connect = null;    /**
         * 
         * @uml.property name="defaultListModel" 
         */
        private DefaultListModel defaultListModel = null; //  @jve:decl-index=0:    /**
         * This method initializes jPanel
         * 
         * @return javax.swing.JPanel
         * 
         * @uml.property name="jPanel"
         */
    private Vector getListValue()
    {
        connect = ConnectDatabase();     //   -----给JList付值----------------
        listValue = new Vector();     try
        {
            String str = "select * from telphonelist where yesorno = 1";
            Statement stmt = null;
            stmt = connect.createStatement();
            ResultSet rs = stmt.executeQuery(str);
            while(rs.next())
            {
                listValue.addElement(rs.getString(2));
            }
          
            rs.close();
            stmt.close();
        }catch(SQLException e)
        {
            String message = "读取接收号码错误:" + e.getMessage();
            String title = "读取接收号码错误";
            int type = JOptionPane.ERROR_MESSAGE;
            JOptionPane.showMessageDialog(this,message,title,type);
        }
        return listValue;
      }

      

  5.   

    febchen兄说的没错,将listValue = getListValue()提前,但是还要将
    jList.setSelectionModel(defaultListSelectionModel1);

        private DefaultListModel getDefaultListModel() {
            if (defaultListModel == null) {
                defaultListModel = new DefaultListModel();
            }
            return defaultListModel;
        }
    去掉,JList才可以显示内容。
    呵呵 febchen兄,如何动态刷新JList里的内容?
      

  6.   

    我没有去掉也可以啊?是不是defaultListModel有什么问题?程序中JList是这样加上去的
    jPanel.add(getJList(), null);
    没有JList对象名,所以要刷新得整个panel以前刷新,否则就要建个JList对象,然后对这个对象更新数据,如:
    JList jl=getJList();
    jPanel.add(jl, null);更新时加一个方法:
    public void updateList(){
    //connect = ConnectAccess();  
        if(listValue==null)
         listValue = new Vector();
            listValue.clear();
        try
        {
            String str = "select * from telphonelist where yesorno = 1";
            Statement stmt = null;
            stmt = connect.createStatement();
            ResultSet rs = stmt.executeQuery(str);
            while(rs.next())
            {
                listValue.addElement(rs.getString(2));
            }
          
            rs.close();
            stmt.close();
        }catch(SQLException e)
        {
            String message = e.getMessage();
            String title = "error";
            int type = JOptionPane.ERROR_MESSAGE;
            JOptionPane.showMessageDialog(this,message,title,type);
        }
        
        jl.repaint();  //////
      }