我想使用Java EE应用程序服务器端生成的数据显示图。所以我的问题是如何将一些数据结构(JSONObject)放入以下代码的“元素”部分:

$(function(){ // on dom ready

var cy = cytoscape({
container: document.getElementById('cy'),

style: cytoscape.stylesheet()
.selector('node')
  .css({
    'content': 'data(id)'
  })
.selector('edge')
  .css({
    'target-arrow-shape': 'triangle',
    'width': 4,
    'line-color': '#ddd',
    'target-arrow-color': '#ddd'
  })
.selector('.highlighted')
  .css({
    'background-color': '#61bffc',
    'line-color': '#61bffc',
    'target-arrow-color': '#61bffc',
    'transition-property': 'background-color, line-color, target-arrow-color',
    'transition-duration': '0.5s'
  }),

elements: {
  nodes: [
    { data: { id: 'a' } },
    { data: { id: 'b' } },
    { data: { id: 'c' } },
    { data: { id: 'd' } },
    { data: { id: 'e' } }
  ],

  edges: [
    { data: { id: 'a"e', weight: 1, source: 'a', target: 'e' } },
    { data: { id: 'ab', weight: 3, source: 'a', target: 'b' } },
    { data: { id: 'be', weight: 4, source: 'b', target: 'e' } },
    { data: { id: 'bc', weight: 5, source: 'b', target: 'c' } },
    { data: { id: 'ce', weight: 6, source: 'c', target: 'e' } },
    { data: { id: 'cd', weight: 2, source: 'c', target: 'd' } },
    { data: { id: 'de', weight: 7, source: 'd', target: 'e' } }
  ]
},

layout: {
name: 'breadthfirst',
directed: true,
roots: '#a',
padding: 10 }});


完整的示例可以在here中找到。我不介意在页面上使用带有图形逻辑的scriptlet来调用一些Java代码,这些代码将为我提供所需的数据。但是之后如何将结果放在“元素”下以实现动态生成的图(节点和边)?

最佳答案

用大括号闭合是一个简单的错误。更改:


  布局:{
  名称:“ breadthfirst”,
  指示:正确,
  根:“#a”,
  填充:10}});


至:


  布局:{
  名称:“ breadthfirst”,
  指示:正确,
  根:“#a”,
  填充:10}});
  });


即添加});最后,图形将显示出来。

关于java - Cytoscape.js-如何显示用Java生成的节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26432369/

10-12 00:01
查看更多