ホームページ >Java >&#&チュートリアル >Java で JTextfield と JList を使用してリアルタイム オートコンプリートを実装するにはどうすればよいですか?

Java で JTextfield と JList を使用してリアルタイム オートコンプリートを実装するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-15 09:05:03890ブラウズ

JTextfield と JList によるオートコンプリート

問題ステートメント:

文字を入力するときにリアルタイムで提案を提供する Java プログラムを開発するJList を提案リストとして使用して、JTextfield に変換します。

解決策:

1.前提条件:

  • 最適なパフォーマンスを得るために候補配列を並べ替えます。
  • Java2sAutoTextField クラスと Java2sAutoComboBox クラスを利用します。
  • これらのコンポーネントを適切な値で初期化します。

2.実装:

Java2sAutoTextField および Java2sAutoComboBox のインスタンスを作成します。候補リストに初期値を入力します。

テキスト フィールドとコンボ ボックスのフォント、色、初期テキストを設定します。

GridLayout を使用して両方のコンポーネントを JFrame に追加します。デフォルトの閉じる操作、位置を設定し、表示用にフレームをパックします。

コード例:

import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;

public class AutoCompleteTextField {

    // ...

    public AutoCompleteTextField() {
        // ...
        someTextField.setFont(new Font("Serif", Font.BOLD, 16));
        someTextField.setForeground(Color.black);
        someTextField.setBackground(Color.orange);
        someTextField.setName("someTextField");
        someTextField.setDataList(listSomeString);

        someComboBox.setPrototypeDisplayValue("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
        someComboBox.setFont(new Font("Serif", Font.BOLD, 16));
        someComboBox.setForeground(Color.black);
        someComboBox.setBackground(Color.YELLOW);
        ((JTextField) someComboBox.getEditor().getEditorComponent()).setDisabledTextColor(Color.black);
        someComboBox.setName("someComboBox");
        someComboBox.setDataList(listSomeAnotherString);

        // ...
    }

    // ...
}

出力:

How to Implement Real-Time Auto-Completion with JTextfield and JList in Java?

注:

このソリューションは、基本的なオートコンプリート機能を提供します。提案リストは静的であり、動的データを含めるようにカスタマイズできます。

以上がJava で JTextfield と JList を使用してリアルタイム オートコンプリートを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。