Question
Can someone help me solve this problem Exception in thread AWT-EventQueue-0 java.lang.NullPointerException at addressbookdisplay.AddressBookDisplay.insertButtonActionPerformed(AddressBookDisplay.java:544) at addressbookdisplay.AddressBookDisplay.access$500(AddressBookDisplay.java:45) at addressbookdisplay.AddressBookDisplay$6.actionPerformed(AddressBookDisplay.java:354) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at
Can someone help me solve this problem
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at addressbookdisplay.AddressBookDisplay.insertButtonActionPerformed(AddressBookDisplay.java:544) at addressbookdisplay.AddressBookDisplay.access$500(AddressBookDisplay.java:45) at addressbookdisplay.AddressBookDisplay$6.actionPerformed(AddressBookDisplay.java:354) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method)
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.util.List;
import javax.swing.JButton;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.BoxLayout;
import javax.swing.BorderFactory;
import javax.swing.JOptionPane;
public class AddressBookDisplay extends JFrame { private Person currentEntry;
private PersonQueries personQueries; private List
private int numberOfEntries = 0;
private int currentEntryIndex;
private JButton browseButton;
private JLabel emailLabel;
private JTextField emailTextField;
private JLabel firstNameLabel;
private JTextField firstNameTextField;
private JLabel idLabel;
private JTextField idTextField;
private JTextField indexTextField;
private JLabel lastNameLabel;
private JTextField lastNameTextField;
private JTextField maxTextField;
private JButton nextButton;
private JLabel ofLabel;
private JLabel phoneLabel;
private JTextField phoneTextField;
private JButton previousButton;
private JButton queryButton;
private JLabel queryLabel; private JPanel queryPanel;
private JPanel navigatePanel;
private JPanel displayPanel;
private JTextField queryTextField;
private JButton insertButton;
public AddressBookDisplay() { super("Address Book");
// create GUI
navigatePanel = new JPanel();
previousButton = new JButton();
indexTextField = new JTextField(2);
ofLabel = new JLabel();
maxTextField = new JTextField(2);
nextButton = new JButton();
displayPanel = new JPanel();
idLabel = new JLabel();
idTextField = new JTextField(10);
firstNameLabel = new JLabel();
firstNameTextField = new JTextField(10);
lastNameLabel = new JLabel();
lastNameTextField = new JTextField(10);
emailLabel = new JLabel();
emailTextField = new JTextField(10);
phoneLabel = new JLabel();
phoneTextField = new JTextField(10);
queryPanel = new JPanel();
queryLabel = new JLabel();
queryTextField = new JTextField(10);
queryButton = new JButton();
browseButton = new JButton();
insertButton = new JButton();
setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
setSize(400, 400);
navigatePanel.setLayout(
new BoxLayout(navigatePanel, BoxLayout.X_AXIS));
previousButton.setText("Previous");
previousButton.setEnabled(false);
previousButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent evt) {
previousButtonActionPerformed(evt);
} }
);
navigatePanel.add(previousButton);
navigatePanel.add(Box.createHorizontalStrut(10));
indexTextField.setHorizontalAlignment(
JTextField.CENTER);
indexTextField.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{ indexTextFieldActionPerformed(evt);
}
}
); navigatePanel.add(indexTextField);
navigatePanel.add(Box.createHorizontalStrut(10));
ofLabel.setText("of");
navigatePanel.add(ofLabel);
navigatePanel.add(Box.createHorizontalStrut(10));
maxTextField.setHorizontalAlignment(
JTextField.CENTER);
maxTextField.setEditable(false);
navigatePanel.add(maxTextField);
navigatePanel.add(Box.createHorizontalStrut(10));
nextButton.setText("Next");
nextButton.setEnabled(false);
nextButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
nextButtonActionPerformed(evt);
}
}
); navigatePanel.add(nextButton);
add(navigatePanel);
displayPanel.setLayout(new GridLayout(5, 2, 4, 4));
idLabel.setText("Address ID:");
displayPanel.add(idLabel);
idTextField.setEditable(false);
displayPanel.add(idTextField); firstNameLabel.setText("First Name:");
displayPanel.add(firstNameLabel);
displayPanel.add(firstNameTextField); lastNameLabel.setText("Last Name:");
displayPanel.add(lastNameLabel);
displayPanel.add(lastNameTextField);
emailLabel.setText("Email:");
displayPanel.add(emailLabel);
displayPanel.add(emailTextField);
phoneLabel.setText("Phone Number:");
displayPanel.add(phoneLabel);
displayPanel.add(phoneTextField);
add(displayPanel); queryPanel.setLayout(
new BoxLayout(queryPanel, BoxLayout.X_AXIS));
queryPanel.setBorder(BorderFactory.createTitledBorder(
"Find an entry by last name"));
queryLabel.setText("Last Name:");
queryPanel.add(Box.createHorizontalStrut(5));
queryPanel.add(queryLabel);
queryPanel.add(Box.createHorizontalStrut(10));
queryPanel.add(queryTextField);
queryPanel.add(Box.createHorizontalStrut(10)); queryButton.setText("Find");
queryButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
queryButtonActionPerformed(evt); }
}
);
queryPanel.add(queryButton);
queryPanel.add(Box.createHorizontalStrut(5));
add(queryPanel);
browseButton.setText("Browse All Entries");
browseButton.addActionListener(
new ActionListener()
{ public void actionPerformed(ActionEvent evt){ System.out.println("smh");
browseButtonActionPerformed(evt);
} }
);
add(browseButton); insertButton = new javax.swing.JButton(); insertButton.setText("Insert New Entry"); insertButton.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent evt){ System.out.println("smh");
insertButtonActionPerformed(evt); } } );
add(insertButton); addWindowListener(
new WindowAdapter()
{ public void windowClosing(WindowEvent evt){ personQueries.close(); // close database connection System.exit(0); }
}
);
setVisible(true);
} // end constructor
// handles call when previousButton is clicked
private void previousButtonActionPerformed(ActionEvent evt)
{
currentEntryIndex--;
if (currentEntryIndex < 0) currentEntryIndex = numberOfEntries - 1;
indexTextField.setText("" + (currentEntryIndex + 1));
indexTextFieldActionPerformed(evt); }
// handles call when nextButton is clicked // handles call when queryButton is clicked // handles call when nextButton is clicked
private void nextButtonActionPerformed(ActionEvent evt)
{
currentEntryIndex++;
if (currentEntryIndex >= numberOfEntries) currentEntryIndex = 0;
indexTextField.setText("" + (currentEntryIndex + 1)); indexTextFieldActionPerformed(evt);
}
private void queryButtonActionPerformed(ActionEvent evt)
{
results = personQueries.getPeopleByLastName(queryTextField.getText()); numberOfEntries = results.size(); if (numberOfEntries != 0)
{
currentEntryIndex = 0;
currentEntry = results.get(currentEntryIndex);
idTextField.setText("" + currentEntry.getAddressID());
firstNameTextField.setText(currentEntry.getFirstName());
lastNameTextField.setText(currentEntry.getLastName());
emailTextField.setText(currentEntry.getEmail());
phoneTextField.setText(currentEntry.getPhoneNumber());
maxTextField.setText("" + numberOfEntries);
indexTextField.setText("" + (currentEntryIndex + 1));
nextButton.setEnabled(true);
previousButton.setEnabled(true);
}
else
browseButtonActionPerformed(evt);
}
// handles call when a new value is entered in indexTextField
private void indexTextFieldActionPerformed(ActionEvent evt)
{
currentEntryIndex =
(Integer.parseInt(indexTextField.getText()) - 1); if (numberOfEntries != 0 && currentEntryIndex < numberOfEntries)
{
currentEntry = results.get(currentEntryIndex);
idTextField.setText("" + currentEntry.getAddressID());
firstNameTextField.setText(currentEntry.getFirstName());
lastNameTextField.setText(currentEntry.getLastName());
emailTextField.setText(currentEntry.getEmail());
phoneTextField.setText(currentEntry.getPhoneNumber());
maxTextField.setText("" + numberOfEntries);
indexTextField.setText("" + (currentEntryIndex + 1));
}
} // handles call when browseButton is clicked
private void browseButtonActionPerformed(ActionEvent evt)
{
try
{ results = personQueries.getAllPeople(); numberOfEntries = results.size();
if (numberOfEntries != 0)
{
currentEntryIndex = 0;
currentEntry = results.get(currentEntryIndex);
idTextField.setText("" + currentEntry.getAddressID());
firstNameTextField.setText(currentEntry.getFirstName());
lastNameTextField.setText(currentEntry.getLastName());
emailTextField.setText(currentEntry.getEmail());
phoneTextField.setText(currentEntry.getPhoneNumber());
maxTextField.setText("" + numberOfEntries);
indexTextField.setText("" + (currentEntryIndex + 1));
nextButton.setEnabled(true);
previousButton.setEnabled(true);
} }
catch (Exception e)
{ System.out.println("shit");
e.printStackTrace(); }
}
// handles call when insertButton is clicked
private void insertButtonActionPerformed(ActionEvent evt){
int result = personQueries.addPerson(firstNameTextField.getText(), // Line 544 Line 544 lastNameTextField.getText(), emailTextField.getText(), phoneTextField.getText()); if (result == 1) JOptionPane.showMessageDialog(this, "Person added!", "Person added", JOptionPane.PLAIN_MESSAGE);
else JOptionPane.showMessageDialog(this, "Person not added!","Error", JOptionPane.PLAIN_MESSAGE);
browseButtonActionPerformed(evt);
}
// main method
public static void main(String[] args) { // TODO code application logic here new AddressBookDisplay(); } }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started