在我的Java應用程序中,我有一個窗口,其中包含一個JScrollPane中的JTextArea,滾動條策略設置爲AS_NEEDED
。爲什麼在我的Java應用程序中看到「奇怪」的滾動條?
當我跑我的應用我看到的JTextArea這樣:
爲什麼我看到與剖旋鈕(這並不反映像this「標準」表示)滾動條?
該框架的佈局是GridBagLayout
,並且我在Mac OS X 10.8.2上,這很重要。
在我的Java應用程序中,我有一個窗口,其中包含一個JScrollPane中的JTextArea,滾動條策略設置爲AS_NEEDED
。爲什麼在我的Java應用程序中看到「奇怪」的滾動條?
當我跑我的應用我看到的JTextArea這樣:
爲什麼我看到與剖旋鈕(這並不反映像this「標準」表示)滾動條?
該框架的佈局是GridBagLayout
,並且我在Mac OS X 10.8.2上,這很重要。
這是基於您的應用使用的Look and Feel以及Java與本地OS佈局組件集成的限制。屏幕截圖中的那個看起來像Nimbus。
Swing應用程序總是定製渲染外觀,並且在各處使用本機操作系統小部件都做得不好。結果是,你會看到奇怪的外觀,這些奇怪的外觀可能與某些操作系統一致,或者只與特定的佈局組件有關。
歡迎使用Java開發跨平臺的桌面應用程序。 :(
要嘗試獲得系統的外觀和感覺,當你的應用程序啓動時,你可以這樣做:
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassname());
} catch (Exception e) {
// Handle exception
}
這將設置一下並且對系統的感覺不管你運行的是什麼
而且如上所述,應用程序應用程序的默認外觀耳朵是Nimbus,而不是OSX的Aqua,它可以通過上面的代碼再次修復,你可以(應該在意)爲用戶提供UI選項,以將應用程序的外觀和風格改變爲任何他們選擇的內容。