3 回答

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
似乎獲得黑暗模式的官方解決方案是使用系統(tǒng)屬性。在 JDK-8235363 中,這可從 JDK 14 及更高版本獲得:
添加了一個(gè)新的系統(tǒng)屬性:用于設(shè)置整個(gè) Java 應(yīng)用程序的外觀。
"apple.awt.application.appearance"
如果未設(shè)置值,則將使用淺色模式
如果設(shè)置了值,則將使用macOS的當(dāng)前外觀
"system"
其他可能的值是(與淺色相同)或(請(qǐng)求深色)請(qǐng)參閱 https://developer.apple.com/documentation/appkit/nsappearancenameaqua?language=objc
"NSAppearanceNameAqua"
"NSAppearanceNameDarkAqua"
如果設(shè)置的值不正確,則將使用淺色模式
若要獲得最佳用戶體驗(yàn),可能應(yīng)始終使用該值來匹配用戶的首選設(shè)置:system
-Dapple.awt.application.appearance=system
當(dāng)然,測(cè)試并確保你沒有自己定義的顏色,這使得文本或組件不可見或難以通過這種配色方案看到。
PS:如果您還在尋找與本機(jī)macOS黑暗模式相匹配的Swing外觀和感覺,請(qǐng)查看VAqua。免責(zé)聲明:我從未在實(shí)際應(yīng)用程序中使用它,但它看起來非常好,并使用本機(jī)渲染來看起來像真實(shí)的東西。

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
要獲取深色標(biāo)題欄,請(qǐng)使用選項(xiàng)啟動(dòng)。例如:-NSRequiresAquaSystemAppearance False
java -jar myapp.jar -NSRequiresAquaSystemAppearance False # ("false", "no" or "0" will also work)
注意:許多解決方案建議編輯文件,但這些解決方案對(duì)我不起作用。Info.plist
警告:某些框架可能會(huì)因強(qiáng)制執(zhí)行此操作而崩潰,因此請(qǐng)謹(jǐn)慎使用。

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
我想,你可能會(huì)嘗試使用Darcula:
https://github.com/Revivius/nb-darcula
https://github.com/bulenkov/Darcula
import com.bulenkov.darcula.*;
...
...
BasicLookAndFeel darculaLookAndFeel = new DarculaLaf();
try {
UIManager.setLookAndFeel(darculaLookAndFeel);
} catch (UnsupportedLookAndFeelException ex) {
// ups!
}
添加回答
舉報(bào)