Autofullfør tekstfelt i Swing av John C.

Har mange elementer i kombinasjonsboksen gjør brukeren irritert når du kjører programmet, spesielt når rask inngang er nødvendig, manuelt søk ved å rulle nedover scroll bar er så tidkrevende, men kan unngås hvis vi kan få det elementet vi ønsker å velge bare ved å skrive første eller andre bokstaven i it.In annet tilfelle du kanskje ønsker å gjøre en tekstfeltet med noen forslag innspill som søkemotor tekstfeltet. For å gjøre noe sånt, trenger vi JTextField Hotell og JComboBox

sammen som one.Custom JComboBox:

import java.awt.event.ItemEvent, import javax.swing.DefaultComboBoxModel; import javax.swing .JComboBox, import javax.swing.plaf.basic.BasicComboBoxEditor; public class AutoComboBox strekker JComboBox {private class AutoTextFieldEditor strekker BasicComboBoxEditor {private AutoTextField getAutoTextFieldEditor () {return (AutoTextField) editor;} AutoTextFieldEditor (java.util.List liste) {redaktør = new AutoTextField (liste, AutoComboBox.this);}} public AutoComboBox (java.util.List liste) {isFired = false; autoTextFieldEditor = new AutoTextFieldEditor (liste); setEditable (true); setModel (ny DefaultComboBoxModel (list.toArray ()) {beskyttet void fireContentsChanged (Object obj, int i, int j) {if (isFired) super.fireContentsChanged (obj, i, j);!}}); setEditor (autoTextFieldEditor);} public boolean isCaseSensitive () {return autoTextFieldEditor.getAutoTextFieldEditor () isCaseSensitive ();.} public void setCaseSensitive (boolsk flagg) {autoTextFieldEditor.getAutoTextFieldEditor () setCaseSensitive (flagg);.} public boolean isStrict () {return autoTextFieldEditor.getAutoTextFieldEditor () isStrict ();.}. public void setStrict (boolsk flagg) {autoTextFieldEditor.getAutoTextFieldEditor () setStrict (flagg);} public java.util.List getDataList () {return autoTextFieldEditor.getAutoTextFieldEditor () getDataList ();..} public void setDataList (java.util.List liste) {autoTextFieldEditor.getAutoTextFieldEditor () setDataList (liste); setModel (ny DefaultComboBoxModel (list.toArray ()));} void setSelectedValue (Object obj) {if (isFired) {return;} else {isFired = true; setSelectedItem (obj); fireItemStateChanged (ny ItemEvent (dette, 701, selectedItemReminder 1)); isFired = false; avkastning;}}Overrideprotected void fireActionEvent () {if (isFired) super.fireActionEvent (!);} private AutoTextFieldEditor autoTextFieldEditor; private boolean isFired; } For endelige koden og hele artikkelen sjekk Geek På Java Anmeldelser