绘制具有小数宽度的可编辑JTextComponents?

时间:2012-02-07 21:50:43

标签: java swing antialiasing graphics2d jeditorpane

我正在使用JEditorPane,并且(当然)当我使用抗锯齿和分数宽度绘制组件时,文本看起来更好。换句话说:

JEditorPane pane = new JEditorPane() {
    public void paint(Graphics g) {
        Graphics2D g2d = (Graphics2D)g;
        g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
            RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
        g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS,
            RenderingHints.VALUE_FRACTIONALMETRICS_ON);
        super.paint(g);
    }
}

如果我使用静态的,不可选择的文本执行此操作,它会精美地绘制。但是,一旦我开始拖动选择,我就会在帧和工件之间产生一些奇怪的抖动。有没有办法用分数指标绘画并避免这种怪异?我尝试在Caret上设置属性,但没有运气。

1 个答案:

答案 0 :(得分:0)

这个问题似乎很久以前由作者和StanislavL在评论中得到解答:

  

如果将“i18n”设置为TRUE,则效果不可见。刚写了一篇   小测试用例。或者你可以使用   java-sl.com/Scale_In_JEditorPane_GlyphPainter.html添加您自己的   基于分数的画家。