I am Using latest version of Jasper Reports .I used two frames in detail section of Jasper Reports.One frame is containing all the needed fields in it and is set at top = 0 , second frame is exactly below the first one and contains only one filed.when the text in the text fields of the first frame is normal (fits within the width and do not stretch) the result is normal , means second frame is exactly printed below the first one . but if one of the text field is stretched if content over flows then it leaves some space between the two frames.
I wrote here the XML of my detail section.
<detail>
<band height="40" splitType="Stretch">
<frame>
<reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="430" height="20" isPrintWhenDetailOverflows="true"/>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="129" y="0" width="50" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{netWeight}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="179" y="0" width="50" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{metalRate}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="54" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{productName}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="229" y="0" width="22" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{ratePer}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="251" y="0" width="25" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{ratePerUnit}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="364" y="0" width="66" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{totalAmount}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="104" y="0" width="25" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{piece}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="54" y="0" width="50" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{itemName}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="320" y="0" width="44" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{vatAmount}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="276" y="0" width="44" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{labourAmount}]]></textFieldExpression>
</textField>
</frame>
<frame>
<reportElement x="0" y="20" width="430" height="20" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true">
<printWhenExpression><![CDATA[$F{narration} != null && (!$F{narration}.equals("NONE")) && $F{narration}.length > 0]]></printWhenExpression>
</reportElement>
<staticText>
<reportElement x="0" y="0" width="50" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<text><![CDATA[Narration]]></text>
</staticText>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="50" y="0" width="380" height="20" isPrintWhenDetailOverflows="true"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{narration}]]></textFieldExpression>
</textField>
</frame>
</band>
</detail>
I have got solution , so i am posting it here , so anyone if encountered same problem will use this.