2011-01-07 18 views
1
myJList.setSelectedValue("someTHING", true); //if "SomeThing" in the list, it won't be selected 

Ich möchte den Wert setzen, scheint aber wie setSelectedValue ist case-sensitive, ich möchte einen Wert auszuwählen, aber Groß- und ignorieren, ist es möglich? und wie?Java: JList setSelectedValue(), aber ignoreCase

Antwort

2

Statt String Objekte in Ihrer ListModel Hinzufügen Sie Ihre eigenen String Wrapper schreiben könnte und die equals(Object o) Methode überschreiben, um Groß- und Kleinschreibung. Dies könnte Auswirkungen auf andere Bereiche Ihrer App haben.

1

I can't see eine beliebige Methode für diese, aber eine oder zwei Methoden zusammenführen können Sie dies haben.

Anruf getNextMatch(), bis Sie das genaue Element finden und dann setSelectedValue

1

setSelectedValue() ist nicht Groß-und Kleinschreibung, Java ist Groß-und Kleinschreibung.
Zwei Lösungen:

  1. Verwenden Sie alle Groß- oder Kleinbuchstaben in Ihrer Liste
  2. Wenn der Wert Schleife durch die Liste auswählen und den Wert auf den String vergleichen Sie die equalsIgnoreCase() -Methode von String wählen mit .