Normalmente não! E isso não é específico do Java não, em outras linguagens tb, as vezes existem componentes que “imitam” a impressão no formato texto, mas só imitam, pq o carro de impressão acaba passando 3 vezes sobre cada linha (característica do modo gráfico) simplesmente pra imprimir algo no formato de texto.
A forma que sempre deu certo é fazer na unha msm!
Eu inclusive em outra linguagem tentei escapar disso, usei componentes e mais componentes e no fim sabe o que aconteceu?
Tanto rolo, tanto pau de entrelinhamento, tanta imprecisão por causa do SO gráfico utilizado (que é oque gerencia a impressão no caso de impressão feita usando componentes) que eu desisti! 
Fiz a impressão na unha, jogando direto na impressora e funciona até hj perfeitamente! É aquela coisa, dá trabalho, mas é uma vez só tb. Depois de feito nunca mais vc terá problema! :lol: (A não ser é claro que seja um pré-impresso e mude o layout, etc, coisas óbvias).