//This is the coding that I have done in delete item 

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here
        int selectedIndex = jList1.getSelectedIndex();
        jList1.remove(selectedIndex);

    }

its throwing following Exception

xception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1
        at java.awt.Container.remove(Container.java:1132)
        at musicplayer.jButton2ActionPerformed(musicplayer.java:144)
        at musicplayer.access$100(musicplayer.java:23)
        at musicplayer$3.actionPerformed(musicplayer.java:63)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6041)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5806)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4413)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2440)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
BUILD SUCCESSFUL (total time: 11 seconds)

Recommended Answers

All 5 Replies

In means that you are trying to remove an item that does not exist

But I have a lot of items in JList .

i want to acces the particular item by getting its index i.e
int index =jList1.getSelectedindex();
then remove element by
jList1.remove(index);

y the hell it aint working

Try printing the value of selectedIndex one line before the exception - that may reveal something interesting

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

   int selectedIndex = jList1.getSelectedIndex(); // if isn't there any row selected, then jList1.getSelectedIndex() returns -1
   if (selectedIndex != -1) { // or selectedIndex > -1 
      jList1.remove(selectedIndex);
   }
}

@mKorbel
Yes, definitely a good idea - necessary really.

But it doesn't explain his Exception
"java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1"
1 (not -1) points to his JList being empty ( < 2 entries).
Maybe he has shadowed the jList1 variable with a new one somewhere?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.