好吧,我一直在寻找如何做天自动预测文本字段现在,是的,我找到了一些解决方案,但它们是完全难以理解的是诚实的,完全混乱,因为我是新来的的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