Порядок рендеринга в визуализации графика ЮНГА

#graphics #graph #label #jung

#графика #График #метка #jung

Вопрос:

Я использую JUNG2 для рисования некоторых графиков.

Это изображение, которое я получаю: http://img841.imageshack.us/img841/205/graphvizkk3312164f020b4.png

Я хотел бы:

1) измените порядок рендеринга (метки должны быть последними объектами, которые будут нарисованы);

2) добавьте полупрозрачный фон к надписям.

3) измените цвет фона всего изображения.

Есть идеи о том, как это сделать? Документация JUNG2 не очень обширна по этим вопросам.

Mulone

Ответ №1:

(1) Для этого вам пришлось бы взломать код рендеринга; я не верю, что мы поддерживаем это на данный момент.

ОБНОВЛЕНИЕ: Я присмотрелся повнимательнее. На самом деле JUNG поддерживает это, не взламывая существующие библиотеки; возможно, самый простой способ — это создать подкласс BasicRenderer , а затем переопределить render() метод, чтобы все происходило в том порядке, который вы хотите. (Я рекомендую визуализировать вершины после ребер.) Как только вы это сделаете, вы создадите экземпляр своего пользовательского Renderer и вызовете VisualizationViewer.setRenderer(customRenderer) .

(2) Надписи соответствуют HTML-коду (т. Е. окружите вашу надпись <html></html> , а затем поместите в нее любые теги, которые вам нравятся).

(3) BasicVisualizationServer (и его подклассы, например VisualizationViewer ) наследуются от JComponent , который определяет setBackground(Color) .

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

1. Спасибо! Я думаю, было бы полезно установить порядок рендеринга меток как самый высокий.

2. Вы можете сделать это самостоятельно, если хотите; смотрите Пересмотренный ответ выше.