2012-06-11 11 views
2

Я не являюсь пользователем интерфейса, поэтому я надеюсь получить некоторые предложения о том, как рисовать это в Swing. Я хочу закончить с чем-то вроде рисунка ниже. enter image description hereСвинг: доступность графиков с течением времени

Это показывает доступность с течением времени (ось времени не показана на изображении, но она будет внизу или сверху). Вертикальная полоса представляет текущее время. Я смотрел такие библиотеки, как JFreeChart, но я не вижу ничего, что можно легко превратить в это, или я что-то пропустил? Достаточно легко сделать что-то подобное вручную, переопределив paint() в JPanel или что-то в этом роде, но я не хочу вручную обрабатывать логику сжимания/разворота по элементам слева. Моя следующая мысль была, возможно, JTree с пользовательскими ячейками, где я мог бы нарисовать бары доступности. Таким образом, мне не придется иметь дело с логикой collapse/expand.

Любые предложения? Есть ли диаграмма/графическая библиотека, которую я мог бы использовать? Должен ли я делать это с нуля? Расширить существующий компонент Swing?

Благодаря

+0

Что что JFreeChart не работает? –

+0

Этот график не выглядит сложным и сложным, почему бы не сделать его прямо на JPanel? –

+0

@HovercraftFullOfEels Я имел в виду, что не похоже, что есть диаграммы, которые делают то, что я хочу из коробки. Например, возможно, я мог бы изменить простую линейную диаграмму, чтобы сделать разные сегменты цветовой линии, чтобы получить красные/зеленые линии, но как бы я мог развернуть/свернуть метки по оси y? – Neal

ответ

2

JFreeChart может делать все, кроме контура, для которого я бы использовать outline и подходящей ячейки таблицы визуализатора.

+1

Или «JXTreeTable» из проекта SwingX – Robin

2

Термин, который вы ищете, это «диаграмма Ганта». У JFreeChart есть диаграмма для этого, но это не интерактивно. Есть некоторая бесплатная библиотека Java (e-gantt - одна), но не в сочетании с древовидной таблицей (насколько я знаю).

Так что, если требуется, можно создать что-то из таблицы дерева, как это предлагается в других ответах или пойти с коммерческой библиотекой (JGantt, Jide Гант (отказ от ответственности я работал на том;))

Смежные вопросы