Mac OS具有允许用户定义滚动条何时可见(自动,滚动时始终)的设置。
有没有办法使用Java找出当前设置?
最佳答案
对我来说,在macOS 10.14.6上运行时,可以在当前用户的全局首选项~/Library/Preferences/.GlobalPreferences.plist
中找到该设置(未设置为“自动”时)。该文件包含以下内容:
{
AKDeviceUnlockState = :false;
AKLastIDMSEnvironment = 0;
AppleActionOnDoubleClick = "Maximize";
AppleAntiAliasingThreshold = 4;
AppleInterfaceStyle = "Dark";
AppleLanguages = ( "en-US" );
AppleLanguagesDidMigrate = "10.14.6";
AppleLocale = "en_US";
AppleMiniaturizeOnDoubleClick = :false;
AppleShowScrollBars = "Always";
...
}
我不确定100%是否涵盖所有可能的情况,但是您可以首先解析该文件,找到
AppleShowScrollBars
值,然后使用该值来驱动所需的功能。有一个名为dd-plist的便捷库,可让您使用以下代码:
try {
final File preferences = new File("~/Library/Preferences/.GlobalPreferences.plist");
final NSDictionary root = (NSDictionary) PropertyListParser.parse(preferences);
final String scrollbars = root.get("AppleShowScrollBars").toString();
System.out.println(scrollbars);
} catch (Exception e) {
// Handle errors
System.out.println();
}