Exception Issues!! Please help... out of bounds - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Exception Issues!! Please help... out of bounds

tiad123tiad123 Posts: 2Member
So, here is my program

[code]
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.util.ArrayList;
import java.util.List;

import javax.swing.*;

public class GUI2 extends JFrame {

private JButton first;
private JButton prev;
private JButton next;
private JButton last;
public int index = 0;
private List lines;
private int currentIndex;
private JFrame textFrame;

public GUI2() {
super("Inventory Program Part 5");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
lines = new ArrayList();
setLayout(new FlowLayout());

first = new JButton("First");
add(first);

prev = new JButton("Previous");
add(prev);

next = new JButton("Next");
add(next);

last = new JButton("Last");
add(last);

HandlerClass handler = new HandlerClass();
first.addActionListener(handler);
prev.addActionListener(handler);
next.addActionListener(handler);
last.addActionListener(handler);
}

public GUI2(String arrayRecord) {
this();

try {
BufferedReader reader = new BufferedReader(new FileReader(
arrayRecord));
String line = "";

while ((line = reader.readLine()) != null) {
lines.add(line);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}

public void showFile() {
for (int i = 0; i < lines.size(); i++) {
System.out.println(lines.get(i));
}
}

public static void main(final String[] args) {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
GUI2 f = new GUI2(args[0]); //<-<-<- error here
f.setSize(200, 200);
f.setVisible(true);
}
});
} catch (Exception e) {
System.out.println("Error");
}
}

private class HandlerClass implements ActionListener {
public void actionPerformed(ActionEvent event) {
textFrame = new JFrame("Inventory");
textFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
textFrame.getContentPane();

JTextArea textArea = new JTextArea();
textFrame.add(textArea);

Object button = event.getSource();

if (first == button) {
currentIndex = 0;
} else if ((prev == button) && (currentIndex > 0)) {
--currentIndex;
} else if (next == button) {
++currentIndex;

// Wrap
if (currentIndex == lines.size()) {
currentIndex = 0;
}
} else if (last == button) {
currentIndex = lines.size() - 1;
}

textArea.setText(lines.get(currentIndex));
textFrame.setSize(200, 150);
textFrame.setVisible(true);
}
}
}

[/code]

[code]
import javax.swing.JFrame;

public class myMessin{
public static void main (String args[]){

GUI2 go = new GUI2();
go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
go.setSize(300,200);
go.setVisible(true);

GUI2 file = new GUI2("arrayRecord.txt");
file.showFile();


}
}

[/code]


When I run this I get multiple errors:

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at GUI2$HandlerClass.actionPerformed(GUI2.java:112)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


and I can't seem to figure out what is wrong. Any ideas?
Sign In or Register to comment.