检查JList是否具有特定值

时间:2013-04-03 16:27:48

标签: java swing if-statement jlist

我想知道是否可以使用if语句检查JList(或JList模型)的特定值。

我想使用list.setSelectedValue()突出显示当前值,但如果该值不在JList中,则会抛出错误,因此我想使用if来检查它是否在JList中。

谢谢

3 个答案:

答案 0 :(得分:5)

假设您在JList中使用DefaultListModel,可以使用contains方法,如下所示:

DefaultListModel model = (DefaultListModel) list.getModel;
model.contains(theObject);

答案 1 :(得分:1)

您可以使用以下JList#getNextMatch()方法:

String s = "element";//Say you want to look up for String "element "
int index = list.getNextMatch(s,0,Position.Bias.Forward);
if (index != -1)
list.setSelectedValue(s,true);

答案 2 :(得分:0)

   public static boolean hasElement(Object searched, JList list) {
      for (int a = 0; a < list.getModel().getSize(); a++) {
         Object element = list.getModel().getElementAt(a);
         if (element.equals(searched))  {
            return true;
         }
      }
      return false;
   }