Passing array into constructor to use on JList
Posted
by OVERTONE
on Stack Overflow
See other posts from Stack Overflow
or by OVERTONE
Published on 2010-04-23T13:03:01Z
Indexed on
2010/04/23
13:13 UTC
Read the original article
Hit count: 312
I know the title sound confusing and thats because it is. its a bit long so try too stay with me.
this is the layout i have my code designed
variables constructor methods.
im trying too fill a Jlist full on names. i want too get those names using a method. so here goes.
in my variables i have my JList. its called contactNames; i also have an array which stores 5 strings which are the contacts names; heres the code for that anyway
String contact1;
String contact2;
String contact3;
String contact4;
String contact5;
String[] contactListNames;
JList contactList;
simple enough. then in my constructor i have the Jlist defined to fill itself with the contents of the array
fillContactList();
JList contactList = new JList(contactListNames);
that method fillContactList() is coming up shortly. notice i dont have the array defined in the constructor. so heres my first question. can i do that? define the array to contain something in te constructor rather than filling it fromt the array.
now heres where stuff gets balls up. ive created three different methods all of which havent worked. basically im trying to fill the array with all of them. this is the simplest one. it doesnt set the Jlist, it doesnt do anything compilicated. all it trys too do is fill the array one bit at a time
public void fillContactList()
{
for(int i = 0;i<3;i++)
{
try
{
String contact;
System.out.println(" please fill the list at index "+ i);
Scanner in = new Scanner(System.in);
contact = in.next();
contactListNames[i] = contact;
in.nextLine();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
unfortunately this doesnt qwork. i get the print out to fill it at index 0; i input something and i get a nice big stack trace starting at
contactListNames[i] = contact;
so my two questions in short are
how i define an array in a constructor.
and why cant i fill the array from that method.
************************888 **************************888
stack trace by request
please fill the list at index 0
overtone
java.lang.NullPointerException
please fill the list at index 1
at project.AdminMessages.fillContactList(AdminMessages.java:408)
at project.AdminMessages.<init>(AdminMessages.java:88)
at project.AdminUser.createAdminMessages(AdminUser.java:32)
at project.AdminUser.<init>(AdminUser.java:18)
at project.AdminUser.main(AdminUser.java:47)
it was a null poiinter exception
© Stack Overflow or respective owner