2

1) 我能够向 中添加一个JTextField,并按照 Auto Complete (JavaRanch 的 Swing / AWT / SWT / JFace 论坛)中给出的方式JFrame初始化了该类。Java2sAutoTextFieldJTextField

2)我在构造函数里面初始化了列表和字段JFrame,如下图。

List possible = new ArrayList(); 
possible.add("Austria"); 
possible.add("Italy"); 
possible.add("Croatia"); 
possible.add("Hungary"); 
Java2sAutoTextField autoCompleter = new Java2sAutoTextField(possible); 

3)出现的问题是:即使我已经初始化了Java2sAutoTextField,我怎样才能将自动完成应用于JTextField

4

1 回答 1

2

添加以下main()方法以Java2sAutoTextField在键入“H”后产生预期的结果。对于这个例子来说这并不重要,但 Swing GUI 应该在EDT上构建。

替代文字

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {
            List<String> list = new ArrayList<String>(Arrays.asList(
                "Austria", "Croatia", "Hungary", "Italy"));
            JFrame f = new JFrame("AutoTest");
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.add(new Java2sAutoTextField(list));
            f.pack();
            f.setLocationRelativeTo(null);
            f.setVisible(true);
        }
    });
}
于 2010-09-09T08:45:06.750 回答