好吧,我一直在尋找如何做天自動預測文本字段現在,是的,我找到了一些解決方案,但它們是完全難以理解的是誠實的,完全混亂,因爲我是新來的的Java/GUI。如果我不得不點擊一個按鈕來做到這一點會容易得多,但我無法知道程序何時會在「一封信被寫入」時執行此類操作。我做了一個簡單的文本框和一個按鈕,只要點擊該按鈕,在文本字段字符串中一個ArrayList被添加,然後打印在另一個文本框整個數組列表(只是一個簡單的例子來測試自動預測)自動預測文本字段
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」開頭的數組列表中的名稱,該代碼用於查找以一個「M」會很容易,但是讓它變成「自動」對我來說聽起來很難。如果有人可以幫我用我的代碼,而不是給我一個新的整個混淆代碼,我會非常感激。謝謝。
編輯:或者,我只是想,不知怎的,檢查是否一個字母寫的,所以(如果信被寫在文本字段)的代碼,是System.out.print(「A」);
http://stackoverflow.com/questions/14186955/create-a-autocompleting-textbox-in-java-with-a-dropdown-list這是你想要的嗎? –
btw這些被稱爲**自動完成文本框**。在谷歌上搜索你將會有1000個解決方案。 –
@MehrajMalik我已經閱讀了好幾個小時了,每次點擊鏈接都會給我另外10個鏈接,我通過了數千個鏈接。他們都在做自動預測或組合框內自動完成的,但我想它一個文本框,這是不同的內部我想 – Ahmed