Automaattinen täydennys tekstikenttään Swing John C.

on paljon kohteita pudotusvalikosta avulla käyttäjä ärtynyt ajettaessa ohjelma, varsinkin kun nopea panosta tarvitaan, manuaalinen haku vierittämällä vierityspalkkia on niin aikaa vievää, mutta voidaan välttää, jos saamme mitä kohde haluamme valitsemista vain kirjoittaa ensimmäisen tai toisen kirjeellä it.In toisessa asiassa sinua ehkä haluat tehdä tekstikenttään kanssa vihjannut tulo kuten hakukone tekstikenttään. Jotta jotain, meidän JTextField

ja JComboBox

yhdessä one.Custom JComboBox:

tuonti java.awt.event.ItemEvent, tuonti javax.swing.DefaultComboBoxModel, tuonti javax.swing .JComboBox, tuonti javax.swing.plaf.basic.BasicComboBoxEditor; public class AutoComboBox ulottuu JComboBox {private class AutoTextFieldEditor ulottuu BasicComboBoxEditor {yksityinen AutoTextField getAutoTextFieldEditor () {paluu (AutoTextField) toimittaja,} AutoTextFieldEditor (java.util.List lista) {editorin = uusi AutoTextField (luettelo, AutoComboBox.this);}} julkinen AutoComboBox (java.util.List lista) {isFired = false; autoTextFieldEditor = uusi AutoTextFieldEditor (luettelo); setEditable (tosi), setModel (uusi DefaultComboBoxModel (list.toArray ()) {suojattu mitätön fireContentsChanged (Object obj, int i, int j) {jos (! isFired) super.fireContentsChanged (obj, i, j);}}); setEditor (autoTextFieldEditor);} public boolean isCaseSensitive () {palata autoTextFieldEditor.getAutoTextFieldEditor (). isCaseSensitive ();} public void setCaseSensitive (totuusarvolippu) {autoTextFieldEditor.getAutoTextFieldEditor (). setCaseSensitive (lippu);} public boolean isStrict () {palata autoTextFieldEditor.getAutoTextFieldEditor (). isStrict ();} public void setStrict (totuusarvolippu) {autoTextFieldEditor.getAutoTextFieldEditor (). setStrict (lippu);} public java.util.List getDataList () {palata autoTextFieldEditor.getAutoTextFieldEditor (). getDataList ();} public void setDataList (java.util.List lista) {autoTextFieldEditor.getAutoTextFieldEditor (). setDataList (luettelo); setModel (uusi DefaultComboBoxModel (list.toArray ()));} void setSelectedValue (Object obj) {jos (isFired) {return;} else {isFired = true; setSelectedItem (obj), fireItemStateChanged (uusi ItemEvent (tämä, 701, selectedItemReminder , 1)); isFired = false; paluu;}}Overrideprotected mitätön fireActionEvent () {jos (! isFired) super.fireActionEvent ();} yksityinen AutoTextFieldEditor autoTextFieldEditor; yksityinen boolean isFired; } Final koodi ja koko artikkeli tarkista Geek Java