Duvida

Uma dúvida um pouco amadora, mas será de grande feito saber dessa curiosidade. o porque usar o false em JasperViewer.viewReport(print,false);

Qual IDE você está usando? Dependendo de qual for, passe o mouse no método, assim você vai saber o que cada parâmetro significa. Ou consulte a documentação. Vai depender também da assinatura, do que está passando no primeiro parâmetro.

De que tipo é a variável print ?

Se print for um InputStream, então o false é uma flag boolean indicando que é um arquivo xml.

FONTE: JasperViewer.html#viewReport(java.io.InputStream, boolean)