【发布时间】:2016-01-12 04:06:44
【问题描述】:
我们正在开发一个带有图形布局组件的 java 桌面/Eclipse RCP 应用程序。我们在 Windows 上的较新(8、8.1、10)版本上遇到了 GUI 缩放问题,似乎只能通过 win32 api 调用检索缩放因子,因此我们添加了一个小 DLL 来执行此操作并通过 JNI 调用它。在 Windows 上运行良好,在 linux/osx 上的 maven 中运行良好,因为该类从未在此处实例化。
问题是要获得缩放因子,我们需要窗口句柄,我们可以这样检索:
public float getScale(GC gc) {
return getScale(gc.getGCData().hwnd);
}
其中GC 是org.eclipse.swt.graphics.GC,以下调用是对dll 的调用。但是,在 linux 上调试时,这些行给了我一个编译错误,因为该对象没有 hwnd 变量。如何以更简洁的方式解决此问题而不会出现编译错误?
【问题讨论】:
-
这是一个 Eclipse RCP 应用程序(有相关机制)还是只是一个 SWT 应用程序?
-
添加了说明,它是一个 Eclipse rcp 应用程序。什么力学?我环顾了一下,但没有找到。
-
您可以将“插件片段”与平台过滤器一起使用,以便仅在所选平台上使用。
标签: java linux eclipse swt eclipse-rcp