如何制作GridFiller Applet?

时间:2016-01-28 02:59:03

标签: java applet

我必须在Java Applet中创建一个4x4网格,当你点击一个框时它应该创建一个圆圈。如果单击带圆圈的框,则应将其删除。

我的鼠标侦听器和范围出现问题。

如何在点击的框中切换创建或删除圆圈?

public class Grid extends Applet {

boolean swap;

public void init()
{
    swap = false;
    addMouseListener(new MyMouseListener());
}

public void paint(Graphics g)
{
    super.paint(g);

    g.drawRect(100, 100, 400, 400);
    //each box
    g.drawRect(100, 100, 100, 100);
    g.drawRect(200, 100, 100, 100);
    g.drawRect(300, 100, 100, 100);
    g.drawRect(400, 100, 100, 100);
    //2y
    g.drawRect(100, 200, 100, 100);
    g.drawRect(200, 200, 100, 100);
    g.drawRect(300, 200, 100, 100);
    g.drawRect(400, 200, 100, 100);
    //3y1x
    g.drawRect(100, 300, 100, 100);
    g.drawRect(200, 300, 100, 100);
    g.drawRect(300, 300, 100, 100);
    g.drawRect(400, 300, 100, 100);
    //4y1x
    g.drawRect(100, 400, 100, 100);
    g.drawRect(200, 400, 100, 100);
    g.drawRect(300, 400, 100, 100);
    g.drawRect(400, 400, 100, 100);

}
private class MyMouseListener implements MouseListener
{

    public void mouseClicked(MouseEvent e)
    {
         int nowx = e.getX();
         int nowy = e.getY();

         nowx = nowx / 100;
         String stringx = Integer.toString(nowx);
         stringx = stringx+"00";
         int currentx = Integer.parseInt(stringx);

         nowy = nowy /100;
         String stringy = Integer.toString(nowy);
         stringy = stringy+"00";
         int currenty = Integer.parseInt(stringy);

         FillCircle(null, currentx, currenty);           
    }

    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub          
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub          
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub          
    }

    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub          
    }       
}
public void FillCircle(Graphics g,int currenty, int currentx)
{
    g.fillOval(currentx, currenty, 100, 100);
}
}

0 个答案:

没有答案