JList Selected Value

Hey all,
I have been trying to write a Listener for a JList. I simply need to get the selected value and make it display on a JLabel.
My problem is that I cannot seem to find what I need.
How do I use the command "getSelectedIndex" when the item is clicked in a JList? I made a listener that outputs to the terminal when its clicked, it appears to be working.
Here is the code:
   class SharedListSelectionHandler implements ListSelectionListener {
        public void valueChanged(ListSelectionEvent e) {
           System.out.println("Hello World");
    }

Hey,
Try this,
   class SharedListSelectionHandler implements ListSelectionListener {
     public void valueChanged(ListSelectionEvent e) {
          JList list = (JList) e.getSource();
          if (e.getValueIsAdjusting() == false) {
               if (list.getSelectedIndex() == -1) {
                    System.out.println("Nothing selected.");
               } else {
                    // THIS WAY/////////
                    String text = (String) list.getSelectedValue();
                    // OR THIS WAY/////
                    ListModel model = list.getModel();
                    text = (String) model.getElementAt(e.getFirstIndex());                    
                    System.out.println(text);
    } You need to look at the ListModel really to get a better understanding of the MVC approach. Also - If you haven't used String objects you will get a ClassCastException. I'm just assuming you have.

Similar Messages

  • How do i pass selected value of JList in one frame to other frame?

    hai everybody,
    In my application where i m using swing as GUI in that i require selected value of Jlist in one frame to other frame ..
    Since i need the previous frame jlist selected value for my application.
    How this can be done
    Help me pa
    Thanx in advance

    You need to post your Short, Self-Contained, Compilable Example or SSCCE if you need further help.

  • How t print out selected values from a Jlist

    hi iam trying to get the selected values from a list to print out as a string but iam getting ,Invalid cast from java.lang.Object[] to java.lang.String.is there any way to get the selected values t print ut as a string?? import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class MultipleSelection2 extends JFrame {
    private JList colorList, copyList;
    private JButton copy;
    private String colorNames[] =
    { "Black", "Blue", "Cyan", "Dark Gray", "Gray",
    "Green", "Light Gray", "Magenta", "Orange", "Pink",
    "Red", "White", "Yellow" };
    public MultipleSelection2()
    super( "Multiple Selection Lists" );
    Container c = getContentPane();
    c.setLayout( new FlowLayout() );
    colorList = new JList( colorNames );
    colorList.setVisibleRowCount( 5 );
    colorList.setFixedCellHeight( 15 );
    colorList.setSelectionMode(
    ListSelectionModel.MULTIPLE_INTERVAL_SELECTION );
    c.add( new JScrollPane( colorList ) );
    // create copy button
    copy = new JButton( "Copy >>>" );
    copy.addActionListener(
    new ActionListener() {
    public void actionPerformed( ActionEvent e )
    // place selected values in copyList
    copyList.setListData(
    colorList.getSelectedValues());
    String s1 =(String)colorList.getSelectedValues();

    Since the JList method 'getSelectedValues' returns an object array you'll need to iterate through the array and cast each object in the array to a string as you access them.
    Object[] o = colorList.getSelectedValues();
    for(int count=0,end=o.length; count<end; count++) {
    String s = (String) o[count];
    Hope that helps
    Talden

  • JComboBox : colors in the selected value field

    I have a JComboBox with a custom ListCellRenderer. However the JComboBox seems to change the colors of the Component that my ListCellRenderer creates when the Component is in the Selected value field. Some code is below...
    import javax.swing.*;
    import java.awt.*;
    import java.util.*;
    public class ComboBoxTest {
      public static final void main(String[] args) {
        JComboBox cbox;
        Vector elements;
        elements = new Vector();
        elements.add("One");
        elements.add("Two");
        elements.add("Three");
        cbox = new JComboBox(elements);
        cbox.setRenderer(new MyRenderer());
        cbox.setEditable(false);
        JFrame frame = new JFrame();
        JPanel content = (JPanel) frame.getContentPane();
        content.add(cbox);
        frame.pack();
        frame.setVisible(true);
    class MyRenderer implements ListCellRenderer {
      public Component getListCellRendererComponent(
        JList list,
        Object value,
        int index,
        boolean isSelected,
        boolean cellHasFocus)
        String strValue;
        JLabel label;
        strValue = (String) value;
        label = new JLabel("<" + strValue + ">");
        label.setOpaque(true);
        if( isSelected ) {
          label.setForeground(Color.black);
          label.setBackground(Color.green);
        } else {
          label.setForeground(Color.white);
          label.setBackground(Color.black);
        return label;
    }This code simply creates a JComboBox with 3 String values, "One", "Two", and "Three". The renderer creates a JLabel with the String value enclosed in triangle brackets. The renderer also sets the colors of the JLabel to white on black if unselected and black on green if selected.
    When I run this program, the list portion of the JComboBox looks correct, but the entry in the edit field is wrong. It has the enclosing triangle brackets around the selected String, but the colors are still the default black on gray.
    What do I need to do to get the colors in the edit field to display correctly?
    - James

    A JComboBox is similar to a JSpinner in the sense that it has an associated editor that has an associated textfield....check out the link shown below
    http://forum.java.sun.com/thread.jsp?forum=57&thread=385077
    ;o)
    V.V.

  • JList to JList Selection Exchange

    I'm trying to build a GUI for a project where
    Selectable Values can be transfered from one list to
    another. I cant explaine what I mean to well so an ASCII picture may come in handy:
    From: --> To:
    JList <-- JList
    Note: --> and <-- are Buttons to do the swaping.
    I cant seem to Lay this out I've tried GridBag Grid, Box,
    Border as type of ways of laying it out Can someone please help.

    Ok new Quandry!
    How do I transfere JList Data to annother JList and remember avery & gt; is supposed to be > and any <x> are really [x];
    Here is my code I've tried but it doesn't work.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.border.*;
    class LtoL extends JFrame implements ActionListener
         public LtoL()
              String listtest[] = {"one","two","three","four","five","Six"};
              JList rightList = new JList();
              JLabel rightLabel = new JLabel("Selected Processes");
              JList leftList = new JList(listtest);
              JLabel leftLabel =  new JLabel("Available Processes");
              JPanel buttonPanel = new JPanel();
              JPanel buttonPanelNorth =  new JPanel();
              JPanel buttonPanelSouth =  new JPanel();
              JPanel rightSide = new JPanel();
              JPanel leftSide = new JPanel();
              JButton toRight = new JButton("Add Process");
              JButton froRight =  new JButton("Remove Process");
              JButton nextPage =  new JButton("Continue");
              toRight.addActionListener(this);
              froRight.addActionListener(this);
              rightSide.setLayout(new BorderLayout());
              leftSide.setLayout(new BorderLayout());
              rightSide.add(rightLabel,BorderLayout.NORTH);
              rightSide.add(rightList,BorderLayout.CENTER);
              leftSide.add(leftLabel,BorderLayout.NORTH);
              leftSide.add(leftList,BorderLayout.CENTER);
              buttonPanelNorth.setLayout(new BorderLayout());
              buttonPanelSouth.setLayout(new BorderLayout());
              buttonPanel.setLayout(new GridLayout(2,0));
              buttonPanelSouth.add(toRight,BorderLayout.NORTH);
              buttonPanelSouth.add(nextPage,BorderLayout.SOUTH);
              buttonPanelNorth.add(froRight,BorderLayout.SOUTH);
              buttonPanel.add(buttonPanelNorth);
              buttonPanel.add(buttonPanelSouth);
              JPanel mainPanel =  new JPanel();
              mainPanel.setBorder(new EmptyBorder(new Insets(5,5,5,5)));
              mainPanel.setLayout(new GridLayout(0,3));
              mainPanel.add(leftSide);
              mainPanel.add(buttonPanel);
              mainPanel.add(rightSide);
              this.getContentPane().add(mainPanel);
              //Placement 
              Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
              setLocation(dim.width/4-this.getWidth()/2, dim.height/4-this.getHeight()/2);
              //Actions
              setDefaultCloseOperation(EXIT_ON_CLOSE);
              //Show it
              setSize(640,480);
              setResizable(true);
              setVisible(true);
         public void actionPerformed(ActionEvent e)
              if( e.getActionCommand().equals("Add Process"))
                   //on button Add :
              rightList.setSelectedIndices(leftList.getSelectedIndices());
              else
                   //on button remove
              leftList.setSelectedIndices(rightList.getSelectedIndices());
         public static void main(String args[])
              LtoL l = new LtoL();
    }I here are the errors i get as well when i try to compile it.
    cannot resolve symbol leftList or rightList why?

  • How to 'veto' a jList selection change

    Hi All,
    I have a JList which I'm using as a record selector - so whenever my user selects an item on the list, the associated record is loaded up into the other controls on this form for editing. If the user edits any of the data items, I want to ask whether to save changes or not if another item is selected from the JList. So, I've added code in my 'selection changed' function to check for changes and show a 'yes/no/cancel' JOptionPane. The code for my 'yes' and 'no' respones work fine - either save the changes or not, then show the next record. My problem is handling if a user clicks cancel...
    If the user selects 'Cancel', I dont want any of my "show new record" code to execute (this is easy, I can just 'return' out of the function) but also I don't want the JList selection to change. I've tried calling setSelectedIndex() back to the originally selected item, but this in turn triggers my 'selection changed' function to be called again, which causes the user to be asked twice whether they want to save changes!
    So, what I'm after is a kind of beforeSelectionChanged event, which allows the possibility of denying the selection change - but it doesn't look like this exists! I vaguely remember another language (possibly C++/MFC) having this - the user's action could be ignored depending on the return value of the function. Can anyone offer a way of achieving this in Java?
    (It's been a while since I last touched Java, and I'm a complete n00b with Swing. Using NetBeans as my IDE.)
    Thanks in advance for any suggestions!
    Andy

    The way I do it, is to implement a VetoableSelectionModel similar to a bean with a vetoable property: on selection change it queries registered VetoableChangeListeners if they don't object and backs out if one of them barks.
    HTH
    Jeanette

  • JList selections automatically deselect on mouseout

    Hi,
    I'm having a problem with a JList that's contained within a JPanel that's contained within a JTable cell. The problem is that whenever I select a row in the JList and then leave the JList (to some other portion of the JPanel) the selection gets deselected. That way I can never click on a button that resides on the JPanel that should call an action using the selected item from the JList. Has anyone experienced this?

    If im getting your problem right theres a simple solution. Your list in the table cell is a TableCellEditor right? but when your done editing the value it switchs back to the TableCellRenderer. So if your renderer is another list its normal that this list has no item selected
    My advice, either take the same list as your renderer and editor or code your renderer to check the new selected value and to update his list.
    Hope it helps.

  • ADF  Get selected values from Dynamic Lists

    Hi,
    I have a created a dropdown list box where the list gets value through a managed bean. On commit I want the selected value to be saved into the CardiacV1EchoSched column of the Entity object (database). The source looks like this.
    <af:selectOneChoice value="#{bindings.CardiacV1EchoSched.inputValue}"
    label="#{bindings.CardiacV1EchoSched.label}"
    valuePassThru="true">
    <f:selectItems value="#{TTrack.carScheList}"/>
    </af:selectOneChoice>
    The problem is that getCardiacV1EchoSched() in the entity object class is null. The selected value does not get passed into #{bindings.CardiacV1EchoSched.inputValue} at all. If I bind the value to a variable in managed bean I get the selected value.
    Thanks in advance,

    Hi,
    not sure which business service you use to update the database, but if you use ADF Business Components then you need to call the commit operation
    Frank

  • Error while attaching document to report on Portal - Invalid selection valu

    Hello All,
    We are running our reports on Portal and as per the business requirement the users have to create comments or attach documents to certain amounts in certain columns and once they create the comment a document icon shows up near that amount (for example there are 3 columns Budget, actual, balance then the user have to create comment for some amounts which needs explanation) they do that from context menu  Documents -> Create new Comment.
    Now we want those documents to be saved on Infoprovider level and not on master data for any particular object. We have activated the flag "Characteristic is document property" on related infoobjects. We have the flag to display document icon on Infoprovider active in the web template. Now when I run the report I am able to create new comments on first two columns and when the report refreshes it shows me icon near that amount but it gives me errors on third column after the report refreshes itself. Now when I go in portal KM repository where documents are stored I do see the document that I created for the third column as well so looks like the document is getting created and being stored but the issue is when it tries to display the icon on that third column.
    The error I get is this:
    The initial exception that caused the request to fail was:
    Invalid selection value:  AttributeMember
    com.sap.ip.bi.bics.dataaccess.resource.impl.bi.exceptions.BicsResourceBwRuntimeException: Invalid selection value:  AttributeMember
    at com.sap.ip.bi.bics.dataaccess.resource.impl.bi.selector.selection.ProviderRange.setLowForced(ProviderRange.java:297)
    at com.sap.ip.bi.bics.dataaccess.resource.impl.bi.selector.selection.ProviderRange.setLow(ProviderRange.java:291)
    at com.sap.ip.bi.bics.dataaccess.resource.impl.bi.selector.selection.ProviderRange.set(ProviderRange.java:469)
    at com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.selection.SingleMember.set(SingleMember.java:125)
    at com.sap.ip.bi.km.common.assignment.AssignmentMember.isContained(AssignmentMember.java:192)
    Please give some inputs if anyone is facing same problem or is anyone has worked previously with this kinda of stuff.
    Thanks in advance.
    Kiran

    Hi!
    Have you solved this problem? I have the same problem after a SPS implementation (SPS 17). The message appears when we select a single value in a DP (hierarchical filter item) that filters another one, but when I select a node it doesn't.
    Before the patch implementation the apliccation worked ok.
    Any idea?
    Thanks in advance.
    Jose

  • How to refresh page after selecting value from LOV item , in a tabular form

    Hi ,
    I have a tabular form, which contains 2 items(columns), of type "Select List - named LoV".
    Now, couple of issues here.
    1.
    2nd item(column) in tabular form, that LoV should get populated based user's selection value in first item LoV. So how do i refer to the value, that user selected in first item's LoV? I will have to use this reference in LoV query of my 2nd item ( on this tabular form)
    2.
    How can we refresh the page, when user selectes value in first item ( from LoV). As this is a tabular form, here item type is Select List, we dont have an option to pick item type as Select List with Submit. So problem is that when user selects value for item 1, refresh does not happen and item 2 LoV does not get populated as per user's selection in item 1.
    Please help here. Would be really appreciated.
    Thanks and Regards,
    Rave.

    Thanks Ben and Dan for your responses.
    Ben, your solution helped me with refresh of page, as page got submitted.
    This answers to my 2nd question. However, I still need to know first question, which basically is, how do i refer to the value, that user selected in first item LoV.
    Issue is, I selected the value in first item LoV, it got submitted and page fot refreshed. But after page refresh, first item LoV loses its value that I had selected last time. It does not retain the selected value after refresh.
    I have an unconditional process, that on every submit(refresh) of page, I set my items with their corresponding values. But problem is what do i mention there to refer to this item.
    I looked in view source of my page, this item is referred as f03.
    So i used "apex_application.g_f03", to set this item to its value, in my uncoditional submit process. But it did not work. I tried to refer this item as "f03" in this unconditional submit process. But still it did not help, the selected item loses its value after page refresh(submit).
    Any help here would be really appreciated. Please suggest how do we refer to this item's selected value.
    Thanks and Regards,
    Ravi.

  • Unable to set the selected value for a ADF LOV

    Hi,
    I am developing an application using jdeveloper 10.1.3 and Struts.
    I have created a ADF LOV on my JSP Page as given below:
    <html:select property="lob" onchange="javascript:selectLOB(this.form)">
    <html:optionsCollection label="prompt" value="index" property="lob.displayData"/>
    </html:select>
    When i submit the form, i am able to get the value of the selected Value in the List.
    JUCtrlListBinding listBinding = (JUCtrlListBinding) formBean.get("Lob");
    Row r = (Row) listBinding.getSelectedValue();
    String SoLob = (String) r.getAttribute("LobLob");
    But i am unable to set the selected value back in the list when i return to the form again.
    I tried the following:
    int x = listBinding.getSelectedIndex();
    listBinding.setSelectedIndex(x);
    It would be really helpful if some one could let me know what needs to be done.
    Thanks,
    Subashini

    Gyan,
    I tried with the code you suggest , its trying to set the value of a field, but my requirement is to change the property for
    "Rendered" on the field so that based on search parameters we can hide result table column.
    After searching online, I modified the controller code as follows
    1.Created a new transient attribute (Testrender) with type "Boolean" and always updateable.
    2.changed the "Rendered" property value on the field I want to hide as ${oa.PoSearchVO1.Testrender}.
    3. Modified the controller code as follows :
            OAApplicationModule am = pageContext.getApplicationModule(webBean);
            OAViewObject testvo = (OAViewObject)am.findViewObject("PoSearchVO1");
            OADBTransaction txn = am.getOADBTransaction();
            if (testvo != null)
              OARow row = (OARow)testvo.first();
                if (a.equalsIgnoreCase("Approved"))
                     row.setAttribute("Testrender", Boolean.FALSE);
                else
                     row.setAttribute("Testrender", Boolean.TRUE);
            } But now when i run the page and populate the search field and click "Go" its hiding the field but throwing the following error and the search results are also bad.
    Its using only the value of one search parameter but not the second one .
    The search cannot be executed because the table has pending changes that would be lost. I think the vo is getting dirty when I update the transient attribute value. So I used txn.rollback ,then search is working fine but its not hiding the field.
    So can you please let me know how to proceed from here ?

  • SSRS Report with mutli select values in parameters

    Hi All,
    I am creating a SSRS report and displaying the result in tablix. I want to make the report to filter by multi select values from the parameters.
    I have 3 parameters. For all the three parameters, I have set "Default  Values" and "Available Values". Also, modified my result dataset to get the values from parameters using "WHERE ID = @Parameter1" (example) and so
    on..
    3 Parameters types:   1. Yes or No       
    2. Date          3. Values with NULL in the DB
    Problems:
    1. When I am passing the default values "Yes" "No" - it is throwing errors because default values is passed as Yes "AND" No instead of "OR" condition. The value stored in the DB wil have either Yes or No but not both.
    2. When I am querying the date values, it is a DateTime field in the DB. But I have queried like SELECT CONVERT(DATE, EXE_DATE) AS DATE FROM table which is giving only date in SQL but in SSRS displaying date with time.
    3. When I pull the list of values for third Parameter from SQL, it has some NULL values. When I try to use it in SSRS, it is not displaying the NULL value as select option in the list of values
    Any suggestions for the above three problems for SSRS with multi select values as filter will be helpful.
    Maruthu | My Blog

    Hi Maruthi,
    Regarding the three things:
    1.) I believe your first parameter is mutliselect , please convert it to single select.
    Steps: 
    a.) Select the parameter, right click and go to parameter properties
                    b.) Under General Tab in DataType section remove the checkbox for Allow Multiple Value.
    2.) Instead of returning as the date please return string. For example : 
    SELECT CONVERT(VARCHAR, GETDATE(),101)
    Here is the list of conversion : http://www.sqlusa.com/bestpractices/datetimeconversion/
    3.) As such there is no concept of null in SSRS. (Its a relational concept) . We do have nothing , which means empty. In Order to use null please select the Allow null option in the DataType section of the Parameter, This will add an checkbox for null in
    the report preview. Its developer job to handle the null values in there query.
    Regards Harsh

  • Automatically Selecting Values in Multiple Values Dropdown Parameters

    Hi,
    Is it possible to have parameter values automatically selected in a dropdown in an SSRS report?  I'm using SQL Server 2008 R2 Enterprise edition.  Basically what I have in mind is this:  The user wants to save his parameter selections in a
    table that will be available as a dropdown parameter of a report, call it
    ParamUserSelection.  ParamUserSelection is the first parameter of the report and other parameters depend on it.
    We have two other parameters called ParamCountry and
    ParamState.  These are dropdown text parameters that allow multiple values to be selected.  Populating the list is not a problem as I use a standard cascading parameter technique.  What I'm trying to do is the following:
    The user selects a value from ParamUserSelection, call it Selection1.  Selection1 is stored in a table and has all the values that should be selected in ParamCountry and ParamState.  In other words, it should tell these two subsequent parameters,
    what values should be selected in their respective dropdowns.  For example if the user selects Selection1 from ParamUserSelection, it reads the values in the database table and if it finds US and Canada for countries and CA, NY, ON for states, ParamCountry
    should be populated with all the countries available in the database but should have ONLY US and Canada as selected values and ParamState should be populated with all the states in the database but should have ONLY CA, NY and ON as selected values.
    If then I click on selection 2 and it has ParamCountry = US, ParamState = TX,OH in its database then again all countries and states should be in the dropdown but only US for ParamCountry and TX,OH for ParamState should be selected.
    Is this possible with SSRS?  I've tried using the Default Values tab with a dataset that returns all the selected values under Report Parameters Properties but this only works for the first time that I select ParamUserSelection.  It appears that
    if I change the value of ParamUserSelection again, the default values are not invoked.
    If this is possible, please tell me how to do this as I have been struggling for a day with it.

    Hi Comedian,
    According to your description, you have a report with three parameters (ParamUserSelection, ParamCountry, ParamState). The available value lists of ParamCountry and ParamState are based on the selection of a value for ParamUserSelection. Now you want to
    show all countries and states in their parameter dropdown list when selecting a user selection instead of only showing the cascading values. Right?
    In Reporting Service, when we want a parameter to show the cascading values, we only need to set the corresponding dataset and field for Default Values in this parameter. In this scenario, if we want to show all countries and states in their dropdown list,
    we just need to set another dataset for Available Values in those parameters so they can display all countries and states. We have tested your case in our local environment. Since you have done with the cascading parameters, we just give some part of steps
    and screenshots for your reference:
    We created two tables (dbo.Selection, dbo.states) based on your information.
    Create one more dataset (named dataset2) in your report, put text below into your query:
    select distinct Country from states
    Create another dataset (named dataset3), put text below into your query:
    select distinct State from states
    Go to your ParamCountry, in Available Values, select dataset2 and Country for dataset and field.
    Go to your ParamState, in Available Values, select dataset3 and State for dataset and field.
    Save and preview. It looks like below:
    Reference:
    Report Parameters (Report Builder and SSRS)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou
      

  • How to get selected value from selectOneRadio ???

    Hi...i want to how to get selected value from selectOneRadio and use it in another page and in backing bean.
    Note i have about 10 selectOneRadio group in one page i want to know value of each one of them.
    Plzzzzzzzz i need help

    You have a datatable in which each row is a question, correct?
    Also in each row you have 5 possible answers that are in a radio, correct?
    So,
    You need to put in your datatable model, a question, and a list of answers (5 in yor case) and the selected one.
    So you will have a get to the question, an SelectItem[] list to populate the radios and another get/set to the selected question.
    ex:
    <h:selectOneRadio value="#{notas.selectedString}" id="rb">
    <f:selectItem itemValue="#{notas.valuesList}"/>
    </h:selectOneRadio>
    Search the web for examples like yours.

  • How to get selected value from OADefaultListBean.

    Hi All,
    How to get selected value from OADefaultListBean ?
    Thanks,

    Hi,
    To identify the user's selection(s) when the page is submitted, you would add the following logic to your processFormRequest() method:
    OADefaultListBean list =
    (OADefaultListBean)webBean.findChildRecursive("positionsList");
    String name = list.getName();
    String[] selectedValues = pageContext.getParameterValues(name);
    To retrieve all the values in the list box, call list.getOptionsData().
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Maybe you are looking for