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();
}

10-05 21:25
查看更多