如何讓我的 Java Swing 應用程序 GUI 在高 DPI 屏幕上正確縮放到用戶?請參閱下面的屏幕截圖。在頂部,您可以看到與 Ubuntu 的文件資源管理器圖標和 gedit 相比,該應用程序看起來有多小。在左下角,您可以大致看到應用程序的大小(并且在常規 DPI 監視器上看起來確實如此)。因此,我正在尋找一種在使用高 DPI 監視器時正確縮放應用程序 GUI 的方法。例如,gedit 在常規 DPI 和高 DPI 顯示器上看起來相同。我希望我的應用程序表現得像這樣。這是該應用程序的源代碼:https : //github.com/baobabKoodaa/baopass這是影響許多應用程序的極其常見的問題。我在 Ubuntu 上運行的應用程序中,大約有一半在用戶沒有任何操作的情況下正確縮放,另一半沒有縮放,看起來非常小。請注意,我主要是在尋找不需要用戶操作的解決方案(盡管此時對任何幫助表示贊賞 - 我還沒有找到任何擴展它的方法)。根據這種縮放比例應該已經開箱即用。它沒有。我不確定這是否是一個錯誤,或者除了在 Java 9 上運行應用程序之外,我是否還應該執行一些額外的步驟?
2 回答

泛舟湖上清波郎朗
TA貢獻1818條經驗 獲得超3個贊
您必須告訴繪圖庫放大應用程序。
GDK_SCALE=2 ./應用
將在環境中設置適當的信息,并且小部件將按比例渲染,以便每個像素有效地占用四個像素的足跡。
請注意,啟動畫面(如果您使用 Java 的啟動畫面支持)不會在整個 Swing 庫加載后顯示,因此無論您嘗試進行何種設置,它都不會縮放。
在某些平臺上,如Fedora 的Linux 發行版,也可以進行部分縮放,您可以設置GDK_SCALE=1.5。請記住,它并非普遍可用,并且無法設置為您可能想要的任何縮放比例。
最后,較舊的 JVM 完全忽略此設置,因此如果您不使用 Java 9 或更高版本啟動,則很可能無法正常工作。而且,當然,針對較舊的 JVM 和不同的操作系統進行調整的方式往往會有所不同(如果它們確實有效的話)。
添加回答
舉報
0/150
提交
取消