GWT的RichTextArea没有让它成为“ReadOnly”的方法。 有一个setEnabled()方法,但如果你调用setEnabled(false),它就不起作用。
我正在尝试解决此问题的方法。我的想法是使用HTML小部件替换此行为的RichTextArea。
问题是,如果我使用HTML小部件来设置原始RichTextArea的内容,它将受到我的Web应用程序的所有样式的影响。
RichTextArea实现了将内容包装在IFrame中。
所以我试图模仿它,做这样的事情:
public class RichTextAreaReadOnly extends Composite
{
protected HTML instance;
public RichTextAreaReadOnly()
{
this.instance = new HTML();
this.initWidget(this.instance);
}
public void setHTML(String html)
{
this.instance.setHTML("<iframe class=\"gwt-RichTextAreaReadOnly\">"
+ "<html>"
+ "<head></head>"
+ "<body>"
+ html
+ "</body>"
+ "</html>"
+ "</iframe>");
}
}
问题是,由于一些奇怪的原因,身体显得空虚。
如果我试试这个:
public void setHTML(String html)
{
this.instance.setHTML("<html>"
+ "<head></head>"
+ "<body>"
+ html
+ "</body>"
+ "</html>");
}
(注意:没有iframe标签)
它有效,但样式不正确,因为它受到不应该的样式的影响。
为什么当我使用HTML.setHTML()创建IFrame时,身体标签显示为空???