JRuby的+ SWT。如何实现连续附加到线程中的可滚动多行文本

时间:2014-01-30 12:40:33

标签: swt jruby

我需要实现包含多行文本框的gui来显示日志。

我使用“file-tail”gem来从文件中读取流。我添加了swt线程asyncExec来异步管理gui元素。但是当我执行代码时,gui会冻结,并且没有任何东西放到文本区域。

@display.asyncExec {
    File.open("path_to_the_file") do |log|
        log.extend(File::Tail)      
        log.backward(10)
        log.tail {|line|
            @text_area.append line
        }
    end
}

1 个答案:

答案 0 :(得分:1)

这个帖子的例子(感谢@Baz)

threads = Thread.new {
    File.open("path_to_the_file") do |log|
        log.extend(File::Tail)      
        log.backward(10)
        log.tail {|line|          
            @display.asyncExec {      
                @text_area.append line
            }
        }
    end   
}