-4

I am making a program that will allow the user to enter a name, which will then be added and displayed to a list in the jframe window, but cannot figure out how to add to the lsit using code.

I have tried several things, like:

lstNames.append(name);
lstNames.Add(name);
lstNames.add(name, this);

(name is a string)

Currently my code looks like this:

DefaultListModel model = new DefaultListModel();
JList list = new JList(model);
ArrayList<String> names;

private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {                                       

    String name = txtFirst.getText() + " " + txtLast.getText(); // works        
    names.add(name); // works

    for (int i = 0; i < names.size(); i++) {
        model.add(i, names.get(i));
    }
    lstNames.setModel(model);

}                                      

I just want to add a name to a list, but all I get is errors, any help would be great.

Here are my errors:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javaapplication2.NewJFrame.btnAddActionPerformed(NewJFrame.java:99)
    at javaapplication2.NewJFrame.access$000(NewJFrame.java:12)
    at javaapplication2.NewJFrame$2.actionPerformed(NewJFrame.java:45)
    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)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

No errors appear until, the button to run the code is pressed. Very basically, I want to add the user input to the jlist

MadOne
  • 1
  • 1
  • It would be nice to include the errors you're getting. No one likes to guess. ;-) – npe Jun 01 '19 at 16:56
  • Please read [mcve] and enhance your question accordingly. "get errors" isn't a problem description we can help with. Try to be a bit more specific and detailed... – GhostCat Jun 01 '19 at 16:57

1 Answers1

1

You're not initializing your list.

ArrayList<String> names;

should be something like

ArrayList<String> names = new ArrayList<>();
Benjamin Urquhart
  • 1,626
  • 12
  • 18