さて、私は数日前に自動予測テキストフィールドを実行する方法を探していました。はい、いくつかの解決策を見つけましたが、正直であることを完全に理解するのは難しく、 Java/GUI。ボタンをクリックしなければならない場合はずっと簡単でしたが、「手紙が書かれる」たびにプログラムがそのような行動をどのように実行するかはわかりません。単純なテキストフィールドとボタンを作成しました。ボタンがクリックされるたびに、テキストフィールドの文字列がarraylistに追加され、別のテキストフィールドにarraylistが印刷されます(自動予測をテストする簡単な例)Auto Prediction TextField
public class Phonebook {
public static ArrayList<String> names = new ArrayList<String>();
public static void main(String[] args) {
JFrame myForm = new JFrame("Phonebook");
myForm.setSize(555, 500);
myForm.setLocation(0, 0);
JButton button = new JButton("Add");
button.setSize(100, 50);
button.setLocation(450, 40);
myForm.add(button);
JTextField t = new JTextField();
t.setSize(200, 60);
t.setLocation(10, 40);
myForm.add(t);
JTextField ttt = new JTextField();
ttt.setSize(500, 300);
ttt.setLocation(10, 100);
ttt.setEditable(false);
myForm.add(ttt);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
names.add(t.getText());
String str = "";
for(int i=0; i<names.size(); i++)
str + =names.get(i) + "\n";
ttt.setText(str);
}
});
myForm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myForm.setLayout(null);
myForm.setVisible(true);
}
}
小さなテキストフィールドを自動的に完成させたいので、 "M"と入力すると、 "M"で始まるarraylistの名前だけが表示されます。 「M」は簡単ですが、「自動」にするのはとても難しいです。誰かが私に新しいコード全体を混乱させる代わりに私のコードを助けてくれたら、本当に感謝しています。ありがとうございました。
編集:または、何らかの形で文字が書かれているかどうかを確認するコードが必要なので、(文字がテキストフィールドに書き込まれると)、system.out.print( "A");
http://stackoverflow.com/questions/14186955/create-a-autocompleting-textbox-in-java-with-a-dropdown-listそれはあなたが望むものですか? –
btwこれらは**自動完成テキストボックス**と呼ばれます。 Googleで検索すると、1000種類のソリューションが表示されます。 –
@MehrajMalik私は今何時間もこれを読んできました。私がクリックするすべてのリンクは、私に別の10のリンクを与えます。私は何千ものリンクを持っていました。彼らはすべて、コンボボックス内で自動予測やオートコンプリートを行っていますが、私はそれとは違うテキストフィールドの中に入れたいと思います。 – Ahmed