作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 Java 1.6 创建一个 SWING 应用程序,并且我有一个使用 .ttf 文件中的自定义字体的 JLabel。
我以为 1.6 默认开启了抗锯齿功能,但我的文字像素化程度很高。
这是一个代码示例和一张显示结果的图片:
package aceprobowler.test;
import java.awt.Color;
import java.awt.Font;
import java.io.InputStream;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import aceprobowler.options.OptionsValues;
public class TestAntialiasedText extends JFrame
{
private static final long serialVersionUID = 2411330284507353990L;
public TestAntialiasedText(String title)
{
super(title);
setSize(800,200);
Font titleFont = null;
try
{
InputStream is = OptionsValues.class.getResourceAsStream("fonts//KOMIKAX_.ttf");
titleFont = Font.createFont(Font.TRUETYPE_FONT, is).deriveFont(Font.PLAIN, 60);
}
catch (Exception ex)
{
ex.printStackTrace();
System.err.println("font not loaded. Using serif font.");
titleFont = new Font("serif", Font.PLAIN, 24);
}
JPanel panelWithText = new JPanel();
JLabel labelWithText = new JLabel("This is a test");
labelWithText.setFont(titleFont);
labelWithText.setBackground(Color.BLACK);
labelWithText.setForeground(Color.WHITE);
labelWithText.setOpaque(true);
panelWithText.add(labelWithText);
add(panelWithText);
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new TestAntialiasedText("Testing text anti-alias").setVisible(true);
}
});
}
}
在“T”和“A”上最明显
我尝试创建一个内部类来覆盖 paintComponent(Graphics g) 并使用
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)
但它不起作用。谁能帮我解决这个问题?我在 Internet 上找不到任何关于此的信息,因为 Javaj 1.6 应该默认使所有与 SWING 相关的东西都消除锯齿。
提前致谢!
最佳答案
当您覆盖 JLabel
实例的 paintComponent
方法时,我相信您需要使用以下内容:
例如,参见:
关于java - 如何使用自定义字体使我的 JLabel 文本具有抗锯齿效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7161446/
尝试使用 tkinter 为一系列 PIL 图像制作动画。我的帧持续时间 (ms) 的图表如下所示: 有人知道是什么导致了这种尖尖的锯齿图案吗? 这是一个重现的脚本: from PIL import
我正在尝试使用 Canvas 创建“星爆”效果,但线段出现令人难以置信的像素化。我做错了什么吗? var rays = 40; var canvas = $("header canvas")[0];
爪牙 我在 JAGS 中有一个仅拦截逻辑模型,定义如下: model{ for(i in 1:Ny){ y[i] ~ dbern(mu[s[i]]) } for(j in 1:Ns){
我是一名优秀的程序员,十分优秀!