Java中有没有内置的方法来增加字体大小?

问题描述 投票:0回答:7

Java中有没有内置的方法来增加字体大小?

java swing
7个回答
19
投票

Font
类允许您指定字体大小。

因此,要创建字体,您可以执行以下操作:

Font f = new Font("serif", Font.PLAIN, fontSize);

fontSize
参数将决定您的
Font
的大小。

您实际上无法更改现有 Font 对象的大小。 实现类似效果的最佳方法是使用

deriveFont(size)
方法创建一个几乎相同但大小不同的新
Font

Font biggerFont = existingFont.deriveFont(bigNumber);

15
投票

您可以使用以下命令派生具有不同大小的新字体:

Font original = // some font
Font bigger = original.deriveFont(newSize);

其中 newSize 是浮点数,而不是 int。 正如其他人指出的那样,这在 Font 的 JavaDoc 中有详细记录


13
投票
JLabel

上的字体大小,您可以这样做:


label.setFont(label.getFont().deriveFont(newSize));

确保 
newSize

float
而不是
int
    


12
投票

我通过将一个参数传递到我的应用程序中并将其用作乘数来做到这一点。如果我传入 150,它会将所有现有字体乘以 150%。代码如下

public static void initializeFontSize() { String fontSizeParam = System.getProperty("myapp.fontSize"); if (fontSizeParam != null) { float multiplier = Integer.parseInt(fontSizeParam) / 100.0f; UIDefaults defaults = UIManager.getDefaults(); int i = 0; for (Enumeration e = defaults.keys(); e.hasMoreElements(); i++) { Object key = e.nextElement(); Object value = defaults.get(key); if (value instanceof Font) { Font font = (Font) value; int newSize = Math.round(font.getSize() * multiplier); if (value instanceof FontUIResource) { defaults.put(key, new FontUIResource(font.getName(), font.getStyle(), newSize)); } else { defaults.put(key, new Font(font.getName(), font.getStyle(), newSize)); } } } } }



7
投票
swing.plaf.metal.controlFont

java -Dswing.plaf.metal.controlFont=Dialog-50 YourMainClass

在此示例中,您将默认字体设置为“Dialog”,大小为 50。


3
投票

Java Swing 应用程序中的字体、样式和大小是通过 LookAndFeel 机制控制的。如果您希望更改应用到给定类型的所有 Swing 组件,则需要更改外观中的字体。

查看

UIManager

示例。 以下是如何全局更改某些 UI 组件的字体:

UIManager.put("Label.font", new FontUIResource(new Font("Dialog", Font.PLAIN, 10))); UIManager.put("Button.font", new FontUIResource(new Font("Dialog", Font.BOLD, 10))); UIManager.put("TextField.font", new FontUIResource(new Font("Dialog", Font.PLAIN, 10)));



0
投票

private void initializeFontSize(int fontSizeDiffValue, UIDefaults defaults) { if(fontSizeDiffValue == 0) return; for (Enumeration<Object> e = defaults.keys(); e.hasMoreElements();) { Object key = e.nextElement(); Font font = UIManager.getFont(key); if(font != null) { int newSize = font.getSize() + fontSizeDiffValue; UIManager.put(key, new FontUIResource(new Font(font.getName(), font.getStyle(), newSize))); } } }

	
© www.soinside.com 2019 - 2024. All rights reserved.