replaceselection("");java'_java-SwingX AutoCompleteDecorator JTextField错误

我正在测试SwingX AutoCompleteDecorator,我使用的代码是这样的:

import javax.swing.text.JTextComponent;

import javax.swing.JFrame;

import javax.swing.JTextField;

import javax.swing.JPanel;

import javax.swing.JList;

import org.jdesktop.swingx.autocomplete.*;

public class Test extends JFrame

{

public Test()

{

this.setTitle("Testing");

JPanel pan = new JPanel();

JTextComponent test = new JTextField();

((JTextField)test).setColumns(20);

String[] data = {"one", "two", "three", "four"};

JList dataList = new JList(data);

AutoCompleteDecorator.decorate(dataList, test);

pan.add(test);

this.setContentPane(pan);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

this.setBounds(280,150,500,200);

}

public static void main(String[] args)

{

Test t = new Test();

}

}

我最终收到大量运行时错误消息,我真的不想为线程“ AWT-EventQueue-0” java.lang.NullPointerException中的异常发布堆栈跟踪:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

at org.jdesktop.swingx.autocomplete.ListAdaptor.valueChanged(ListAdaptor.java:77)

at javax.swing.JList.fireSelectionValueChanged(JList.java:1798)

at javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1812)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)

at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)

at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)

at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)

at javax.swing.JList.setSelectedIndex(JList.java:2212)

at javax.swing.JList.setSelectedValue(JList.java:2362)

at org.jdesktop.swingx.autocomplete.ListAdaptor.setSelectedItem(ListAdaptor.java:99)

at org.jdesktop.swingx.autocomplete.AutoCompleteDocument.setSelectedItem(AutoCompleteDocument.java:355)

at org.jdesktop.swingx.autocomplete.AutoCompleteDocument.insertString(AutoCompleteDocument.java:303)

at javax.swing.text.JTextComponent.replaceSelection(JTextComponent.java:1386)

at javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction.actionPerformed(DefaultEditorKit.java:884)

at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1664)

at javax.swing.JComponent.processKeyBinding(JComponent.java:2879)

at javax.swing.JComponent.processKeyBindings(JComponent.java:2926)

at javax.swing.JComponent.processKeyEvent(JComponent.java:2842)

at java.awt.Component.processEvent(Component.java:6282)

at java.awt.Container.processEvent(Container.java:2229)

at java.awt.Component.dispatchEventImpl(Component.java:4861)

at java.awt.Container.dispatchEventImpl(Container.java:2287)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1895)

at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:762)

at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)

at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)

at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)

at java.awt.Component.dispatchEventImpl(Component.java:4731)

at java.awt.Container.dispatchEventImpl(Container.java:2287)

at java.awt.Window.dispatchEventImpl(Window.java:2719)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)

at java.awt.EventQueue.access$200(EventQueue.java:103)

at java.awt.EventQueue$3.run(EventQueue.java:688)

at java.awt.EventQueue$3.run(EventQueue.java:686)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)

at java.awt.EventQueue$4.run(EventQueue.java:702)

at java.awt.EventQueue$4.run(EventQueue.java:700)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

我错过了什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值