0

プロジェクトにオートコンプリートの要素を追加しました。ただし、ユーザーが 1 つの単語を入力すると、オートコンプリート アルゴリズムは停止します。さらに文字を追加できますが、オートコンプリートの提案はありません。

私は使用してJSuggestFieldいます(私のプロジェクトにjarを追加しました)、ここに問題を示すSSCCEがあります:

import javax.swing.*;

import ch.rakudave.suggest.JSuggestField;

import java.awt.*;
import java.util.Vector;

public class Classic extends JFrame {


public static final String CHILD = "/child::";
public static final String DESCENDANT = "/descendant::";
public static final String FOLLOWING_SIBLING = "/following-sibling::";
public static final String DESCENDANT_OR_SELF = "/descendant-or-self::";
public static final String SELF = "/self::";
public static final String PRECEDING_SIBLING = "/preceding-sibling::";
public static final String ANCESTOR_OR_SELF = "/ancestor-or-self::";
public static final String ANCESTOR = "/ancestor::";
public static final String FOLLOWING = "/following::";
public static final String PRECEDING = "/preceding::";

public Classic() {
    initComponents();
}

private void initComponents() {


    Vector<String> vector = new Vector<String>();
    vector.add(DESCENDANT);
    vector.add(FOLLOWING_SIBLING);
    vector.add(DESCENDANT_OR_SELF);
    vector.add(SELF);
    vector.add(PRECEDING_SIBLING);      
    vector.add(ANCESTOR_OR_SELF);  
    vector.add(ANCESTOR);
    vector.add(FOLLOWING);
    vector.add(PRECEDING);
    JSuggestField jsuggest= new JSuggestField(this,vector );

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(200, 200);

    Container container = getContentPane();
    container.setLayout(new FlowLayout(FlowLayout.LEFT));

    JTextField textField = new JTextField(15);
    jsuggest.setPreferredSize(new Dimension(100, 20));

    //
    // Right justify the JTextField contents
    //
    jsuggest.setHorizontalAlignment(JTextField.RIGHT);

    container.add(jsuggest);

    textField = jsuggest;
}

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            new Classic().setVisible(true);
        }
    });
}
}

スナップショットを次に示します最初のオートコンプリートの

これはいいことですが、ユーザーが文字を入力するたびにオートコンプリートが機能するようにしたい/ので、1 つのオートコンプリートでは不十分です。

などを使用してこれを解決するにはどうすればJSuggestFieldよいですか?

ありがとう。

4

0 に答える 0