私はテキストフィールドにいくつかの文字を入力すると、関連するアイテムがデータベースから取得され、ドロップダウンリストとして表示されるはずです。 例: テキストフィールドに 'J'と入力し、データベースに{"Juby"、 "Jaz"、 "Jasmine"、 "Joggy" ....}などの名前を付けています リストから選択することができます。 awtに事前定義されたコントロールがありますか? ThnxJTextField内のドロップダウンリスト
2
A
答えて
3
これは、あなたが尋ねたものを実装する小さな例です...この例では、データベースは、文字列のベクトルである。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Answer extends JFrame {
public static final int MAXITEMS = 100;
JPanel panel = new JPanel();
JTextField textField = new JTextField(10);
String[] myDataBase = { "Juby", "Jaz", "Jasmine", "Joggy", "one", "dog","cat", "parot" };
String[] listItems;
JList theList = new JList();
public Answer() {
this.add(panel);
panel.setPreferredSize(new Dimension(500, 300));
panel.add(textField);
panel.add(theList);
textField.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent ke) {
String compareString = ("" + textField.getText() + ke.getKeyChar());
listItems = new String[MAXITEMS];
if (compareString.trim().length() > 0){
int counter = 0;
for (int i = 0; i < myDataBase.length; i++) {
if (counter < MAXITEMS) {
if (myDataBase[i].length() >= compareString.length() &&
myDataBase[i].substring(0, compareString.length()).equalsIgnoreCase(compareString)) {
listItems[counter] = myDataBase[i];
counter++;
}
}
}
}
theList.setListData(listItems);
}
});
}
public static void main(String[] args) {
final Answer answer = new Answer();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
answer.pack();
answer.setVisible(true);
}
});
}
}
1
1つのオプションは、それがauto-completionためのいくつかのサポートを持っているとして、GlazedListsを使用することです。
2
なぜJComboBoxを使用しないのですか?デフォルトでは、ユーザーが読み取り専用コンボボックスにキーストロークを入力し、コンボボックスの項目が入力されたキーストロークで始まると、コンボボックスはその項目を選択します。
または、setEditable(true)
を使用して編集可能にするJComboBoxを設定し、KeySelectionManagerを使用できます。このリンクでは、複数のキーストロークでJComboBoxコンポーネント内の項目を選択する方法について説明します。
関連する問題
- 1. JTextFieldの内容でarraylistを検索する - arraylist.contains(jtextfield)
- 2. UWP内のComboBoxのドロップダウンリスト
- 3. JTextField
- 4. JTextFieldのサイズ
- 5. はJTextFieldの
- 6. JTextFieldオートコンプリート
- 7. カスタムJtextField
- 8. gridview内のドロップダウンリストでの問題
- 9. JTextField用のJavaスイングプログラム
- 10. Javaとjtextfieldの値
- 11. JTextFieldのJava show result
- 12. JTextFieldのカスタムテキスト制約
- 13. MVC 3 Razor - HTMLリスト内のドロップダウンリスト
- 14. テーブル内のJTextFieldとJTextAreaに注目する
- 15. JComboboxとJTextfield
- 16. JTextField with Numpad
- 17. グリッドビュー内の別のドロップダウンリストで選択された値に基づいて、グリッドビュー内のドロップダウンリストを無効にする
- 18. のJava SwingのJTextFieldのインセット
- 19. JTextFieldのドイツ語の文字
- 20. 内容をJTextFieldから配列に保存する
- 21. レイアウトビュー内にドロップダウンリストをバインドします
- 22. オートコンプリート検索Jtextfield Java
- 23. JTextFieldにデータベースを取得
- 24. JTextfieldプログラムによる追加
- 25. JTextFieldに空白がない
- 26. JTextFieldを検証する
- 27. 制限JTextField文字入力
- 28. Excelの依存ドロップダウンリストと複数ドロップダウンリスト
- 29. JTextFieldをマウスでクリックしたときにJTextFieldをクリアする方法
- 30. ドロップダウンリスト内の世界郡の網羅的リスト
私はコードを試しましたが、機能していません –
"Juby"、 "Jaz"、 "Jasmine"という単語を見るためには、 jではなく。 コードを貼り付けてコピーしても問題ありません。エラーメッセージがありますか?あなたが正確に何をすればそれは言うのですか? – Pitelk
コードがバグです:範囲外の例外の例外が発生しました.. – Kais