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; }
}
}
}
听起来内容辅助的提议是按照字母顺序出现的,而不是相关性。
您可以在Window>Preferences中,在Java>Editor>Content Assist页面上更改此顺序。
在“排序和筛选”部分中,将排序建议从按字母顺序更改为按相关性排序。
编辑
此外,在下一个首选项页面Java>Editor>Content Assistant>Advanced中,在顶部列表中,打开Java提案。