我需要smartGWT Windows的标题是可编辑的。而且我必须动态地做到这一点,因为窗口的数量是可变的。使GWT窗口的标题可编辑
我进行如下:
1)创建用于窗户随机ID的列表中,当它们被加载
private String randomId = "title" + Random.nextInt();
2)I实现创建窗口的方法和设置其标题
@Override
public final Canvas getCanvas() {
if (window == null) {
window = new Window();
window.setTitle(getTitle(model));
3)
private String getTitle(E model) {
return "<span contenteditable=\"true\" style=\"cursor: text\" id=\"" + randomId + "\">" + model.getName() + "</span>";
}
3)I调用一个方法的情况下,要编辑的窗口被点击
window.addDrawHandler(event -> setupTitleEditing(randomId));
4)予实现的方法如下:
private native void setupTitleEditing(String name)/*-{
document.getElementById(name).bind('click', function() {
$(this).attr('contentEditable', true);
}).blur(function() {
$(this).attr('contentEditable', false);
});
}-*/;
元件跨距认为是在步骤空4)即使它存在正确的ID(浏览器检查器)。
我的问题是:有没有一种直接的方法来在Java中使用GWT方法做到这一点?如果不是,我错了什么?
是的,这是非常烦人的,我必须点击无处不在内容变得可编辑。任何人有关于如何去除这个错误的想法? –