首页 > 解决方案 > 如何使用 Java 检索 Mac OS 设置?

问题描述

Mac OS 有一个设置允许用户定义滚动条何时可见(自动,滚动时,总是)。

有没有办法使用 Java 找出当前设置?

标签: javamacos

解决方案


对我来说,在 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();
}

推荐阅读