简体   繁体   中英

JList - getting value from Click

Is there any way to use ListSelectionListener or MouseAdapter to get information about selected value (if value is a String for example), is there any built-in method for that?

I only know how to get proper indexes but not the content or content.toString()

I'm adding element like this:

{
    DefaultListModel listModel;

    listModel.addElement(name);
}

@Edit
Thank you for you for help. I solved my problem by doing this (for future generations so they wouldn't need to search as I did):

  list.addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent e) { System.out.println("Mouse click."); int index = list.getSelectedIndex(); System.out.println("Index Selected: " + index); String s = (String) list.getSelectedValue(); System.out.println("Value Selected: " + s.toString()); } }); 

When using a JList you can simply use JList#getSelectedValue() which will return the actual object that is current selected.

If you are doing this from within a MouseListener , it would be better to use JList#locationToIndex and then get the value from the JList using it's index

 String value = (String)list.getModel().getElementAt(list.locationToIndex(e.getPoint()));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM