views:

43

answers:

1

1) I was able to add a JTextField to the JFrame, and I initialized the class Java2sAutoTextField as given in Auto Complete JTextField (Swing / AWT / SWT / JFace forum at JavaRanch).

2) I initialized the list and field inside the JFrame constructor, as shown below.

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

3) The problem that arises is this: Even though I have initialized the Java2sAutoTextField, how can I apply auto completing to the JTextField?

+2  A: 

Adding the main() method below to Java2sAutoTextField produced the expected result after typing "H". It's not crucial for this example, but Swing GUIs should be constructed on the EDT.

alt text

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);
        }
    });
}
trashgod
Note that `Java2sAutoTextField` _is_ a `JTextField`.
trashgod