当前位置: 代码迷 >> Java相关 >> 绘图问题
  详细解决方案

绘图问题

热度:241   发布时间:2006-06-15 01:25:47.0
绘图问题

绘图的那些对象,只能在paint()里用吗?在别的方法里可以定义并使用那些对象吗?

搜索更多相关的解决方案: 定义  绘图  paint  对象  

----------------解决方案--------------------------------------------------------
不可以,因为Graphics的对象是系统生成的
不过你也可以把paint里面的Graphics对象传给你要用它的方法里面,你就可以用了

----------------解决方案--------------------------------------------------------
版主好象说错了吧?~
Graphics不一定要在paint()里面用吧
因为Graphics是个抽象类,所以只要用它的一个方法getGraphics返回一个Graphics对象就可以用了`

----------------解决方案--------------------------------------------------------

有道理,得到了任何的对象的Graphics引用后就可以用了
但是要更新还是要调用repaint()方法
要不就设置为setIgnoreRepaint(true),自己画了就像


----------------解决方案--------------------------------------------------------

有道理,得到了任何的对象的Graphics引用后就可以用了
但是要更新还是要调用repaint()方法
要不就设置为setIgnoreRepaint(true),自己画了就像


----------------解决方案--------------------------------------------------------
绘图问题

绘图的那些对象,只能在paint()里用吗?在别的方法里可以定义并使用那些对象吗?


paintComponent(Graphics g)
{
Graphics2D g2d = (Graphics2D) g;
g2d.fill( new Ellipse2D.Double(25,25,123,58) );
}


----------------解决方案--------------------------------------------------------
这不是一样吗?
paintComponent,paintComponents,paintChildren,paintBorder都是paint方法的变体,都是系统调用的
----------------解决方案--------------------------------------------------------
我在楼上就已经说了`

只要用getGraphics获得一个Graphics的一个对象就可以在其他方法中绘制了 ` 不一定要在paint方法中``
你可以去查阅API文档 英文的不懂的话就去看中文的 最好是看英文的`。

记住一句话,书对于一个程序员来说是累赘,帮助文档才是程序员的“爹”.
----------------解决方案--------------------------------------------------------
如果在方法paintComponent中绘图,必须注意以下一些问题:paintComponent(Graphics g)

当组件不透明时,paintComponent方法的绘制操作之前会清除背景颜色 ;该方法体的第一条语句应该总是调用超类的super.paintComponent( g),否则不能正确的显示该组件!
如果在执行完其他的绘制语句之后调用超类的paintComponent方法,则会擦除这些语句 的绘制的效果!


----------------解决方案--------------------------------------------------------
  相关解决方案