有沒有辦法通過單一因子縮放應用中的所有Swing組件?我有一個現有的Swing應用程序,我想以兩倍的大小顯示所有組件。這可能嗎?Java Swing:系統級組件的規模?
編輯:
我移植一個Java Swing應用程序,以糖(OLPC XO圖形環境)。我沒有輔助功能。該機器在7.5「顯示器上只有一個1200x900分辨率。所以這些組件非常小而且不可讀。
有沒有辦法通過單一因子縮放應用中的所有Swing組件?我有一個現有的Swing應用程序,我想以兩倍的大小顯示所有組件。這可能嗎?Java Swing:系統級組件的規模?
編輯:
我移植一個Java Swing應用程序,以糖(OLPC XO圖形環境)。我沒有輔助功能。該機器在7.5「顯示器上只有一個1200x900分辨率。所以這些組件非常小而且不可讀。
不幸的是,在Swing中沒有這樣的標準功能。
應用程序中的每個組件大小由添加該組件的容器的佈局以及由其UI提供的組件的首選/最小大小確定。因此,最好的方式(就像我看到的那樣)是修改標準用戶界面,所以他們提供了額外的首選大小(在你的案例中翻倍)。但是你必須爲每種特定類型的組件(按鈕/複選框/表格/樹木/卷軸e.t.c)分別執行此操作。此外,您無法更改系統用戶界面 - 只能擴展一些跨平臺的外觀和感覺,例如Metal LaF,如果您使用原生的外觀和感覺,那麼它將毫無用處。
你可以改變,雖然一些默認大號&富力地產,如字體:
UIManager.put ("Button.font", new FontUIResource (new Font ("Arial", Font.BOLD, 20)));
這種特定的情況下,僅僅改變按鈕字體。還有很多其他組件字體屬性,您可以在任何LookAndFeel類(例如BasicLookAndFeel)中找到它們。
是否可以更改默認字體大小呢?感謝您的回答。 – Butaca
使用'UIManger'修改[default](http://java.sun.com/products/jfc/tsc/articles/architecture/)外觀和感覺屬性當然是可能的。 – trashgod
@trashgod您可以通過UIManager修改外觀和感覺屬性,但其中一些將不會被正確更新(即使在您完成完整的組件樹更新之後,因爲它們中的一些在首次調用後得到緩存)。此外,只有少數屬性會影響組件大小,並且它們不依賴於組件本身(例如,按鈕/文本域邊距),所以不能按照它們將組件大小加倍的方式來指定它們。 –
可以通過使用Nimbus Look and Feel
到scalling Swing的JComponents是非常複雜的修改雨雲大號&樓其Color
, Insets
,Bounds
EI,但以純形式,無任何問題
你可以使用J(X)Layer(見www.pbjar.org/blogs/jxlayer/,但網站似乎暫時沒有)。可以在這裏找到一個建立在它上面的例子:http://patrickwebster.blogspot.com/2009/01/scalable-jfreechart-applet.html
*「這是可能的嗎?」*更好的問題是「做這件事有什麼意義?」如果用戶需要你的應用程序的組件。爲兩倍的大小,他們可以使用操作系統內置的輔助功能來實現這一點。該能力是免費的,獨立於您的應用程序。 –
沒有全球比例因子。在目前的形式下,這個問題是無法回答的。請編輯您的問題以包含您想要完成的細節。 – trashgod
@AndrewThompson請檢查編輯。這是你的觀點。 – Butaca