Re: help
Peter is right but I think maybe could have been simpler. For example,
modify your code like this:
wee wrote:
i'm confused with the way java initializes object arrays:
if i declare array objects as such;
JTextField[] arr_field;
arr_field = new JTextField[2]; // Add this line
arr_field[0] = new JTextField(10);
arr_field[1] = new JTextField(10);
A JTextField[] is just one value, the reference. It's just like a 4
byte pointer. It can hold one address, but that's it. You still have
to allocate some space for the array itself.
/* C example */
int *arr_field;
arr_field = malloc( sizeof (int), 2 ); // ? didn't check syntax
Now you can use it arr_field. Before the malloc (= "new") there wasn't
any memory to put your new JTextField(10) into.
I got bit by this when I was first starting out. It seems like in an
object oriented language it should be more automagic, but it's not. You
still have to allocate the array.
JTextField arr_field[3];
I don't know why this doesn't work. The language designers just decided
not to include it. Use the syntax above with the explicit array allocation.