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();
}
}