Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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 results;

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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database And Expert Systems Applications 19th International Conference Dexa 2008 Turin Italy September 2008 Proceedings Lncs 5181

Authors: Sourav S. Bhowmick ,Josef Kung ,Roland Wagner

2008th Edition

3540856536, 978-3540856535

More Books

Students also viewed these Databases questions

Question

Please show work 3. Simplify the following expression

Answered: 1 week ago