我想知道是否可以使用 if 语句检查 JList(或 JList 模型)的特定值。
我想使用list.setSelectedValue()
突出显示当前值,但是如果该值不在 JList 中,则会引发错误,因此我想使用 if 来检查它是否在 JList 中。
谢谢
我想知道是否可以使用 if 语句检查 JList(或 JList 模型)的特定值。
我想使用list.setSelectedValue()
突出显示当前值,但是如果该值不在 JList 中,则会引发错误,因此我想使用 if 来检查它是否在 JList 中。
谢谢
假设您在 JList 中使用DefaultListModel,您可以使用contains方法,如下所示:
DefaultListModel model = (DefaultListModel) list.getModel;
model.contains(theObject);
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;
}
您可以使用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);