Cara, eu não sei te responder sobre especificidades do Swing, mas eu posso te ajudar a dar uma reduzida nesse código. Não precisa fazer todo esse malabarismo com os dados kkkkk
Essa variável estado
é uma hora no formato hh:mm:ss
né? Se for:
public static void main(String[] args) {
String estado = "12:13:14";
LocalTime horaPedido = LocalTime.parse(estado);
LocalTime horaAgora = LocalTime.now();
LocalTime horaPedidoSubtraida = horaPedido.minusMinutes(20);
if ...
}
Eu sei que um provável motivo para a tela não atualizar é você executar updates fora da thread do swing. Mas já que é no Renderer, eu acho que é o próprio swing que tá invocando o método, então não deve ser isso.