-1

我正在使用 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;
        }
    });
4

1 回答 1

0

问题是没有设置输出的颜色。例如:

  g.setFont(font);
  Color oldColor = g.getColor();
  g.setColor(Color.lightGray);
于 2013-04-13T14:52:31.403 回答