編集可能にするには、smartGWT Windowsのタイトルが必要です。そして、ウィンドウの数が変わるので、動的に行う必要があります。GWTウィンドウのタイトルを編集可能にする
私は次のように進めた:
1)彼らは
private String randomId = "title" + Random.nextInt();
2にロードされたときに、私は、Windows用のランダムなIDのリストを作成します)私は、ウィンドウを作成するための方法を実装し、その設定タイトル
@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(ブラウザインスペクタ)であっても。
私の質問です:GWTメソッドを使用してjavaでこれを行う方法はありますか?そうでなければ、何が間違っていたのですか?
はい、コンテンツが編集可能になる前に、どこでもクリックする必要があります。誰でもこのバグを取り除く方法について考えていますか? –