 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Dave Reid Guest
|
Posted: Mon May 22, 2006 10:49 pm Post subject: Problem with passing objects to button handling code... |
|
|
I'm a novice in the java world, so bear with me.
Here's my latest issue: I have an big array of Patient and Field data.
I have a GUI that I've built up, and lets the operator select a patient
to Archive (remove from the list). So I have a button on my gui that
says "Archive Patient". So I need to pass this huge array of stuff to
the code that runs from the button being pushed.
Here's what the button code looks like:
archiveButton.addActionListener(new PatArchiveHandler(activePatients));
And then the code for the PatArchiveHandler looks like this:
class PatArchiveHandler implements ActionListener
{
PatientRecord[] patientToArchive;
public void actionPerformed(ActionEvent e, PatientRecord[]
patActive)
{
patientToArchive = patActive;
//Figure out which is the selected patient
for (int i = 0; i <= (patToArchive.length - 1); i++)
{
if(patToArchive[i].patSelectedPatient == true)
{
int selectedIndex = i;
System.out.println("Selected patient found
at index " + selectedIndex);
}
}
patientToArchive[selectedIndex].markToArchive = true;
ArchiveAcknowledge aa = new ArchiveAcknowledge
(activePatients);
aa.setVisible(true);
System.out.println("Archive handler...");
}
}
And I get an error that says:
cannot find symbol
symbol: constructor PatArchiveHandle(PatientRecord[])
location: class PatArchiveHandler
archiveButton.addActionListerner(new PatArchiveHandle(activePatients));
PatientSelect.java:203 PatArchiveHandler is not abstract and does not
override abstract method actionPerformed(java.awt.event.ActionEvent) in
java.awt.event.ActionLister
class PatArchiveHandler implements ActionListener
Anyone with any ideas? How does one go about passing objects (or arrays
of objects) to the code that gets fired by a button?
dave |
|
| Back to top |
|
 |
Thomas A. Russ Guest
|
Posted: Tue May 23, 2006 1:07 am Post subject: Re: Problem with passing objects to button handling code... |
|
|
Dave Reid <dreid (AT) u (DOT) washington.edu> writes:
| Quote: | I'm a novice in the java world, so bear with me.
Here's my latest issue: I have an big array of Patient and Field data.
I have a GUI that I've built up, and lets the operator select a patient
to Archive (remove from the list). So I have a button on my gui that
says "Archive Patient". So I need to pass this huge array of stuff to
the code that runs from the button being pushed.
Here's what the button code looks like:
archiveButton.addActionListener(new PatArchiveHandler(activePatients));
And then the code for the PatArchiveHandler looks like this:
class PatArchiveHandler implements ActionListener
{
PatientRecord[] patientToArchive;
public void actionPerformed(ActionEvent e, PatientRecord[]
patActive)
{
patientToArchive = patActive;
//Figure out which is the selected patient
for (int i = 0; i <= (patToArchive.length - 1); i++)
{
if(patToArchive[i].patSelectedPatient == true)
{
int selectedIndex = i;
System.out.println("Selected patient found
at index " + selectedIndex);
}
}
patientToArchive[selectedIndex].markToArchive = true;
ArchiveAcknowledge aa = new ArchiveAcknowledge
(activePatients);
aa.setVisible(true);
System.out.println("Archive handler...");
}
}
And I get an error that says:
cannot find symbol
symbol: constructor PatArchiveHandle(PatientRecord[])
location: class PatArchiveHandler
archiveButton.addActionListerner(new PatArchiveHandle(activePatients));
|
Because you haven't created a constructor that takes this argument
list. You need to write such a constructor.
| Quote: | PatientSelect.java:203 PatArchiveHandler is not abstract and does not
override abstract method actionPerformed(java.awt.event.ActionEvent) in
java.awt.event.ActionLister
class PatArchiveHandler implements ActionListener
|
Because you haven't written the appropriate actionPerformed method, that
obeys the required signature. Adding extra arguments won't work,
because the Button doesn't know about your additional arguments.
But all is not lost, since if you properly write the constructor, you
could save the patient list in the instance variable and it would be
accessible in the method without the need to pass it in as an argument.
| Quote: | Anyone with any ideas? How does one go about passing objects (or arrays
of objects) to the code that gets fired by a button?
dave
|
You might also want to use a different method than linear search through
the array of patients to find the one to archive. Perhaps a HashSet or
something like that would be more appropriate. But that's an issue you
can worry about once you get the main code working.
--
Thomas A. Russ, USC/Information Sciences Institute |
|
| Back to top |
|
 |
Dave Reid Guest
|
Posted: Thu Jun 01, 2006 6:33 pm Post subject: Re: Problem with passing objects to button handling code... |
|
|
tar (AT) sevak (DOT) isi.edu (Thomas A. Russ) wrote in
news:ymi8xotlhu0.fsf (AT) sevak (DOT) isi.edu:
| Quote: | But all is not lost, since if you properly write the constructor, you
could save the patient list in the instance variable and it would be
accessible in the method without the need to pass it in as an
argument.
|
Thanks...
dave
> |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|