JFreeChart — неправильный шрифт диаграммы

#java #swing #jfreechart

#java #swing #jfreechart

Вопрос:

У меня проблема с XYLineChart . Я не знаю, как настроить шрифт диаграммы, чтобы он выглядел как компоненты Swing. Когда я использую это:

 chart.setTitle(new TextTitle("Tahoma title, style plain, size 11", new Font("Tahoma", Font.PLAIN, 11))); 
  

Это все еще неправильно : (

РЕДАКТИРОВАТЬ: Когда я создаю диаграмму в новом фрейме, шрифт в заголовке хороший. Как мне установить для всех меток, названий осей и других текстов одинаковый размер шрифта, без выделения жирным шрифтом?

РЕШЕНО 🙂

 public static void changeStyle(JFreeChart chart) {
    final StandardChartTheme chartTheme = (StandardChartTheme)StandardChartTheme.createJFreeTheme();
    final Font font = new Font("Tahoma", Font.PLAIN, 11);
    final Color color = new Color(0, 0, 0);

    chartTheme.setExtraLargeFont(font);
    chartTheme.setLargeFont(font);
    chartTheme.setRegularFont(font);
    chartTheme.setSmallFont(font);

    chartTheme.setAxisLabelPaint(color);
    chartTheme.setLegendItemPaint(color);
    chartTheme.setItemLabelPaint(color);
    chartTheme.apply(chart);
}
  

Комментарии:

1. хорошо, я изменил шрифт и размер заголовка. Но как изменить шрифт всех элементов (метки, ось …)?

Ответ №1:

Если вы хотите изменить шрифт существующего заголовка, сделайте что-то вроде этого:

 chart.getTitle().setFont(new Font("Tahoma", Font.PLAIN, 11));
  

Добавление:

Как мне изменить шрифты всех элементов, например, метки, ось и т.д.?

StandardChartTheme предоставляет эту возможность, работая с отдельными компонентами диаграммы.

Ответ №2:

Я не знаю двух вещей о XYLineCharts, но, похоже, вы, возможно, неправильно устанавливаете шрифт. Попробуйте установить его на разных компонентах.

Немного, но может помочь вам продвинуться.

Удачи 😉

Damo