Agora entendi sua situação Fábio! :-)
Bom, queria tentar a geração correta antes então, por que assim vc não vai precisar ir para a parte gráfica. (Mas já adianto, sei como fazer).
Acho que melhor, é já que vc fez uma classe por fora, então vc sabe o que é campo livre. Dessa forma, basta você dizer para o o bopepo como escrever o código de barras correto através de uma classe que implemente um campo livre.
Assim vc instancia um Boleto com o campo livre:
new Boleto(Titulo titulo, CampoLivre campoLivre)
E o que é que seu campo livre tem que fazer? Bom só escrever a parte do código de barras com o campo livre, ou seja os 25 caracteres do campo livre. Exemplo:
//Sua classe
public class CorrecaoDeFabio implements org.jrimum.bopepo.campolivre.CampoLivre{
public String write() {
return "Resultado do seu código";
}
public void read(String g) {
//Sem leitura
}
Se vc tiver o souce pode ver o exemplo em org.jrimum.bopepo.exemplo.CampoLivreJRimumBank
Podemos tentar esse caminho? Desssa forma vai ficar até mais fácil (simples) de vc nos enviar a correção.
Atenciosamente