ireport使用图片制作复选框,并将图片设置相对路径放在项目中

ireport中没有复选框的功能大家都知道,那么我下面介绍怎么通过图片来实现复选框的功能。


1.首先准备两个图片,一个勾选的图,一个空白的未勾选的图,如下:

ireport使用图片制作复选框,并将图片设置相对路径放在项目中_第1张图片

2.拖动图形控件,将上面两张图片拉进来,设置两张图片尺寸一致,如下:


3.将打勾的图片覆盖在空白的图上,如下:


4.选中上述图片,打开属性,选择print when expression,如下:

ireport使用图片制作复选框,并将图片设置相对路径放在项目中_第2张图片

在弹出框中设置new java.lang.Boolean($P{parameter1}.equals("1")),$P{parameter1}.equals("1")是打勾所需满足的参数及其数值,如下:

.ireport使用图片制作复选框,并将图片设置相对路径放在项目中_第3张图片

这样就能根据你的需求设置什么时候打勾,默认情况是空白不打勾的情况。当然,你也可以设置默认情况为打勾,而在某些条件满足的时候空白,只要调换图片覆盖顺序即可。


这样就是一个复选框了。


至于上面的图片,你可以设置成绝对路径,也可以设置成相对路径,设置绝对路径这里就不说了,更多的时候我们需要设置相对路径。比如,你一般需要将图片放在项目中而不是存放于自己的电脑上,那么怎么实现呢?如下:

首先,我在报表里面为图片设置了3个parameter,分别是:photo_true,photo_false,images_paths

photo_true默认为 new String("true.png")

photo_false默认为 new String("false.png")

images_paths默认设置为new String("C://")

如下:

ireport使用图片制作复选框,并将图片设置相对路径放在项目中_第4张图片

然后,选中图片,在图片的属性的“Image Expression”下将其路径分别设置为$P{images_paths}+$P{images_true}和$P{images_paths}+$P{images_false}。

如下:

ireport使用图片制作复选框,并将图片设置相对路径放在项目中_第5张图片

以Tomcat服务器,test这个工程为例,test放在服务器根目录下面,JavaBean的包放在webapps/ROOT/test/WEB-INF/classes下面。将报表放在工程jrxml目录下面,即/webapps/ROOT/test/下面。将图片放在/jrxml/images目录下面。

而,对应我们需要将photo_true,photo_false,images_paths这三个参数从java中传到报表模板中,如下:

ireport使用图片制作复选框,并将图片设置相对路径放在项目中_第6张图片

这样,就能找到图片的路径,进而显示图片啦~


还想补充一点,设置子报表的相对路径,这当然跟上边一样。不过,子报表在创建的时候一般会自动创建一个SUBREPORT_DIR的parameter。那么我们添加完子报表后选择相对路径如下:

ireport使用图片制作复选框,并将图片设置相对路径放在项目中_第7张图片

然后再这个参数从java中传到报表模板中,如下:



这样,子报表的相对路径也设置好了,你学会了吗?




你可能感兴趣的:(ireport使用图片制作复选框,并将图片设置相对路径放在项目中)