我试图在循环中实现Tooltip
,以便将鼠标悬停在矩形上后显示一些单词。问题是,这些单词偶尔会出现一次(有时甚至没有延迟,有时甚至在一分钟后也不会出现)。当我将tooltip语句放到循环之外时,单词总是会出现(稍有延迟),但是我需要在语句内。知道导致问题的原因是什么吗?
for (int i = 0; i < finalList.size(); i++) {
for (int j = 0; j < names.getName().size(); j++) {
Label number = new Label(" " + finalList.get(i).get(j).getNamesFrequencySection());
Rectangle rec = new Rectangle();
rec.setY(j * 20 + 20);
rec.setX(i * 80 + 100);
rec.setWidth(80);
rec.setHeight(20);
if (finalList.get(i).get(j).getNamesFrequencySection() == 0) {
rec.setFill(Color.rgb(255, 255, 255));
}
else {
rec.setFill(Color.rgb(250 - (3 * finalList.get(i).get(j).getNamesFrequencySection()), 0, 0));
}
number.setLayoutY(j * 20 + 20);
number.setLayoutX(i * 80 + 130);
root.getChildren().add(rec);
root.getChildren().add(number);
Tooltip.install(rec, new Tooltip(finalList.get(i).get(j).getMostCommon().replaceAll("[^a-zA-Z ]","")));
}
}
NamesFrequency
是一个整数,getMostCommon()
是单词的字符串。