我在书上看了一个关于画矩形的类,我想写个简单的测试程序来测试一下,但有一个问题无法解决,代码如下:
package com.zhouyong.examples.classes;
/**
 * 这是Rect的一个字类,可以显示在屏幕上
 * 继承了Rect的所有字段和方法
 * 依靠java.awt.Graphics对象进行绘制
**/
public class DrawableRect extends Rect
{
/**构造函数DrawableRect就是调用构造函数Rect() */
public DrawableRect(int x1,int y1,int x2,int y2)
{
super(x1,y1,x2,y2);
}
/** 这是DrawableRect定义的新方法 */
public void draw(java.awt.Graphics g)
{
g.drawRect(x1,y1,(x2-x1),(y2-y1));
}
}
我写的测试程序的代码是这样的
package com.zhouyong.examples.classes;public class DrawableRectTest
{
public static void main(String[] args)
{
DrawableRect DR=new DrawableRect(0,5,0,6);

DR.draw(java.awt.Graphics g);
}
}我想问一下我怎么用DR.draw()这个方法.上面的代码显然是不行的.

解决方案 »

  1.   

    import javax.swing.JFrame;
    import java.awt.*;public class DrawableRectTest extends JFrame {    public  DrawableRectTest() {
            super("test");        
        }
        
        public static void main(String[] args) {
            DrawableRectTest test = new DrawableRectTest();
            DrawableRect rect = new DrawableRect(10,10,100,100);
            test.setSize(300,300);
            test.show();
            Graphics g = test.getGraphics();
            rect.draw(g);
            
        }}
    //////////////////////////
    import java.awt.*;public class DrawableRect extends Rectangle {    public DrawableRect(int x1, int y1, int x2, int y2) {
            super(x1, y1, x2, y2);
        }    public void draw(java.awt.Graphics g) {
            g.drawRect(x, y, height, width);
        }}