我制作了一个程序,它通过 Jena 获取一些 SPARQL 查询的结果,并将它们保存在二维字符串中(即二维字符串数组)。我只想取第一列的值并设计一个块图,其中每个块都包含第一列的每个值,并将它们相互连接起来。
根据我的阅读,JGraph似乎对此非常有帮助,但我下载了它并尝试这样做,但我失败了。
我怎么能用 JGraph 做到这一点,或者还有其他方法吗?
我制作了一个程序,它通过 Jena 获取一些 SPARQL 查询的结果,并将它们保存在二维字符串中(即二维字符串数组)。我只想取第一列的值并设计一个块图,其中每个块都包含第一列的每个值,并将它们相互连接起来。
根据我的阅读,JGraph似乎对此非常有帮助,但我下载了它并尝试这样做,但我失败了。
我怎么能用 JGraph 做到这一点,或者还有其他方法吗?
这是我放在一起的一个方法,它将绘制一个矩形,用颜色填充它,然后在矩形的中心放置一个字符串。
/**
* <p>This method will draw a rectangle and place the text in the center
* of the rectangle.</p>
* @param g - Graphics instance from a JPanel paintComponent method
* @param r - Rectangle (origin and dimension) of the rectangle.
* @param c - Fill color of the rectangle.
* @param s - String to place at the center of the rectangle.
*/
public void drawBox(Graphics g, Rectangle r, Color c, String s) {
g.setColor(c);
g.fillRect(r.x, r.y, r.width, r.height);
Graphics2D g2d = (Graphics2D) g;
FontRenderContext frc = g2d.getFontRenderContext();
TextLayout layout = new TextLayout(s, g.getFont(), frc);
Rectangle2D bounds = layout.getBounds();
int width = (int) Math.round(bounds.getWidth());
int height = (int) Math.round(bounds.getHeight());
int x = r.x + (r.width - width) / 2;
int y = r.y + height + (r.height - height) / 2;
g.setColor(Color.BLACK);
layout.draw(g2d, (float) x, (float) y);
}
您必须弄清楚您想要矩形的位置以及如何将它们与细长的矩形连接起来。