-
Bug
-
Resolution: Fixed
-
P4
-
1.1.4
-
None
-
1.0.2
-
generic
-
solaris_2.5.1
If I set a JTable's data array to be n elements wide and 0 long (so it
can still have column headers, but no data) I get an exception:
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
at java.util.Vector.elementAt(Vector.java)
at com.sun.java.swing.table.DefaultTableModel.setDataVector(DefaultTableModel.java:331)
at com.sun.java.swing.table.DefaultTableModel.setDataVector(DefaultTableModel.java:368)
at com.sun.java.swing.table.DefaultTableModel.<init>(DefaultTableModel.java:213)
at com.sun.java.swing.JTable.<init>(JTable.java:271)
at ZeroLengthJTableTest.<init>(ZeroLengthJTableTest.java:27)
at ZeroLengthJTableTest.main(ZeroLengthJTableTest.java:12)
Here is the users code for reproducing:
import java.awt.*;
import com.sun.java.swing.*;
public class ZeroLengthJTableTest
extends Frame
{
public static void main(String args[])
{
ZeroLengthJTableTest t = new ZeroLengthJTableTest();
t.show();
}
public ZeroLengthJTableTest()
{
setTitle("Zero length data JTableTest...");
setSize(300, 400);
setLayout(new BorderLayout());
String colnames[] = {"foo", "bar", "baz"};
String data[][] = new String[0][3];
JTable t = new JTable(data, colnames);
add(JTable.createScrollPaneForTable(t), "Center");
}
}