单击鼠标一次,就出现一个新JComponent,同时老的还在,请教以下代码怎么不对?
CFree 2002-05-04 08:31:17 import java.awt.*;
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class AddJComponent extends JApplet
{
JP jpObj=new JP();
StepNode sn=new StepNode();
ArrayList CollectionObj=new ArrayList();
StepNode temp1Obj=new StepNode();
int sx,sy,ex,ey;
boolean isDraw;
public void init()
{
getContentPane().add(jpObj);
isDraw=false;
}
class JP extends JPanel
{
JP()
{
this.setSize(new Dimension(800,600));
addMouseListener(new PanelMouseProcess());
}
public void addsn(int x,int y)
{
temp1Obj.posX=sx;
temp1Obj.posY=sy;
CollectionObj.add(temp1Obj);
for (int i=0;i<CollectionObj.size();i++)/**/
{
StepNode temp2Obj=(StepNode)CollectionObj.get(i);
add(temp2Obj);
temp2Obj.setLocation(temp2Obj.posX,temp2Obj.posY);
}
isDraw=true;
repaint();
}
class PanelMouseProcess extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
sx=e.getX();
sy=e.getY();
addsn(e.getX(),e.getY());
}
}
}
class StepNode extends JComponent
{
int posX,posY;
public StepNode()
{
setSize(new Dimension(40,20));
setBorder(BorderFactory.createRaisedBevelBorder());
}
}
}
请帮忙调试一下,谢谢!