Fala Antonio, tudo bem?
Existem duas propriedades que podem te ajudar: isRemoveLineWhenBlank e isBlankWhenNull
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport ..>
<import value="com.google.common.base.*"/>
<parameter name="daterangefrom" class="java.lang.String"/>
<parameter name="daterangeto" class="java.lang.String"/>
<title>
<band height="79" splitType="Stretch">
<textField isBlankWhenNull="true">
<reportElement x="185" y="12" width="100" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<textFieldExpression><![CDATA[(!Strings.isNullOrEmpty($P{daterangefrom}) &&
!Strings.isNullOrEmpty($P{daterangeto})) ?
" From ( " + $P{daterangefrom} + " - " + $P{daterangeto} + " )"
: null]]></textFieldExpression>
</textField>
</band>
</title>
</jasperReport>
Uma dica que eu dou nesse cenário é verificar se o campo de texto que você deseja ocultar não compartilha espaço vertical com nenhum outro
elemento. O espaço vertical é ocultado apenas
quando os elementos "isRemoveLineWhenBlank" forem
os únicos elementos presentes na vertical.