software issues issue example create all java autocomplete nullpointerexception jtextfield swingx

java - issues - Error de autocompletado de JTextField



jira rest api get all issues (1)

No hay JList involucrado en su código. Creo que debería leer algo como esto ...

org.jdesktop.swingx.autocomplete.AutoCompleteDecorator.decorate(field, Arrays.asList(users), false);

Si desea vincular una JList a un TextField (para que el campo de texto actualice la selección de la JList ), debe decorate(JList list, JTextComponent textComponent, ObjectToStringConverter stringConverter) lugar ...

En este hilo , he encontrado una manera de implementar la función AutoComplete en un JTextField (y JComboBox , pero no hay problema con esto).

Al intentar implementar esta característica en un JTextField arroja algunas excepciones. El siguiente código demostrará el problema. Es muy simple, muy similar a la forma en que usé con JComboBox , que funciona bien.

¿Alguien puede ayudarme a encontrar una solución a esto?

Aquí está el código:
( Tenga en cuenta que estoy usando swingx )

import javax.swing.JList; import org.jdesktop.swingx.JXFrame; import org.jdesktop.swingx.JXTextField; import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator; public class ErrorDemo { public static void main(String[] args) { JXFrame frame = new JXFrame("Error Demo"); JXTextField field = new JXTextField(); String[] users = {"aaa", "bbb", "ccc"}; AutoCompleteDecorator.decorate(new JList(users), field); frame.getContentPane().add(field); frame.pack(); frame.setLocationByPlatform(true); frame.setDefaultCloseOperation(JXFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }

Este es el mensaje de error que recibo:
( es un poco largo: D )

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at org.jdesktop.swingx.autocomplete.ListAdaptor.valueChanged(ListAdaptor.java:76) at javax.swing.JList.fireSelectionValueChanged(JList.java:1765) at javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1779) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398) at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442) at javax.swing.JList.setSelectedIndex(JList.java:2179) at javax.swing.JList.setSelectedValue(JList.java:2295) at org.jdesktop.swingx.autocomplete.ListAdaptor.setSelectedItem(ListAdaptor.java:98) at org.jdesktop.swingx.autocomplete.AutoCompleteDocument.setSelectedItem(AutoCompleteDocument.java:317) at org.jdesktop.swingx.autocomplete.AutoCompleteDocument.insertString(AutoCompleteDocument.java:265) at javax.swing.text.JTextComponent.replaceSelection(JTextComponent.java:1358) at javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction.actionPerformed(DefaultEditorKit.java:859) at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636) at javax.swing.JComponent.processKeyBinding(JComponent.java:2849) at javax.swing.JComponent.processKeyBindings(JComponent.java:2884) at javax.swing.JComponent.processKeyEvent(JComponent.java:2812) at java.awt.Component.processEvent(Component.java:5815) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4410) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:697) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:962) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:834) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661) at java.awt.Component.dispatchEventImpl(Component.java:4282) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Window.dispatchEventImpl(Window.java:2429) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)