问题描述
org.eclipse.swt.widgets.Monitor
类应该有一个名为 getZoom
的实例方法,它应该返回在特定监视器上设置的缩放系数。它记录在此处(单击“监视器”后):
https://help.eclipse.org/2021-03/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/package-summary.html
但是,在尝试编译以下代码时...
Monitor monitor = display.getDefault().getPrimaryMonitor();
int zoom = monitor.getZoom();
...,我收到一条错误消息:
java: cannot find symbol
symbol: method getZoom()
location: variable monitor of type org.eclipse.swt.widgets.Monitor
自 SWT 版本 3.107 起就记录了该方法存在,而我使用的是版本 4.6.1。 Monitor
类的所有其他方法都按预期工作。
我在这里遗漏了什么?
(如果需要更多信息来回答这个问题,请随时提问。)
解决方法
SWT 版本与 Eclipse 版本不匹配。 4.6.1 是您的 Eclipse 版本 (Eclipse Neon),其中包含太旧的 SWT 版本 3.105.1。
SWT 3.107 最初包含在 Eclipse 4.8 (Eclipse Photon) 中。我认为以后的版本扩展了支持缩放的平台,因此您应该尝试移动到当前的 Eclipse 2021-03(2021-06 很快)