私は jung (java) を使用して、背景に円を描画しようとしています。出力が得られず、なぜ機能しないのか疑問に思っています。
PreRenderPaintable と PostRenderPaintable を使用していますが、まだ結果が得られません。
vv.addPreRenderPaintable(new VisualizationViewer.Paintable() {
public void paint(Graphics g)
{
System.out.println("PRE RENDER");
System.out.println("vv.getComponentCount()= " + vv.getComponentCount());
Graphics2D g2d = (Graphics2D)g;
AffineTransform oldXform = g2d.getTransform();
AffineTransform lat = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).getTransform();
AffineTransform vat = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).getTransform();
AffineTransform at = new AffineTransform();
at.concatenate(g2d.getTransform());
at.concatenate(vat);
at.concatenate(lat);
g2d.setTransform(at);
g.drawOval(100, 100, 150, 150);
g.drawString("adsadd", 200, 200);
g2d.setTransform(oldXform);
}
public boolean useTransform() { return false; }
});
vv.addPostRenderPaintable(new VisualizationViewer.Paintable()
{
public void paint(Graphics g)
{
System.out.println("POST RENDER");
System.out.println("vv.getComponentCount()= " + vv.getComponentCount());
Component comp = vv.getComponent(0);
System.out.println(comp);
System.out.println(comp.getClass());
g.drawString("adasasdsadasdsadsadasdasdsadd", 300, 300);
}
public boolean useTransform()
{
return false;
}
});