是否可以在工作线程中过滤JTable?

时间:2013-08-30 08:56:37

标签: java swing jtable event-dispatch-thread worker-thread

我有一个大约11000行的JTable和一个用于在正则表达式上进行过滤的搜索框。 我在搜索框中的代码如下所示:

getDocument().addDocumentListener(new DocumentListener()
    {
        public void insertUpdate(DocumentEvent e)
        {
            final RowFilter<TableModel, Object> rf;
            try
            {
                rf = RowFilter.regexFilter(getText(), 0);
            }
            catch (java.util.regex.PatternSyntaxException exception)
            {
                logger.info("Failed to compile regex.", exception);
                return;
            }
            sorter.setRowFilter(rf);   
        } 
        .......

问题是整个UI在过滤操作期间变得无响应。我想这是因为过滤是在EventDispatchThread中完成的 有没有办法以某种方式将过滤放在工作线程中?

0 个答案:

没有答案