RichTextBoxにはそのようなdomレベルの階層がありますか?
<iframe>
<html>
<body>
</body>
</html>
</iframe>
スタイル名をiframeに設定しても機能しないことがわかりました。また、body要素に設定する必要があります。私はこのように(コンストラクターで)それをやろうとしました:
Element body = ((FrameElement) getElement().cast()).getContentDocument().getBody();
body.setClassName("richTextArea");
NullPointerExceptionがこの男の子要素にスローされ、私でさえ次のようにそれらをラップします。
Scheduler.get().scheduleDeferred(new ScheduledCommand()
{
@Override
public void execute()
{
Element body = ((FrameElement) getElement().cast()).getContentDocument().getBody();
body.setClassName("richTextArea");
}
});
実際の問題は、RichTextBoxが奇妙にレンダリングされ、DOMにアタッチされたときに、その内部のもの(html、body)が生成されなかったことです。これらの行をonload()メソッドにラップしても、NPEはいつかスローされます。それらをタイマーにラップしてから、比較的長い待機時間をスケジュールします。NPEはありませんが、この予測できない「比較的長い待機時間」に依存することはできません。
誰かが解決策を与えることができますか?