Tag: 字体

如何在高分辨率屏幕上缩放字体?

在高分辨率屏幕上(我的例子,Windows 8.1)是我的Java应用程序。 特别是菜单非常小,几乎不可能选择菜单项。 在正常屏幕(72 DPI)中一切正常。 具有固定大小的字体(在我的情况下,它将具有<80px),是一个糟糕的选择。 72 DPI屏幕显示它非常大。 如何使字体可扩展以使程序符合其大小,或者用户是否可以设置?

你如何改变joptionpane的大小和字体?

你能改变JOptionPane文本的字体和大小吗? 我尝试过它,只有当我在特定的java类上“运行文件”时它才有效。 如果启动整个项目,则不会更改字体。 我只想改变一个特定的JOptionPane而不是全部。 这是代码: UIManager.put(“OptionPane.messageFont”, new FontUIResource(new Font( “Arial”, Font.BOLD, 18))); JOptionPane.showMessageDialog(null,”MESSAGE”,”ERROR”,JOptionPane.WARNING_MESSAGE);

获取系统默认字体

有没有办法在Java中获取系统默认字体名称? 默认字体可能与操作系统不同。 因此,如果我们使用字体Arial并且jar在Linux中运行而没有安装Arial字体,则会造成麻烦。

使用AwesomeFont中的自定义字体和Java Swing中的unicode字符向JButton添加图标?

我有一个JButton,我想添加一个图标。 我想使用FontAwesome中提供TrueType字体文件的基于字体的图标。 我想添加的图标是播放按钮图标。 FontAwesome的css文件中的播放按钮图标是\f04b ,我在Java \f04b其转换为\uf04b 。 这就是我在IconButton基类的构造函数中加载字体的方法。 public class IconButton extends JButton { public IconButton() { try { InputStream in = this.getClass().getResourceAsStream(“/fontawesome-webfont.ttf”); Font ttfBase = Font.createFont(Font.TRUETYPE_FONT, in); Font ttfReal = ttfBase.deriveFont(Font.BOLD, 24); setFont(ttfReal); } catch (FontFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } 在实现类StartButton中,这是我设置文本的方式。 public class StartButton extends IconButton […]

如何在Java中获得真正的字符串高度?

我正在使用FontMetrics.getHeight()来获取字符串的高度,但它给了我一个错误的值,切断了字符串字符的下降。 我可以使用更好的function吗?

Java Applet:浏览器中没有抗锯齿字体(但在AppletViewer中)

在AppletViewer中,我的Applet看起来像这样: 在浏览器中,我的Applet看起来像这样: 如您所见,字体不是抗锯齿的。 背景颜色也不同。 并且所有文本都在右侧切割。 那可能是什么? 你也可以在这里试试吧。 从这里我试着使用这段代码: System.setProperty(“awt.useSystemAAFontSettings”,”on”); System.setProperty(“swing.aatext”, “true”); 但这只会导致以下exception: java.security.AccessControlException: access denied (java.util.PropertyPermission awt.useSystemAAFontSettings write) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.System.setProperty(System.java:742) at applets.Termumformungen$in$der$Technik_08_Ethanolloesungen.Applet.init(Applet.java:51) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1640) at java.lang.Thread.run(Thread.java:680) Exception: java.security.AccessControlException: access denied (java.util.PropertyPermission awt.useSystemAAFontSettings write)

设置Java应用程序的全局字体

我需要为我的应用程序设置默认字体。 有没有办法做到这不依赖于LaF?

为所有组件Java设置相同的字体

我想为JPanel所有组件设置一个特定的字体,但我更喜欢这个问题仍然更加通用,而不仅限于JPanel。 如何将字体设置为容器中的组件列表(JFrame或JPanel)?

如何从具有多个TTF文件的Font系列导入自定义java.awt.Font? (包括一个例子)

我知道您可以使用以下内容导入Java中的Font: File file = new File(fontPath); Font font = Font.createFont(Font.TRUETYPE_FONT, file); // alternative: // Font font = Font.createFont(Font.TRUETYPE_FONT, new FileInputStream(file)); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); ge.registerFont(font); 然后你会使用例如font.deriveFont(Font.PLAIN, 20); 获得所需的风格和大小。 例 但现在让我们看一下Consolas字体的例子,那里有四个TTF文件: consola.ttf (Plain) consolab.ttf (Bold) consolai.ttf (斜体) consolaz.ttf (Bold&Italic) 当然你可以用上面consola.ttf的方法导入consola.ttf ,然后使用font.deriveFont(Font.BOLD, 20); 与使用consolab.ttf因为简单字体只是转换为粗体字体。 示例图片 这里我用new Font(“Consolas”, Font.PLAIN, 20);安装了new Font(“Consolas”, Font.PLAIN, 20); 和new Font(“Consolas”, Font.BOLD, 20); (作为旁注,如果您使用deriveFont(Font.BOLD); […]

需要一种缩放字体以适合矩形的方法

我刚刚编写了一些代码来缩放字体以适应矩形(长度)。 它从18宽度开始并向下迭代直到它适合。 这似乎非常低效,但我找不到一种非循环方式来做到这一点。 此行适用于可缩放的游戏网格中的标签,因此我无法看到解决方案(包裹,切断和延伸超过矩形都是不可接受的)。 它实际上非常快,我正在为数百个矩形做这个,而且速度足以让它减慢触摸速度。 如果没有人提出更好的东西,我只会从表中加载起始猜测(因此它比18更接近)并使用它 – 除了延迟效果很好。 public Font scaleFont(String text, Rectangle rect, Graphics g, Font pFont) { float nextTry=18.0f; Font font=pFont; while(x > 4) { font=g.getFont().deriveFont(nextTry); FontMetrics fm=g.getFontMetrics(font); int width=fm.stringWidth(text); if(width <= rect.width) return font; nextTry*=.9; } return font; }