本文介紹了如何在Java中為Swing組件設置字體粗細的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我想為我的JFrame對話框上的組件設置不同的字體粗細。我該怎么做?
在以下Java語句中
setFont(new Font("Dialog", Font.BOLD, 12));
當我使用Font.BOLD時,它太粗體,而當我使用Font.Plain時,它太樸素。我想要一個介于兩者之間的東西。
推薦答案
韋勒部分正確。您可以使用TextAttributes獲取字體:
Map<TextAttribute, Object> attributes = new HashMap<>();
attributes.put(TextAttribute.FAMILY, Font.DIALOG);
attributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_SEMIBOLD);
attributes.put(TextAttribute.SIZE, 12);
label.setFont(Font.getFont(attributes));
更好的方法是通過外觀從Swing組件上安裝的字體派生字體:
Font font = label.getFont();
font = font.deriveFont(
Collections.singletonMap(
TextAttribute.WEIGHT, TextAttribute.WEIGHT_SEMIBOLD));
label.setFont(font);
這將保留字體的系列和大小,用戶可能出于可讀性原因在其桌面首選項中設置了這些字體。
這篇關于如何在Java中為Swing組件設置字體粗細的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,