swing中的java.lang.NullPointerException

swing中的java.lang.NullPointerException,java,swing,Java,Swing,每当我运行我的程序时都会出现这个错误。当按下某些按钮时,也不要 根据听众的回答(我不知道为什么!) 我把所有的按钮都登记在一起了 所有按钮都使用相同的操作侦听器类 但是 只有第三个和第四个按钮响应侦听器,但第一个和第二个按钮不响应 Exception in thread "main" java.lang.NullPointerException at IntergrationPoint.<init>(IntergrationPoint.java:73) at MainLibr

每当我运行我的程序时都会出现这个错误。当按下某些按钮时,也不要 根据听众的回答(我不知道为什么!)

  • 我把所有的按钮都登记在一起了
  • 所有按钮都使用相同的操作侦听器类
  • 但是

    只有第三个和第四个按钮响应侦听器,但第一个和第二个按钮不响应

        Exception in thread "main" java.lang.NullPointerException
    at IntergrationPoint.<init>(IntergrationPoint.java:73)
    at MainLibrary.main(MainLibrary.java:23)
    
    线程“main”java.lang.NullPointerException中的异常 在integrationpoint.(integrationpoint.java:73) MainLibrary.main(MainLibrary.java:23) 下面是所有这些问题的原因。(我想也是SSCCE)

    导入java.awt.Color;
    导入java.awt.FlowLayout;
    导入java.awt.GridBagConstraints;
    导入java.awt.GridBagLayout;
    导入java.awt.GridLayout;
    导入java.awt.event.ActionEvent;
    导入java.awt.event.ActionListener;
    导入静态java.awt.image.ImageObserver.WIDTH;
    导入java.sql.SQLException;
    导入java.util.logging.Level;
    导入java.util.logging.Logger;
    导入javax.swing.JButton;
    导入javax.swing.JFrame;
    导入javax.swing.JPanel;
    导入javax.swing.JTabbedPane;
    导入javax.swing.UIManager;
    /*
    *要更改此模板,请选择工具|模板
    *然后在编辑器中打开模板。
    */
    /**
    *
    *@作者尤努斯
    */
    公共类集成点扩展JFrame{
    JPanel-tabOneContent;
    JPanel Tabotwo内容;
    JPanel-tab内容;
    JPanel-tabFourContent;
    JTabbedPane集成选项卡;
    公共JButton账户;
    公共按钮借阅簿;
    公共按钮返回书;
    公共JButton addBook;
    公共JButton删除本;
    公共按钮删除成员;
    公共JButton显示成员;
    公共按钮显示可用电子书;
    公共积分点()
    {
    setLookAndFeel();
    integrationtabs=新的JTabbedPane();
    设置大小(761430);
    setLocationRelativeTo(空);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    tabOneContent=bookOperations();
    tabOTwoContent=memberOperations();
    addTab(“书本操作”,null,tabOneContent,”);
    addTab(“成员操作”,null,tabOTwoContent,”);
    addTab(“显示成员”,null,memberOperations(),“显示所有可用成员”);
    addTab(“显示书本”,null,memberOperations(),“显示所有可用书本”);
    addTab(“Login-Logout”,null,memberOperations(),“Login-Logout”);
    添加(集成选项卡);
    setVisible(真);
    可设置大小(假);
    ButtonListener侦听器=新建ButtonListener();
    //使用按钮注册侦听器
    lowBook.addActionListener(listener);
    returnBook.addActionListener(listener);
    addBook.addActionListener(listener);
    deleteBook.addActionListener(listener);
    }
    类ButtonListener实现ActionListener{
    @覆盖/**执行操作*/
    已执行的公共无效操作(操作事件ev){
    if(ev.getSource()==借阅簿)
    新借书();
    else if(ev.getSource()==returnBook)
    新归还书();
    else if(ev.getSource()==addBook)
    试一试{
    新地址簿();
    }catch(SQLException-ex){
    Logger.getLogger(integrationpoint.class.getName()).log(Level.SEVERE,null,ex);
    }
    else if(ev.getSource()==deleteBook)
    新的DeleteBook();
    }
    }
    公共JPanel bookOperations()
    {
    JPanel面板=新的JPanel(新的FlowLayout(FlowLayout.LEFT));
    JPanel-insidePanel=newjpanel(newgridbaglayout());
    GridBagConstraints=新的GridBagConstraints();
    constraints.fill=gridbagsconstraints.BOTH;
    constraints.anchor=gridbagsconstraints.NORTHWEST;
    constraints.gridwidth=1;
    约束条件。网格高度=2;
    constraints.ipadx=5;
    constraints.ipady=45;
    借阅簿=新按钮(“借阅簿”);
    returnBook=新的JButton(“returnBook”);
    addBook=newjbutton(“addBook”);
    deleteBook=newjbutton(“删除书本”);
    constraints.gridx=0;
    constraints.gridy=0;
    insidePanel.add(借阅簿、约束);
    constraints.gridx=0;
    constraints.gridy=2;
    添加(返回簿、约束);
    constraints.gridx=0;
    constraints.gridy=4;
    添加(addBook,约束);
    constraints.gridx=0;
    constraints.gridy=6;
    添加(deleteBook,约束);
    面板。添加(内部面板);
    返回面板;
    }
    公共JPanel memberOperations()
    {
    JPanel面板=新的JPanel(新的FlowLayout(FlowLayout.LEFT));
    JPanel-insidePanel=newjpanel(newgridbaglayout());
    GridBagConstraints=新的GridBagConstraints();
    constraints.fill=gridbagsconstraints.BOTH;
    constraints.anchor=gridbagsconstraints.NORTHWEST;
    constraints.gridwidth=1;
    约束条件。网格高度=2;
    constraints.ipadx=0;
    constraints.ipady=45;
    借阅簿=新JButton(“添加成员”);
    returnBook=newjbutton(“删除成员”);
    constraints.gridx=0;
    constraints.gridy=0;
    insidePanel.add(借阅簿、约束);
    constraints.gridx=0;
    constraints.gridy=2;
    添加(返回簿、约束);
    面板。添加(内部面板);
    返回面板;
    }
    私有void setLookAndFeel()
    {
    尝试
    {
    UIManager.setLookAndFeel(“com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel”);
    }捕获(例外情况除外)
    {
    例如getMessage();
    }
    }
    }
    导入java.sql.SQLException;
    导入ui.bookui;
    导入ui.ReturnBookUI;
    公共图书馆{
    公共静态void main(字符串[]args)引发SQLException
    {
    积分点积分点=新积分点();
    }
    }
    
    按钮在
    memberOperations()
    bookOperations()
    中初始化。例如,您使用的是同一个成员
    借阅簿
    。但它在每次调用
    memb时都会被重新分配
    
        import java.awt.Color;
        import java.awt.FlowLayout;
        import java.awt.GridBagConstraints;
        import java.awt.GridBagLayout;
        import java.awt.GridLayout;
        import java.awt.event.ActionEvent;
        import java.awt.event.ActionListener;
        import static java.awt.image.ImageObserver.WIDTH;
        import java.sql.SQLException;
        import java.util.logging.Level;
        import java.util.logging.Logger;
        import javax.swing.JButton;
        import javax.swing.JFrame;
        import javax.swing.JPanel;
        import javax.swing.JTabbedPane;
        import javax.swing.UIManager;
    
        /*
         * To change this template, choose Tools | Templates
         * and open the template in the editor.
         */
    
        /**
         *
         * @author Yunus
         */
        public class IntergrationPoint extends JFrame{
            JPanel tabOneContent;
            JPanel tabOTwoContent;
            JPanel tabThreeContent;
            JPanel tabFourContent;
    
    JTabbedPane intergrationTabs;
    
    public JButton createAccount;
    public JButton borrowBook;
    public JButton returnBook;
    public JButton addBook;
    public JButton deleteBook;
    public JButton deleteMember;
    public JButton displayMembers;
    public JButton displayAvailableBooks;
    public IntergrationPoint()
    {
        setLookAndFeel();
        intergrationTabs = new JTabbedPane();
        setSize(761, 430);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        tabOneContent = bookOperations();
        tabOTwoContent = memberOperations();
    
        intergrationTabs.addTab("<html><body marginheight=30 marginwidth=20>Book Operations<body><html>", null,tabOneContent,"");
        intergrationTabs.addTab("<html><body marginheight=30 marginwidth=20>Member Operations<body><html>", null,tabOTwoContent,"");
        intergrationTabs.addTab("<html><body marginheight=30 marginwidth=20>Display Members<body><html>", null,memberOperations(),"Display all available member");
        intergrationTabs.addTab("<html><body marginheight=30 marginwidth=20>Display Books<body><html>", null,memberOperations(),"Display all available book");
        intergrationTabs.addTab("<html><body marginheight=30 marginwidth=20>Login - Logout<body><html>", null,memberOperations(),"Login - Logout");
    
        add(intergrationTabs);
        setVisible(true);
        setResizable(false);
    
        ButtonListener listener = new ButtonListener();
        // Register listener with buttons 
        borrowBook.addActionListener(listener);
        returnBook.addActionListener(listener);
        addBook.addActionListener(listener);
        deleteBook.addActionListener(listener);
    
    
    }
    
    class ButtonListener implements ActionListener {
        @Override /** Implement actionPerformed */
        public void actionPerformed(ActionEvent ev){
            if(ev.getSource() == borrowBook)
                new BorrowBook();
            else if(ev.getSource() == returnBook)
                new ReturnBook();
            else if(ev.getSource() == addBook)
                try {
                new AddBook();
            } catch (SQLException ex) {
                Logger.getLogger(IntergrationPoint.class.getName()).log(Level.SEVERE, null, ex);
            }
            else if(ev.getSource() == deleteBook)
                new DeleteBook();
    
         }
    }
    
    
    public JPanel bookOperations()
    {
        JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    
        JPanel insidePanel = new JPanel(new GridBagLayout());
    
        GridBagConstraints constraints = new  GridBagConstraints();
        constraints.fill =  GridBagConstraints.BOTH;
    constraints.anchor = GridBagConstraints.NORTHWEST;
        constraints.gridwidth = 1;
        constraints.gridheight = 2;
        constraints.ipadx = 5;
    constraints.ipady = 45;
    
        borrowBook = new JButton("Borrow Book");
        returnBook = new JButton("Return Book");
        addBook = new JButton("Add Book");
        deleteBook = new JButton("Delete Book");
    
        constraints.gridx = 0;
        constraints.gridy = 0;
        insidePanel.add(borrowBook,constraints);
    
        constraints.gridx = 0;
        constraints.gridy = 2;
        insidePanel.add(returnBook,constraints);
    
        constraints.gridx = 0;
        constraints.gridy = 4;
        insidePanel.add(addBook,constraints);
    
        constraints.gridx = 0;
        constraints.gridy = 6;
        insidePanel.add(deleteBook,constraints);
    
        panel.add(insidePanel);
    
        return panel;
    }
    
    
    public JPanel memberOperations()
    {
        JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    
        JPanel insidePanel = new JPanel(new GridBagLayout());
    
        GridBagConstraints constraints = new  GridBagConstraints();
        constraints.fill =  GridBagConstraints.BOTH;
    constraints.anchor = GridBagConstraints.NORTHWEST;
        constraints.gridwidth = 1;
        constraints.gridheight = 2;
        constraints.ipadx = 0;
    constraints.ipady = 45;
    
        borrowBook = new JButton("Add Member");
        returnBook = new JButton("Delete Member");
    
        constraints.gridx = 0;
        constraints.gridy = 0;
        insidePanel.add(borrowBook,constraints);
    
        constraints.gridx = 0;
        constraints.gridy = 2;
        insidePanel.add(returnBook,constraints);
    
        panel.add(insidePanel);
    
        return panel;
    }
    
    
    private void setLookAndFeel()
    {
        try
        {
    
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
    
        }catch(Exception ex)
        {
                ex.getMessage();
        }
    }
    }
    
    
        import java.sql.SQLException;
        import ui.BorrowBookUI;
        import ui.ReturnBookUI;
    
        public class MainLibrary {
            public static void main(String[] args) throws SQLException
            {
                IntergrationPoint intergrationPoint = new IntergrationPoint();
            }
    
        }