相关疑难解决方法(0)

更新时摇摆组件闪烁很多

我在某处有几千行代码,我注意到当我更新它时,我的JTextPane闪烁......我在这里写了一个简化版本:

import java.awt.*;
import javax.swing.*;

public class Test
{
    static JFrame f;
    static JTextPane a;
    static final String NL = "\n";

    public static void main(String... args)
    {
        EventQueue.invokeLater(new Runnable(){
        public void run()
        {
        f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
        f.setSize(400, 300);
        f.setLocationRelativeTo(null);

        a = new JTextPane();
        f.add(new JScrollPane(a));

        new Thread(new Runnable(){
            public void run()
            {
                int i = 0;
                StringBuffer b = new StringBuffer();
                while(true)
                {
                    b.append(++i+NL);
                    a.setText(b.toString());
                    a.setCaretPosition(b.length());
                    try{Thread.sleep(10);}catch(Exception e){}
                }
            }
        }).start();
        }
        });

    }
}
Run Code Online (Sandbox Code Playgroud)

这是针对终端(cmd)样式的GUI组件 - …

java swing multithreading jtextpane flicker

3
推荐指数
1
解决办法
3693
查看次数

标签 统计

flicker ×1

java ×1

jtextpane ×1

multithreading ×1

swing ×1