Рисуете редактируемые JTextComponents с дробной шириной? - PullRequest
3 голосов
/ 08 февраля 2012

Я работаю с 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);
    }
}

Если я делаю это со статичным, невыбираемым текстом, он прекрасно рисует.Однако, как только я начинаю перетаскивать выделение, я получаю странное колебание между кадрами и артефактами.Есть ли способ рисовать с помощью дробных метрик и избежать этой странности?Я попытался установить атрибут на Карете, но безуспешно.

1 Ответ

0 голосов
/ 17 февраля 2014

Кажется, что на этот вопрос давным-давно ответили автор и СтаниславЛ в комментариях:

Если вы установите для «i18n» значение ИСТИНА, эффект не будет виден.Просто написал небольшой тестовый пример.В качестве альтернативы вы можете использовать java-sl.com / Scale_In_JEditorPane_GlyphPainter.html , чтобы добавить свой собственный художник на основе дробной части.

...