【问题标题】:Eclipse RCP CSS pack() does not consider new fontEclipse RCP CSS pack() 不考虑新字体
【发布时间】:2016-03-15 20:09:52
【问题描述】:

我在 RCP 应用程序上工作,并使用 eclipse-css 功能也更改了应用程序的整体字体。但是在使用时,主视角中的表格元素不适应变化。在createPartControl(Composite) 中,表格充满了内容,每个内容都调用了TableColumn.pack()。在我将整体字体更改为 Verdana 9px 之前,列总是足够大以容纳它们的内容,例如“我很长的文字很长”。然而,现在这些列只显示“我的很长的文本,我...”。在setFocus()-函数期间重新设置表格的内容(清除、填充和pack())似乎有效,但这也是一个非常糟糕的解决方法。此外,这并不能解决我必须等待第一次点击才能执行此操作的问题。

如何在启动时正确地将我的应用程序添加到pack() table-columns?

这是我的 CSS:

* {
    font: Verdana 8px;
    background-color: White;
}

【问题讨论】:

    标签: css eclipse swt eclipse-rcp


    【解决方案1】:

    问题是 CSS 样式直到控件创建后生成 SWT.Skin 事件后才会应用。

    因此,您需要在该事件之后运行您的pack。一种方法是在createPartControl 完成后使用Display.asyncExec 运行您的包代码。 asyncExec Runnable 应该在 SWT.Skin 之后运行。

    或者,您可以获取 CSS 样式引擎并强制样式发生。在 3.x 兼容性视图/编辑器中使用:

    IStylingEngine engine = getSite().getService(IStylingEngine.class);
    
    engine.style(control);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 2011-09-27
      • 2011-07-09
      相关资源
      最近更新 更多