У меня есть таблица в базе данных с именем «Процесс»
Эта таблица процессов имеет 3 поля:
Теперь я хочу отобразить эту родительскую дочернюю иерархию в графическом формате. Не могли бы вы предложить мне следующее:
В1. Какую структуру данных было бы лучше использовать, чтобы получать данные из базы данных и сохранять в этой структуре данных?
Q2. Как отобразить это дерево (иерархию процессов) в графическом формате?
РЕДАКТИРОВАТЬ:
Я хочу, чтобы графический формат был примерно таким:
SQLite ожидает возврата SQLITE_ABORT об ошибке и кода возврата 0 без ошибки. Таким образом, вы должны обернуть все ваши C++ обратный вызов в try catch . Затем в catch возвращает код ошибки SQLite SQLITE_ABORT, в противном случае - ноль.
Проблемы возникнут, если обойти возврат через SQLite, так как он не освободит/не заполнит код после возврата из обратного вызова. Это вызовет неисчислимые проблемы, некоторые из которых могут быть очень неясными.
-121--2532765-Если вы находитесь в * nix, я бы рекомендовал использовать модуль команд.
import commands
status, res = commands.getstatusoutput("wget --version | grep Wget")
print status # Should be zero in case of of success, otherwise would have an error code
print res # Contains stdout
-121--2749620- Swing имеет встроенный элемент управления для отображения данных в формате дерева JTree
. Он также предоставляет модель данных с именем DefureTreeModel
, которую можно использовать для хранения данных. Эта ссылка дает довольно хорошее объяснение использования JTree
с моделью данных.
[Правка]:
Чтобы ответить на ваш обновленный вопрос, такой график вполне может быть обработан JGraph
, который также предоставит модель данных, которая, похоже, работает так же, как и сдвиг модели дерева.
Как предложили другие, используя JTREE
- это одно возможное решение. Однако, если вы хотите иметь больше контроля над внешним видом вашего дерева, я предлагаю проверить Jung библиотеку графики . Это может потенциально дать вам отличные результаты, но потребуется больше работы.
Для иерархии в графическом формате, как насчет JTREE? http://java.sun.com/docs/books/tuTorial/uiswing/components/tree.html
RE Q1: Вы можете найти в интернет-ресурсах несколько реализаций Джавы древовидной структуры этого общего дерева .
RE Q2: одна альтернатива с использованием JTREE . Проверьте урок Java Trank Trail On Как использовать деревья
JGrapht может быть хорошей отправной точкой, чтобы построить что-то вроде вашего примера. Проверьте демонстрацию http://jgrapht.sourceforge.net/visualizations.html