Я редактирую, как вы рекомендуете, используя таймер Swing. Но мой холст не отвечает, я имею в виду, что в этой функции я заполняю объекты, а затем я хочу перекрасить, но он перерисовывается, не делая объекты зелеными.
private void paintSearch(Vector<NodeGraph2D> vector,Graphics graphics2D) {
if (!vector.isEmpty()) {
Timer timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (repaint) {
if (vector == pruferTreeNodes) {
vector.elementAt(i).draw((Graphics2D) graphics2D);
} else {
graphics2D.setColor(Color.GREEN);
System.out.println(vector.elementAt(i).getNodeGraph().getName());
((Graphics2D) graphics2D).fill(vector.elementAt(i));
graphics2D.setColor(Color.BLACK);
((Graphics2D) graphics2D).drawString(vector.elementAt(i).getNodeGraph().getName(), vector.elementAt(i).getX1() + 15, vector.elementAt(i).getY1() + 25);
}
i++;
}
}
});
timer.start();
}
}
Так что таймер, я думаю, работает, но я не знаю, может ли таймер Swing работать вместе с canvas.