由于 OS X 支持“自然滚动”,因此我的应用程序无法正常工作。自然滚动是为滚动窗格设计的,我真的很喜欢。但是,当我想放大/缩小时,它会出错。所以,我想做的是检查 OS X 的滚动方法。
如果它是“自然的”,我将采用与滚动值相反的值MouseWheelEvent.getWheelRotation()
让我的放大/缩小行为感觉正确。
简而言之:如何知道 OS X 是否使用自然滚动?
找到了解决方案。
首先,您需要一个库来读取 .plist 文件。我用了this one http://code.google.com/p/plist/.
您可以轻松地在 GlobalPreferneces.plist 中读取(使用 fseventer 检查在更改滚动选项时更改了哪个文件)以找出启用了哪种滚动,如下所示:
try {
File globalPref = new File(System.getProperty("user.home") + "/Library/Preferences/.GlobalPreferences.plist");
NSDictionary dict = (NSDictionary)PropertyListParser.parse(globalPref);
NSNumber pref = (NSNumber)dict.objectForKey("com.apple.swipescrolldirection");
if(pref.boolValue()) {
//natural scrolling is enabled
}
} catch (Exception ex) {
System.out.println("Faild to parse plist: " + ex.getMessage());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)