Filtern einer JList aus text-input-Feld
ich habe ein text-Feld-stick zu jList1 und ich muss
filter j Liste der Personen abhängen, die Werte vom Benutzer eingegeben, in das Textfeld ein
wie unten, wenn j Liste Werte {"one","two","three"......etc }
wenn Benutzer eingegeben "drei" in das Textfeld ein, um pop-up die Liste und wählen Sie die Zeile mit drei Wert
zu ausgewählten Bezug-index.
private void jTbandnoActionPerformed(java.awt.event.ActionEvent evt)
{
//TODO add your handling code here:
String tXT=jTbandno.getText();
jList2.collections.equal(tXt);
int index = jList2.getSelectedIndex();
JOptionPane.showMessageDialog(null, index);
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut können Sie die create-Methode heraus zu filtern, die Werte mit
DefaultListModel#removeElement
, undDefaultListModel#addElement
Allgemein beim Umgang mit Daten oder Komponenten, die Modelle verwenden, sollten wir die Interaktion mit dem Modell und nicht die Komponente. So können Sie eine Methode so etwas wie
Wenn Sie brauchen, um zu filtern, zum Beispiel in der
DocumentListener
von einem text-Feld, nur um den text für das Textfeld, und diese Methode aufrufen, übergeben Sie das Modell und den filter-string. So etwas wieHier ist ein komplettes Beispiel. Können Sie umsetzen wollen, eine komplizierte Filterung wie einschließlich die Sortierung in der Suche filtern. Dies ist nur ein einfaches Beispiel.
UPDATE: Als mKorbel wies darauf hin das offensichtliche, dies kann eine bessere Verwendung für eine
JTable
mit einer einzelnen Spalte, wo eine Sortierung und Filterung ist bereits ein Teil der API.Sehen Wie Verwenden von Tabellen: Sortieren und Filtern