2011-12-31 34 views

答えて

2

、テーブルのデフォルトのレンダラはJLabelで、デフォルトのエディタはJTextFieldです。意図したドメインに適したalgorithmを使用して、hereのように実装されたカスタムエディタを用意する必要があります。

+2

+1 http://www.java2s.com/Code/Java/Swing-Components/AutocompleteComboBox.htm – mKorbel

+0

@ mKorbelの関連する[examples]も参照してください(http://stackoverflow.com/search?q=user% 3A714968 +%5Bjava%5D +オートコンプリート)。 – trashgod

3

SwingXライブラリには、非常に便利なAutoCompleteDecorator関数があります。

JTable列の値をvalidValuesというArrayListにコピーするとします。あなたは今のJTextFieldがmyTextFieldに自動補完のために必要なのは、次のコードです:

AutoCompleteDecorator.decorate(myTextField, validValues, true); 

3番目の引数はユーザーが以外の値を入力することが許可されているかどうか、つまりあなたは、厳格なマッチングをするかどうかオートコンプリートデコレータを告げるあなたのJTable列かどうか。

+0

swingxの唯一の問題は、結果が1つだけ(失敗した)ということです。 –

+0

それはどういう意味ですか? –

+0

@SmartyTwiti:こんにちは、私の友人、どのように私は1つ以上の結果を許可するために 'swingX'を作ることができますか?私には1つのオートコンプリートしか許されません。もっと必要です。ありがとう! – ron