我正在覆盖 JCOmponent 的 paintComponent() 方法并在窗口中绘制文本。我在 Ubuntu 上运行并使用字体“Ubuntu Mono”(Ubuntu 文本编辑器的默认字体)。当我的 java 应用程序显示文本时,它看起来很软弱和模糊。我究竟做错了什么?
我正在画这样的文字:
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
graphics.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
Font font = new Font("Ubuntu Mono", Font.PLAIN, 18);
fontMetrics = graphics.getFontMetrics(font);
graphics.setFont(font);
graphics.drawString(value, getX(), getY() + fontMetrics.getHeight());
在我的 java 应用程序中,它看起来像这样:
在 Ubuntu 文本编辑器中,它看起来像这样:
编辑:如果.png
使用图像而不是图像,性能会受到影响drawText()
吗?这是一个商业应用程序,而不是一个需要流畅动画的游戏。
编辑:我更改了颜色以匹配 TextEditor 的颜色,这实际上对质量有所帮助,但字符仍然很薄......你几乎看不到“.”。在 gimp 中,我可以通过创建带有正确字体和抗锯齿功能的文本来重新创建 TextEditor 外观。