Toon posts:

[Java] JGraph van JTree naar GraphModel

Pagina: 1
Acties:
  • 72 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik probeer een JTree met DefaultMutableTreeNodes met JGraph naar een soort organisatiediagram te krijgen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
GraphModel gModel = new DefaultGraphModel();
JGraph graph = new JGraph(gModel);

graph.setCloneable(true);

graph.setInvokesStopCellEditing(true);

graph.setJumpToDefaultPort(true);

int counter=0;
Enumeration e = rootNode.children();
while (e.hasMoreElements()) {
    NodeModel mtn = (NodeModel)e.nextElement();
    DefaultGraphCell cell = new DefaultGraphCell(mtn.getName());
    cell.add(mtn);
    cell.addPort();
    graph.getGraphLayoutCache().insert(cell);
}
JScrollPane thisScrollPane = new JScrollPane(graph);
thisScrollPane.setBounds(10,10,600,600);

NodeModel is een extension van DefaultMutableTreeNode. Bij het inserten van de cell krijg ik echter een NullPointerException. Ook als ik probeer alleen de rootNode te inserten, bijvoorbeeld
code:
1
2
3
4
5
6
NodeModel rootNode = model.getRoot();
DefaultGraphCell rootCell = new DefaultGraphCell(rootNode.getName());
rootCell.add(rootNode);
rootCell.addPort();
GraphConstants.setBounds(rootCell.getAttributes(), new Rectangle2D.Double(300, 0, 50, 25));
graph.getGraphLayoutCache().insert(rootCell);

krijg ik een nullpointer. Wat doe ik fout?

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 20:11

Robtimus

me Robtimus no like you

Post je volledige StackTrace eens.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
Als ik dit run:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
GraphModel gModel = new DefaultGraphModel();
JGraph graph = new JGraph(gModel);
        
graph.setCloneable(true);
        
graph.setInvokesStopCellEditing(true);
        
graph.setJumpToDefaultPort(true);
int counter=0;
Enumeration e = model.getRoot().children();
NodeModel rootNode = model.getRoot();
DefaultGraphCell rootCell = new DefaultGraphCell(rootNode.getName());
rootCell.add(rootNode);
GraphConstants.setBounds(rootCell.getAttributes(), new Rectangle2D.Double(300, 0, 50, 25));
graph.getGraphLayoutCache().insert(rootCell);
while (e.hasMoreElements()) {
    NodeModel mtn = (NodeModel)e.nextElement();
    DefaultGraphCell cell = new DefaultGraphCell(mtn.getName());
    cell.add(mtn);
    cell.setParent(rootNode);
    graph.getGraphLayoutCache().insert(cell);
}

Krijg ik deze error:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
java.lang.NullPointerException
    at org.jgraph.graph.AbstractCellView.getCellAttributes(Lorg.jgraph.graph.GraphModel;)Lorg.jgraph.graph.AttributeMap;(Unknown Source)
    at org.jgraph.graph.AbstractCellView.refresh(Lorg.jgraph.graph.GraphModel;Lorg.jgraph.graph.CellMapper;Z)V(Unknown Source)
    at org.jgraph.graph.GraphLayoutCache.getMapping(Ljava.lang.Object;Z)Lorg.jgraph.graph.CellView;(Unknown Source)
    at org.jgraph.graph.AbstractCellView.refresh(Lorg.jgraph.graph.GraphModel;Lorg.jgraph.graph.CellMapper;Z)V(Unknown Source)
    at org.jgraph.graph.GraphLayoutCache.getMapping(Ljava.lang.Object;Z)Lorg.jgraph.graph.CellView;(Unknown Source)
    at org.jgraph.graph.GraphLayoutCache.getMapping([Ljava.lang.Object;Z)[Lorg.jgraph.graph.CellView;(Unknown Source)
    at org.jgraph.graph.GraphLayoutCache.graphChanged(Lorg.jgraph.event.GraphModelEvent$GraphModelChange;)V(Unknown Source)
    at org.jgraph.plaf.basic.BasicGraphUI$GraphModelHandler.graphChanged(Lorg.jgraph.event.GraphModelEvent;)V(Unknown Source)
    at org.jgraph.graph.DefaultGraphModel.fireGraphChanged(Ljava.lang.Object;Lorg.jgraph.event.GraphModelEvent$GraphModelChange;)V(Unknown Source)
    at org.jgraph.graph.DefaultGraphModel$GraphModelEdit.execute()V(Unknown Source)
    at org.jgraph.graph.DefaultGraphModel.insert([Ljava.lang.Object;Ljava.util.Map;Lorg.jgraph.graph.ConnectionSet;Lorg.jgraph.graph.ParentMap;[Ljavax.swing.undo.UndoableEdit;)V(Unknown Source)
    at org.jgraph.graph.GraphLayoutCache.insert([Ljava.lang.Object;Ljava.util.Map;Lorg.jgraph.graph.ConnectionSet;Lorg.jgraph.graph.ParentMap;[Ljavax.swing.undo.UndoableEdit;)V(Unknown Source)
    at org.jgraph.graph.GraphLayoutCache.insert([Ljava.lang.Object;Ljava.util.Map;Lorg.jgraph.graph.ConnectionSet;Lorg.jgraph.graph.ParentMap;)V(Unknown Source)
    at org.jgraph.graph.GraphLayoutCache.insert([Ljava.lang.Object;)V(Unknown Source)
    at org.jgraph.graph.GraphLayoutCache.insert(Ljava.lang.Object;)V(Unknown Source)
    at nl.tno.beno.ml.decisiontree.decisiontree.DecisionTreeView.getGraph(DecisionTreeView.java:136)
    at nl.tno.beno.ml.decisiontree.decisiontree.DecisionTreeView.refreshTree(DecisionTreeView.java:99)
    at nl.tno.beno.ml.decisiontree.decisiontree.DecisionTreeController.<init>(DecisionTreeController.java:31)
    at nl.tno.beno.ml.decisiontree.loadtree.LoadTreeController.actionPerformed(LoadTreeController.java:303)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)

at nl.tno.beno.ml.decisiontree.decisiontree.DecisionTreeView.getGraph(DecisionTreeView.java:136) verwijst naar regel 15 in de bovenstaande code.

[ Voor 13% gewijzigd door Verwijderd op 01-03-2006 13:03 ]


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 20:11

Robtimus

me Robtimus no like you

Er is ergens een probleem met de Cell Attributes. Ik ken JGraph niet, maar kun/moet je die niet ergens instellen?

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:35

Creepy

Tactical Espionage Splatterer

Kom op zeg. Debuggen is iets wat je in eerste instantie zelf moet kunnen. Met dit soort foutmeldingen is het meestal vrij eenvoudig om het probleem te vinden.

Je geeft zelf helemaal niet aan welke zaken je nu al hebt geprobeerd en wat daar niet mee lukte (again). Lees AUB P&W FAQ - Het FAQ/Beleid topic eens heel goed door (met name P&W FAQ - De "quickstart") voordat je hier weer een topic opent. We gaan hier niet voor je zitten debuggen of je een kant en klare oplossing geven als je nog nagenoeg niks zelf hebt geprobeerd. Het is hier een discussie forum en geen helpdesk.

[ Voor 17% gewijzigd door Creepy op 01-03-2006 20:35 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.