Solved

JList List Selection Listener

Posted on 2003-11-18
3
1,327 Views
Last Modified: 2012-05-04
Hello all,
I am working on a project for my java class that is GUI based. Its basically a bank application. There are two JLists on the GUI, one holds customers, and the other holds the accounts associated with the customer that is selected in the customer JList. I know I have to have the ListSelectionListener, and I need it on both of the JLists. I have to keep track of the current customer selected, and the current account that is selected. So I do need the listeners for both of these JLists correct? But when I have both of the JLists have listeners, I just got a bunch of dispatch errors and it looks like it selects an account item in some kind of loop and then terminates my program. I am confused. I have written the valueChanged(ListSelectionEvent e) as the following:

 public void valueChanged(ListSelectionEvent e)
   {
      Object selectedData = ((JList)e.getSource()).getSelectedValue();

      if(selectedData != null)
      {
        //Get the number of the customer selected in the list
        StringTokenizer st = new StringTokenizer(selectedData.toString());
        int custNum = Integer.parseInt(st.nextToken());

        //Set the current customer and show their accounts
        currentCustomer = theBank.getCustomer(custNum);

        accountList.setListData(currentCustomer.getTotalAccountInfo());
        accountList.setSelectedIndex(0);

        if(accountList.getModel().getSize() > 0)
        {
          //Get the account number of the account selected in the list
          StringTokenizer st2 = new StringTokenizer(accountList.getSelectedValue().toString());
          int acctNum = Integer.parseInt(st2.nextToken());
          currentAccount = currentCustomer.locateAccount(acctNum);
        }
        else
        {
           currentAccount = null;
        }
      }

      System.out.println(currentCustomer);
      System.out.println(currentAccount);
   }

So my problem is that I need to get the current selected account. The current customer part works fine, but when I added the account list listener, it went crazy. I can send the whole code as well, but I think the problem lies within this code.

Thanks in advance!
0
Comment
Question by:LBoogie
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 15

Accepted Solution

by:
jimmack earned 80 total points
ID: 9773425
If the same listener is used for both lists, you should do something like this:

if (e.getSource() == firstList)
{
   // processing when first list changes
}
else if (e.getSource() == secondList)
{
   // processing when second list changes
}
0
 
LVL 92

Expert Comment

by:objects
ID: 9774527
Or just use different listeners for easch list
0
 

Author Comment

by:LBoogie
ID: 9774887
jimmack,
That is what I needed. Thanks =)

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
servlet example 11 77
How to configure empty element in XML Document parser? 15 59
junit example issue 2 59
Which is best Image Resizing Web service 11 42
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question