pe:imageAreaSelect Primefaces imageareaselect以编程方式突出显示

时间:2015-06-25 08:59:04

标签: jsf primefaces primefaces-extensions

我希望能够高亮显示图像并将高光坐标保存到数据库中。当我重新打开图像时,我想从数据库中读取突出显示的坐标并以编程方式重新突出显示图像。

我可以使用此示例获取坐标并存储它们:

<pe:imageAreaSelect id="areaSelect" for="imgView" handles="true" show="#{imagesBean.hasHighlight}">
  <p:ajax event="selectEnd" listener="#{imagesBean.areaSelectListener}" delay="200" />
</pe:imageAreaSelect>

我的挑战是尝试在重新加载图像时以编程方式应用突出显示(areaselection)。虽然show="#{imagesBean.hasHighlight}"属性确实显示了突出显示(灰色叠加),但我找不到将坐标输入其中的方法。

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

几乎每个PrimeFaces和PrimeFaces Extensions组件都包含java类,javascript和css。

如果您从主要来源开始,例如对于github中的PrimeFaces Extensions,https://github.com/primefaces-extensions/core/tree/master/src/main,以下结构适用:

对于PrimeFaces Extensions,后两者是相同的,但对于PrimeFaces,它们有所不同,但你会得到它的结论。组件通常在上面的包中使用泛型和某些特定的类,但这些类是自描述的。

如果您现在查看1-imageareaselect.js中的javascript,您会看到

setSelection : function(x1, y1, x2, y2) {
    this.instance.setSelection(x1, y1, x2, y2);
},

您可以使用它并在widgetVar上调用它。在加载页面时将此信息提供给客户端应该是一个明智的选择。以上te函数的注释表示选择可见调用的设置

update()
设置选择后,在widgetVar上