我有一个简单的油漆应用程序,我试着理解油漆方法是如何工作的,这个方法有一个图形类型的参数,
public void paint( Graphics g ) {
g.fillOval(x, y,20, 20);
}我的问题是这个图形对象g是从哪里来的?
这是完整的代码:
public class Painter extends JFrame {
private int x = -10, y = -10;
public Painter()
{
super( "Simple Painter" );setSize( 500, 500 );setVisible( true );
addMouseMotionListener(new MyMouseWatcher());
}
@Override
public void paint( Graphics g ) {
g.fillOval(x, y,20, 20);
}
private class MyMouseWatcher extends MouseAdapter{
public void mouseDragged( MouseEvent event ){
x = event.getX();
y = event.getY();
repaint();
}
}
public static void main( String args[] )
{
Painter painter = new Painter();
painter.addWindowListener( new WindowAdapter(){
public void windowClosing( WindowEvent event )
{System.exit( 0 );}
}/* end inner class*/ );
}} 发布于 2013-12-21 05:46:01
阅读定制绘画上的Swing教程,了解绘画是如何工作的。
提示,您不应该重写paint(),也不应该在JFrame上执行自定义绘图。
https://stackoverflow.com/questions/20715925
复制相似问题