1

https://youtu.be/_6l6NmDvVsg

正如您在视频中看到的,如果您键入 contentPane.repaint(),然后键入 ;,repaint 会自动更改为 getIgnoreRepaint()。我想知道如何解决这个问题。

来源是

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


class RandomThread extends Thread{
    Container contentPane;
    boolean flag = false;
    public RandomThread(Container contentPane) {
        this.contentPane = contentPane;
    }

    void finish() {
        flag = true;
    }

    public void run()
    {
        while(true)
        {
            int x = ((int)(Math.random()*contentPane.getWidth()));
            int y = ((int)(Math.random()*contentPane.getHeight()));
            JLabel label = new JLabel("Java");
            label.setSize(80,30);
            label.setLocation(x, y);
            contentPane.add(label);
            contentPane.getIgnoreRepaint(); // why this happen?
            try {
                Thread.sleep(300);
                if(flag == true) {
                    contentPane.removeAll();
                    label = new JLabel("finish");
                    label.setSize(80, 30);
                    label.setLocation(100, 100);
                    label.setForeground(Color.red);
                    contentPane.add(label);
                    contentPane.getIgnoreRepaint();  //same problem
                    return;
                }
            }
            catch(InterruptedException e) { return; }
        }
    }
}
4

1 回答 1

0

听起来内容辅助提案是按字母顺序而不是相关性出现的。

您可以在Window>Preferences中的Java>Editor>Content Assist页面上更改此顺序。

排序和过滤部分,将排序建议字母顺序更改为按相关性

编辑

此外,在下一个首选项页面Java>Editor>Content Assist>Advanced中,在顶部列表中,打开Java 提案

于 2020-06-19T14:19:10.357 回答