/**
 * @(#)ReaderAdd.java
 *
 *
 * @author Administrator
 * @version 1.00 2008/1/5
 */
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.event.*;
 import java.sql.*;      public class readeradd extends JFrame implements ActionListener{
      private JButton rad_add1,rad_clear1;
      private JLabel readname1,borrowcard1;
      private JTextField readnametext1,borrotcardtext1;
      private JFrame frame2;
      
    
    public void actionPerformed(ActionEvent e){}
     
     
    public readeradd() {
           JFrame.setDefaultLookAndFeelDecorated(true);
          frame2=new JFrame("读者添加");
          frame2.setLayout(new GridLayout(3,2,20,20));
          
          rad_add1=new JButton("添加");
          rad_clear1=new JButton("取消");
          readname1=new JLabel("读者姓名");
          borrowcard1=new JLabel("借书证号");
          readnametext1=new JTextField();
          readnametext1=new JTextField();
          frame2.add(readname1);
          frame2.add(readnametext1);
          frame2.add(borrowcard1);
          frame2.add(borrotcardtext1);
          frame2.add(rad_add1);
          frame2.add(rad_clear1);
          
          rad_add1.addActionListener(this);
          rad_clear1.addActionListener(this);
          
          frame2.pack();
   frame2.setLocationRelativeTo(null);
   frame2.setSize(200,150);
   frame2.setVisible(true);
    }
   
    public static void main(String[]args)

  new readeradd();
 
    }  
}错误提示如下:Exception in thread "main" java.lang.NullPointerException
            at java.awt.Container.addImpl(Container.java:1015)
            at java.awt.Container.add(Container.java:928)
            at javax.swing.JFrame.addImpl(JFrame.java:479)
            at java.awt.Container.add(Container.java:351)
            at readeradd.<init>(readeradd.java:38)
            at readeradd.main(readeradd.java:53)盯了一天屏幕了,有点晕了,路过帮忙看看……

解决方案 »

  1.   

    JFrame.setDefaultLookAndFeelDecorated(true);
    是不是这句有问题?
    你 extends 干什么又new一个 
      

  2.   

    borrotcardtext1 没有实例化
    readnametext1=new JTextField();写了2次
    代码应该是复制的吧?看看你自己的代码,是不是这里错了
      

  3.   

    1楼说的不对,setDefaultLookAndFeelDecorated()是静态方法。可以这么用
      

  4.   

     import java.awt.*;
     import java.awt.event.*;
     import javax.swing.*;
     import javax.swing.event.*;
     import java.sql.*;      public class readeradd implements ActionListener{
          private JButton rad_add1,rad_clear1;
          private JLabel readname1,borrowcard1;
          private JTextField readnametext1,borrotcardtext1;
          private JFrame frame2;
          
        
        public void actionPerformed(ActionEvent e){}
             
             
        public readeradd() {
              
                 frame2=new JFrame("读者添加");
                 frame2.setLayout(new GridLayout(3,2,20,20));
                 
                 rad_add1=new JButton("添加");
                 rad_clear1=new JButton("取消");
                 readname1=new JLabel("读者姓名");
                 borrowcard1=new JLabel("借书证号");
                 readnametext1=new JTextField();
                 borrotcardtext1=new JTextField();
                 
                Container c = frame2.getContentPane();
                 c.add(readname1);
                 c.add(readnametext1);
                 c.add(borrowcard1);
                 c.add(borrotcardtext1);
                 c.add(rad_add1);    
                 c.add(rad_clear1);
                 
                 rad_add1.addActionListener(this);
                 rad_clear1.addActionListener(this);
                 
                 frame2.pack();
               frame2.setLocationRelativeTo(null);
               frame2.setSize(200,150);
               frame2.setVisible(true);
               frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
       
        public static void main(String[]args)
        { 
          new readeradd();
         
        }  
    }你漏写了一个borrotcardtext1=new JTextField();