我找不到允许从组件中提取属性的方法,或者更好的是,从一个特定的属性中提取属性。下面是一个示例:
发布于 2013-10-26 11:11:02
我的解决方案使用JavaScript来修改高度。t1是通过打字增长的,t2是正在调整的高度。我觉得又干净又漂亮。
private TextArea textarea1() {
TextArea t1 = new TextArea("t1", Model.of("t1"));
final String js = "document.getElementById('%s').style.height = document.getElementById('%s').style.height;";
t1.add(new OnChangeAjaxBehavior() {
@Override
protected void onUpdate(AjaxRequestTarget target) {
target.appendJavaScript(String.format(js, textarea2.getMarkupId(), textarea1.getMarkupId()));
}
});
t1.setOutputMarkupId(true);
return t1;
}
private TextArea textarea2() {
TextArea t2 = new TextArea("t2", Model.of("t2"));
t2.setOutputMarkupId(true);
return t2;
}在页面/面板类的前面,声明私有字段,并为它们分配两个textarea的
private Textarea textarea1;
private Textarea textarea2;在ctor中:
textarea1 = textarea1();
textarea2 = textarea2();
add(textarea1);
add(textarea2);https://stackoverflow.com/questions/19585297
复制相似问题