【发布时间】:2018-03-21 11:09:26
【问题描述】:
我们在缩放监视器上使用Paperclips(SWT 打印库)时遇到问题,但我认为这与框架无关,而与 Eclipse 环境无关。
我们来看一个例子:
左侧是没有缩放(或 100%)的打印,右侧是在显示器上以 175% 缩放的相同打印。我知道你在想什么:显示器及其分辨率/缩放不应该对打印产生影响。对,应该。
虽然这很可悲,但这不是什么大问题。但问题来了:上面的打印是由作为插件测试运行的 JUnit 测试用例生成的。如果我将它们作为常规单元测试运行两者都可以工作。
很明显,当在 OSGi 上下文中启动时,Eclipse 环境中的某些东西的工作方式不同,我正试图找出它是什么(所以我可能会阻止它)。
我认为这是一个很好的谜题。
如果您需要关于 SWT 类可能是什么的提示,我将其缩小到该表的 ScalePrint.java 文件(即,如果我从我的演示中删除 ScalePrint 的实例,则该表将正确显示;但是,标题仍然是错误的)。
我可以确认该错误仅存在于 Eclipse 4.6 中,而不是 4.5 或 3.7(这并不奇怪,因为 4.6 是第一个支持缩放的版本)。如果我在 VM 选项中添加 -Dswt.autoScale=100 以禁用缩放,它也会按预期工作。
我可以附加我的测试用例,但正如我所说,我真的不认为它与回形针本身有任何关系。
那么...与在普通 Java 应用程序中运行相同的代码相比,启动整个 Eclipse 框架时,有什么会破坏缩放?
【问题讨论】:
标签: eclipse-plugin eclipse-rcp