- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 JUNG 库通过图形可视化了一个由服务器和链接组成的网络。
所以我像这样初始化我的图表,Server 和 Link 是我项目中的类:
Graph<Server, Link> g;
g = new SparseMultigraph<Server, Link>();
现在我需要改变特定顶点的颜色..所以我使用了下面的代码:
//设置一个新的顶点来绘制transformer
Transformer<Integer,Paint> vertexPaint = new Transformer<Integer,Paint>() {
public Paint transform(Integer i) {
return Color.GREEN;
}
};
vv.getRenderContext().setVertexFillPaintTransformer(vertexPaint);
我得到如下 java.lang.ClassCastException 异常!!
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: network.Server cannot be cast to java.lang.Integer
at GUI.GUI$9.transform(GUI.java:1)
at edu.uci.ics.jung.visualization.renderers.BasicVertexRenderer.paintShapeForVertex(BasicVertexRenderer.java:98)
at edu.uci.ics.jung.visualization.renderers.BasicVertexRenderer.paintIconForVertex(BasicVertexRenderer.java:74)
at edu.uci.ics.jung.visualization.renderers.BasicVertexRenderer.paintVertex(BasicVertexRenderer.java:37)
at edu.uci.ics.jung.visualization.renderers.BasicRenderer.renderVertex(BasicRenderer.java:70)
at edu.uci.ics.jung.visualization.renderers.BasicRenderer.render(BasicRenderer.java:55)
at edu.uci.ics.jung.visualization.BasicVisualizationServer.renderGraph(BasicVisualizationServer.java:367)
at edu.uci.ics.jung.visualization.BasicVisualizationServer.paintComponent(BasicVisualizationServer.java:321)
at javax.swing.JComponent.paint(Unknown Source)
我更新图表的完整代码在这里:
private static BasicVisualizationServer updateGraph(网络网络){
Set<Server> servers = network.getServers();
Set<Link> links = network.getLinks();
Graph<Server, Link> g;
// Graph<V, E> where V is the type of the vertices and E is the type of
// the edges
g = new SparseMultigraph<Server, Link>();
// Add some vertices and edges
for (Server server : servers) {
g.addVertex(server);
}
int i = 0;
for (Link link : links) {
g.addEdge(link, link.getSource(), link.getDest(), EdgeType.DIRECTED);
i++;
}
// Layout<V, E>, VisualizationViewer<V,E>
Layout<Integer, String> layout = new CircleLayout(g);
layout.setSize(new Dimension(300, 300));
VisualizationViewer<Integer, String> vv = new VisualizationViewer<Integer, String>(
layout);
vv.setPreferredSize(new Dimension(350, 350));
// Show vertex and edge labels
vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller());
vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller());
// Setup up a new vertex to paint transformer...
Transformer<Integer,Paint> vertexPaint = new Transformer<Integer,Paint>() {
public Paint transform(Integer i) {
return Color.GREEN;
}
};
vv.getRenderContext().setVertexFillPaintTransformer(vertexPaint);
// Create a graph mouse and add it to the visualization component
DefaultModalGraphMouse gm = new DefaultModalGraphMouse();
gm.setMode(ModalGraphMouse.Mode.TRANSFORMING);
vv.setGraphMouse(gm);
rightPanel.setTopComponent(vv);
//Detecting selection of vertices
final PickedState<Integer> pickedState = vv.getPickedVertexState();
// Attach the listener that will print when the vertices selection changes.
pickedState.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
Object subject = e.getItem();
// The graph uses Integers for vertices.
if (subject instanceof Integer) {
Integer vertex = (Integer) subject;
if (pickedState.isPicked(vertex)) {
System.out.println("Vertex " + vertex
+ " is now selected");
} else {
System.out.println("Vertex " + vertex
+ " no longer selected");
}
}
}
});
return vv;
}
最佳答案
您的图形顶点类型是Server
,但您的Transformer
需要一个Integer
作为输入。您需要更改代码以使它们匹配。
关于java - 荣格 : Changing the vertex colour,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18893838/
Git-fugitive提供了一个很棒的 blame View (:Gblame),如下所示,提交 ID 显示在最左侧: ae228e74 (Dotan Cohen 2013-06-30 14:55:
Git-fugitive提供了一个很棒的 blame View (:Gblame),如下所示,提交 ID 显示在最左侧: ae228e74 (Dotan Cohen 2013-06-30 14:55:
我正在尝试定义 ggplot 中绘制的点组的颜色。我改编了这篇文章的代码: Color ggplot points based on defined color codes 但是一旦我有多个由同一分组
我是 jquery 的新手。我的代码中有这个: $("tbody tr:odd ").addClass("alt"); 使用 CSS: tbody tr.alt td { background-
我正在构建什么 大家好!我正在构建一个 Pixel Art Maker。 它基本上是一个网格,当您单击网格上的每个单元格时,它会改变颜色。 这是一个应该允许在同一 Canvas 上使用不同颜色的应用程
我正在 XCode 中使用 OpenCV 库,并开发了一个颜色跟踪应用程序,可以从一个点到另一个点绘制线条。我想知道是否可以将输出不是视频而是白色背景。所以不是 cvShowImage("video"
我有以下示例: data <- structure(list(a = c(-1.25549186262767, -0.840855480786298, - 0.635371312524283, -0.
http://www.html5rocks.com/en/tutorials/forms/html5forms/input-types.html 导航到上述网址后,您可以发现有两个名为“什么,您最喜欢
我的数据是这样的: service,rating_1,rating_2,rating_3,rating_4,rating_5 renew_patent,0,0,1,2,11 apply_benefit
如果您有一个包含灰度图像的 System.Drawing.Bitmap 实例,是否有一种内置方法可以通过另一种颜色的影响对其进行“着色”? 例如,如果您有一张咖啡杯的黑白(灰度)图片,并且您想要以编程
我刚刚开始使用 Leap Motion(它非常有趣)。 Leap 主要使用向量。现在我想创建一个程序,可以在其中可视化矢量指向的位置。我能想象做到这一点的唯一方法是使用打开此功能时出现的小图像,并使用
我很少使用标签来显示结果。 基本上,它们以下列格式显示数字 string.Format("{0:0.#}", number) 它们的 Text 属性绑定(bind)到对象。结果应加号或减号。 有没有办
我需要你的帮助在 Matlab 中绘制散点图的边界并用指定的颜色填充它。 首先让我向您展示一下散点图的样子。 scatter(x,y) 现在,让我向您展示我尝试设计的边框。 k = boundary(
我是 javascript 世界的初学者,需要一些帮助。我想要创建的是一个基于 websocket 的小型遥测应用程序。因此我安装了node.js 和包含的库。 1)我的问题是如何向客户端发送消息,改
我有一组值,例如(想象一下这些是小部件销售): year | Sarah | Elizabeth | Jones | Robert | --------------------------------
如何在运行时为给定字符串生成“随机常量颜色”? 因此,给定的字符串值将始终具有相同的颜色,但不同的字符串将具有不同的颜色。 就像 gmail 如何为发件人姓名分配颜色一样。 谢谢 评论回复: 考虑从哈
我使用 JUNG 库通过图形可视化了一个由服务器和链接组成的网络。 所以我像这样初始化我的图表,Server 和 Link 是我项目中的类: Graph g; g =
我现在正在 Xcode 5 中创建一个单一 View 应用程序,但我陷入了困境。有谁知道如何使按钮根据用户的操作改变颜色。例如我有一个按钮,根据用户滑动的方式我想更改按钮的颜色。因此,如果按钮显示向左
我在我的 li 元素中有一个链接和一些包含在跨度中的文本。 当我将鼠标悬停在 li 上时,我想更改文本和链接的颜色,这很有效,但是我很难设置访问颜色并保持此功能。 这是我的代码- HTML -
我想获取图像所有单个像素的颜色。详细说明假设我有一张名为“SampleImage”的图像,像素为 400 x 400基本上,我想从“SampleImage”创建一个网格,其中包含 400 x 400
我是一名优秀的程序员,十分优秀!