zoukankan      html  css  js  c++  java
  • Eclipse RCP使用SWT.EMBEDDED方式显示batik的svgCanvas后窗口最大化变白问题

    // 设置svg组件一直动态(这一行代码导致了最大化变白的问题)
    svgCanvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
    // 以下两行解决最大化变白问题(具体原理不详)
    svgCanvas.setDoubleBuffered(false);
    svgCanvas.setDoubleBufferedRendering(false);

    补充:过了几天后又出现同样问题,确实是JSVGCanvas.ALWAYS_DYNAMIC这一段代码导致,准备固定组件大小,添加滚动条来解决,是否可以解决未知。

     

    最终解决方案:加了滚动条后还是无法解决,依然会变白,而且发现如果变白,等待了很久后SVG图还是会显示出来,但是时间很长。如果一开始显示时就最大化显示的话,之后无论如何改变窗口都不会出问题。

    所以我采用在SVG的VIEW初始化的时候就直接把窗口最大化。

    代码如下:

    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().setMaximized(true);

  • 相关阅读:
    [NOI2003][bzoj1507] 文本编辑器 editor [splay]
    GDKOI 游记
    [填坑完毕] 寒假作业计划
    省选算法学习-数据结构-splay
    NOIP2017游记
    真·总结
    赛前
    十一黄(xun)金(lian)周感想
    9.17 模拟赛
    9.14 模拟赛
  • 原文地址:https://www.cnblogs.com/aggavara/p/3199972.html
Copyright © 2011-2022 走看看