java吧 关注:1,222,249贴子:12,678,107
  • 1回复贴,共1

帮忙JAVA程序调试

只看楼主收藏回复

怎么这个程序的矩形显示一下就没了
怎么把它一直显示在窗体上,直到关闭窗体。

程序如下:
package TestPrograms;

import java.io.*;
import java.awt.*;
import java.lang.*;
 
public class ColoredTriangle 
{
private Point p1;
private Point p2;
private Point p3;
private Color color;

/*
 * ColoredTriangle():
 */
public ColoredTriangle()
{
Point a=new Point(1,1);
Point b=new Point(2,2);
Point c=new Point(3,3);

setPoint(1,a);
setPoint(2,b);
setPoint(3,c);
setColor(Color.red);

}
/*
 * ColoredTringle()
 */
public ColoredTriangle(Point a,Point b,Point d,Color c)
{
setPoint(1,a);
setPoint(2,b);
setPoint(3,d);
setColor©;
}
/*
 * setPoint():
 */
public void setPoint(int i,Point v)
{
if (i==1)
{
p1=new Point(v.x,v.y);
}

else if(i==2)
{
p2=new Point(v.x,v.y);
}

else if(i==3)
{
p3=new Point(v.x,v.y);
}

else 
{
System.out.print("Unexcept point"+i);
System.exit(i);
}
}
/*
 * getPoint():
 */
public Point getPoint(int i)
{
if(i==1)
{
return p1;
}

else if(i==2)
{
return p2;
}

else if(i==3)
{
return p3;
}
else
{
System.out.print("Unexcept point"+i);
System.exit(i);
return null;
}


}

/*
 * setColor
 */

public void setColor(Color c)
{
color=c;
}

/*
 * getColor():
 */
public Color getColor()
{
return color;
}

/*
 * Paint():
 */

public void paint(Graphics g)
{
Point v1=getPoint(1);
Point v2=getPoint(2);
Point v3=getPoint(3);
Color c=getColor();

g.setColor©;

Polygon t=new Polygon();

t.addPoint(v1.x, v1.y);
t.addPoint(v2.x, v2.y);
t.addPoint(v3.x, v3.y);

g.fillPolygon(t);

}

}

------------------------------------
/**
 * 
 */
package TestPrograms;

import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.lang.*;


/**
 * @author Administrator
 *
 */
public class TestColoredTriangle
{

/**
 * @param args
 */
public static void main(String[] args) throws NullPointerException
{
// TODO 自动生成方法存根

JFrame windows=new JFrame("Triangle");

ColoredTriangle r1=new ColoredTriangle();
ColoredTriangle r2=new ColoredTriangle();

Graphics g=windows.getGraphics();
windows.setSize(400,400);
windows.setVisible(true);
windows.getGraphics();

r1.paint(g);


}
}

程序在Eclipse3.2+jdK1.6.0下通过编译。


IP属地:云南1楼2008-06-05 11:36回复
    package TestPrograms; 

    import java.awt.*; 
     
    public class ColoredTriangle 

    private Point p1; 
    private Point p2; 
    private Point p3; 
    private Color color; 

    /* 
     * ColoredTriangle(): 
     */ 
    public ColoredTriangle() 

    Point a=new Point(1,1); 
    Point b=new Point(2,2); 
    Point c=new Point(3,3); 

    setPoint(1,a); 
    setPoint(2,b); 
    setPoint(3,c); 
    setColor(Color.red); 


    /* 
     * ColoredTringle() 
     */ 
    public ColoredTriangle(Point a,Point b,Point d,Color c) 

    setPoint(1,a); 
    setPoint(2,b); 
    setPoint(3,d); 
    setColor©; 

    /* 
     * setPoint(): 
     */ 
    public void setPoint(int i,Point v) 

    if (i==1) 

    p1=new Point(v.x,v.y); 


    else if(i==2) 

    p2=new Point(v.x,v.y); 


    else if(i==3) 

    p3=new Point(v.x,v.y); 


    else 

    System.out.print("Unexcept point"+i); 
    System.exit(i); 


    /* 
     * getPoint(): 
     */ 
    public Point getPoint(int i) 

    if(i==1) 

    return p1; 


    else if(i==2) 

    return p2; 


    else if(i==3) 

    return p3; 

    else 

    System.out.print("Unexcept point"+i); 
    System.exit(i); 
    return null; 





    /* 
     * setColor 
     */ 

    public void setColor(Color c) 

    color=c; 


    /* 
     * getColor(): 
     */ 
    public Color getColor() 

    return color; 


    /* 
     * Paint(): 
     */ 

    public void paint(Graphics g) 

    Point v1=getPoint(1); 
    Point v2=getPoint(2); 
    Point v3=getPoint(3); 
    Color c=getColor(); 

    g.setColor©; 

    Polygon t=new Polygon(); 

    t.addPoint(v1.x, v1.y); 
    t.addPoint(v2.x, v2.y); 
    t.addPoint(v3.x, v3.y); 

    g.fillPolygon(t); 





    /** 
     * 
     */ 


    ---------------------------------------------------

    package TestPrograms; 

    import javax.swing.*; 
    import java.awt.*; 


    /** 
     * @author Administrator 
     * 
     */ 
    public class TestColoredTriangle 


    /** 
     * @param args 
     */ 
    public static void main(String[] args) throws NullPointerException 

    // TODO 自动生成方法存根 

    JFrame windows=new JFrame("Triangle"); 

    ColoredTriangle r1=new ColoredTriangle(); 
    @SuppressWarnings("unused")
    ColoredTriangle r2=new ColoredTriangle(); 

    Graphics g=windows.getGraphics(); 
    windows.setSize(400,400); 
    windows.setVisible(true); 
    windows.getGraphics(); 

    r1.paint(g); 



    }


    2楼2008-06-05 19:17
    回复