2

次のコードは、body 要素に属性スタイルを設定し、カット/ペースト コードを登録するために使用されますが、失敗しました。奇妙なことに、デバッグ時に、変数bodyは null ではなく、属性「スタイル」が存在しますが、フレームにはこの子がありません。実行中の作業が期待どおりに機能せず、呼び出し時に NPE がスローされましたsetBodyContent()

public class TextAreaExt extends RichTextArea
{
private BodyElement body;

@Override
protected void onLoad()
{
    super.onLoad();
    body = ((FrameElement) getElement().cast())
                .getContentDocument().getBody();
    body.setAttribute("style", "color:gray;");
    registerOnCut(body);
}

public void setBodyContent(String text)
{
    body.setInnerText(text);
}

private native void registerOnCut(BodyElement element) /*-{
    var that = this;
    console.log("registerOnCut");
    element.oncut = $entry(function(event) {
        //invoke method to adjust height based on content
        return false;
    });
    element.onpaste = $entry(function(event) {
        //invoke method to adjust height based on content
        return false;
    });
}-*/;
}
4

1 に答える 1