此刻,我正在尝试向查看器添加和删除有关节点的一些信息。
我在示例中找到了 addPostRenderPaintable 函数,用于向查看器添加文本。
public static void add_State_to_View(String Information)
{
WebSearchInterface.vv.addPostRenderPaintable(
new VisualizationViewer.Paintable() {
int x;
int y;
Font font;
FontMetrics metrics;
int swidth;
int sheight;
String str = Information;
public void paint(Graphics g) {
Dimension d = vv.getSize();
if (font == null) {
font = new Font(g.getFont().getName(), Font.BOLD, 30);
metrics = g.getFontMetrics(font);
swidth = metrics.stringWidth(str);
sheight = metrics.getMaxAscent() + metrics.getMaxDescent();
x = (d.width - swidth) / 2;
y = (int) (d.height - sheight * 1.5);
}
g.setFont(font);
Color oldColor = g.getColor();
g.setColor(Color.gray);
g.drawString(str, x, y);
g.setColor(oldColor);
}
public boolean useTransform() {
return false;
}
});
}
如果在运行时,如果我点击一些节点,我会在下面打印出一些关于所选节点的信息。
如果我选择图形的新节点。我尝试从查看器中删除最后一个文本,或者用查看器中的新文本替换最新文本。