【问题标题】:How to disable horizontal scrolling in org.eclipse.epf.richtext.RichTextEditor如何在 org.eclipse.epf.richtext.RichTextEditor 中禁用水平滚动
【发布时间】:2012-11-06 15:51:00
【问题描述】:

我有一个 Eclipse RCP 应用程序,它有一个使用来自org.eclipse.epf.richtext.RichTextEditor 的富文本编辑器的小部件。所以所有的代码都对我开放,可以改变我认为合适的方式。我发现 rte 使用浏览器来显示文本。

我的问题是我希望 rte 包装文本而不是放置水平滚动条。所以我希望看看是否有人使用过这个 rte 并想出了如何做到这一点。

【问题讨论】:

    标签: java swt eclipse-rcp rich-text-editor


    【解决方案1】:

    我认为在每个 SWT 小部件的构造函数中,您都可以传递一个样式。因此,例如,如果您想要垂直滚动但没有水平滚动,您可以这样做:

    new MyWidget(parent, SWT.V_SCROLL);
    

    这样小部件就不会水平滚动。 RichTextEditor 本身在其 API 中没有任何关于文本换行的内容,所以我猜你不能直接改变它。

    更多关于 SWT 样式的信息:SWT style bits

    【讨论】:

    • 我尝试了各种样式组合,WRAP、V_SCROLL、NO_SCROLL,似乎没有任何效果。不过感谢您的想法。
    • 你查看官方文档了吗?
    • 我找不到任何文档。我花了一段时间才弄清楚如何使用富文本编辑器,因为没有说明。
    【解决方案2】:

    检查显示在SWT browser widget 中的HTML(调用getText())。这应该让您了解它是如何组织的。找到包装编辑器的 HTML 元素,将其宽度设置为 100%,并确保对 body 和 html 元素执行相同操作,以使小部件的宽度传播到编辑器元素。

    这应该已经解决了问题,除非编辑器中的文本包含比小部件更宽的元素。

    【讨论】:

    • 这似乎是一个很好的方法,但是我不确定如何去做。我认为浏览器小部件可以让你执行 javascript,也许你可以这样设置宽度,但我不知道 javascript,所以我不确定。
    • 有一个 sn-p 显示如何操作 DOM。只需点击我答案中的链接即可。
    • 那么你如何告诉它在javascript中设置宽度?
    • 如果无法正常工作,请谷歌搜索并提出新问题。
    • 由于我从未使用过 javascript 并且几乎没有 html 经验,我可能会问一些真正愚蠢的问题。那么我会以某种方式找到一些使用 document.write() 并添加 html 标签来设置宽度属性的脚本吗?这是你建议我做的吗?
    猜你喜欢
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 2010-09-27
    • 2015-08-04
    • 2014-01-13
    • 1970-01-01
    相关资源
    最近更新 更多