Object 将图形对象传递给动作方法

Object 将图形对象传递给动作方法,object,graphics,3d,paint,actionmethod,Object,Graphics,3d,Paint,Actionmethod,我需要将Graphics对象“g”从paint方法传递到action方法。 大概是这样的: public boolean action(Event event, Object obj) { Graphics g=getGraphics(); repaint(); if (event.target == choice) String selection = choice.getSelectedItem(); if (selection.equals("

我需要将Graphics对象“g”从paint方法传递到action方法。 大概是这样的:

 public boolean action(Event event, Object obj)
 {   

   Graphics g=getGraphics();
   repaint();

   if (event.target == choice) 
   String selection = choice.getSelectedItem();
   if (selection.equals("do something"))
   {
       doSomething(g);
       repaint();
   }
   else if (selection.equals("do something else"))
   {
       Somethingelse(g);
       repaint();
   }

   return(true);
}

      else
          return(false);
   }

我试图将g声明为全局图形变量,但它不起作用。还有别的办法吗。谢谢你的帮助。。谢谢..

我假设这是java,您正在重写Swing组件(因此getGraphics()实际上是可用的)

尝试
Graphics g=this.createGraphics()
,这可能会有所帮助。另外,确保从事件分派线程调用
repaint()
方法。如果此操作链接到UI,通常情况就是这样。可以肯定的是,将重新绘制包装在Runnable中,并将其发送到EDT的末尾:

SwingUtilities.invokeLater(new Runnable() { 
    public void run() {
        repaint();
    }
}

这是什么语言?这是Java吗?如果这真的是Java,那么对象和3d标记就没有多大意义。闻起来很像秋千。