Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中清除整个数组?_Java_Arrays - Fatal编程技术网

如何在java中清除整个数组?

如何在java中清除整个数组?,java,arrays,Java,Arrays,我需要做一个“清除”按钮来删除屏幕上和阵列中的所有图像。我目前正在使用EZ.removallezelements(),但这会清除所有内容。甚至标签调色板和背景(画布)。如何从阵列和画布中删除所有放置的图片 这是我的密码 sticker [] arraysticker = new sticker [80]; int image = 0; int flag = 0; else if (backgroundPicture.isPointInElement(clickX, clickY) &&a

我需要做一个“清除”按钮来删除屏幕上和阵列中的所有图像。我目前正在使用
EZ.removallezelements(),但这会清除所有内容。甚至标签调色板和背景(画布)。如何从阵列和画布中删除所有放置的图片

这是我的密码

sticker [] arraysticker = new sticker [80];
int image = 0;
int flag = 0;
else if (backgroundPicture.isPointInElement(clickX, clickY) && !savePicture.isPointInElement(clickX, clickY) 
        && !loadPicture.isPointInElement(clickX, clickY) && !clearPicture.isPointInElement(clickX, clickY) 
        && !rectanglePicture.isPointInElement(clickX, clickY)){
    if (flag == 1){ //if hatSoundPlay is true
        sticker sticker1 = new sticker();//creates a new sticker1
        sticker1.sticker11("hat.png", clickX, clickY);//places sticker
        arraysticker[image] = sticker1;//puts sticker 1 into the array
        image ++;//increments image by 1
        hatsound.play(); //and a hatsound will play
然后用
重复3次,如果(flag==2){
然后是3然后是4。每个标志都是一个新标签

这是我的清晰代码

else if (clearPicture.isPointInElement(clickX, clickY)){
    EZ.removeAllEZElements();
    //make a clear array
    EZ.addImage("background.png", EZ.getWindowWidth() / 2, EZ.getWindowHeight() / 2);
    EZ.addImage("rectangle.png", EZ.getWindowWidth() / 2, EZ.getWindowHeight () / 7);
    EZ.addImage("hat.png",1* EZ.getWindowWidth() / 10, EZ.getWindowHeight () / 6);
    EZ.addImage("blunt.png",1* EZ.getWindowWidth() / 3, EZ.getWindowHeight () / 6);
    EZ.addImage("dealwithit.png",3* EZ.getWindowWidth() / 5, EZ.getWindowHeight () / 6);
    EZ.addImage("weed.png",10* EZ.getWindowWidth() / 11, EZ.getWindowHeight () / 6);
    EZ.addImage("save.png", 19* EZ.getWindowWidth() / 20, 3* EZ.getWindowHeight () / 9);
    EZ.addImage("load.png", 19* EZ.getWindowWidth() / 20, 4* EZ.getWindowHeight () / 9);
    EZ.addImage("clear.png", 19* EZ.getWindowWidth() / 20, 5* EZ.getWindowHeight () / 9);
}
我正在清除所有图像并替换原始图像。问题是,带有坐标的图像仍然存储在数组中。清除需要同时清除画布和数组

这是我的全部代码。只删除EZ.addImage和EZ.addSound代码

public class main {
public static void main(String[] args) throws IOException {
    EZ.initialize(1644,1022);//sets page size
    sticker [] arraysticker = new sticker [80];//creates an array to hold 20 sticker
    int image = 0;//declares an integer variable named image
    int flag = 0;//declares in integer variable named flag and set it to 0

    while (true){//while it is true
        if (EZInteraction.wasMouseLeftButtonReleased()){//if left button is released
        int clickX = EZInteraction.getXMouse(); //get x coordinates
        int clickY = EZInteraction.getYMouse();//get y coordinates

            if (hatPicture.isPointInElement(clickX, clickY) && rectanglePicture.isPointInElement(clickX, clickY)){//if hat is in the x and y coordinates
                    hatsound.play(); //hatsound will play
                    flag = 1;   //set flag to 1 
            }else if(bluntPicture.isPointInElement(clickX, clickY) && rectanglePicture.isPointInElement(clickX, clickY)){//if blunt is in the x and y coordinates
                    bluntsound.play(); //then bluntsound will play
                    flag = 2;//set flag to 2
            }else if(dealwithitPicture.isPointInElement(clickX, clickY) && rectanglePicture.isPointInElement(clickX, clickY)){//if dealwithit is in the x and y coordinates
                    dealwithitsound.play(); //then dealwithitsound will pay
                    flag = 3;//set flag to 3    
            }else if(weedPicture.isPointInElement(clickX, clickY) && rectanglePicture.isPointInElement(clickX, clickY)){//if weed is in the x and y coordinates
                    weedsound.play(); //then weedsound will play
                    flag = 4;//set flag to 4
            }

            else if (backgroundPicture.isPointInElement(clickX, clickY) && !savePicture.isPointInElement(clickX, clickY) 
                    && !loadPicture.isPointInElement(clickX, clickY) && !clearPicture.isPointInElement(clickX, clickY) 
                    && !rectanglePicture.isPointInElement(clickX, clickY)){
                if (flag == 1){ //if hatSoundPlay is true
                    sticker sticker1 = new sticker();//creates a new sticker1
                    sticker1.sticker11("hat.png", clickX, clickY);//places sticker
                    arraysticker[image] = sticker1;//puts sticker 1 into the array
                    image ++;//increments image by 1
                    hatsound.play(); //and a hatsound will play
                }else if (flag == 2){ //else if bluntSound is true
                    sticker sticker2 = new sticker();//creates new sticker2
                    sticker2.sticker11("blunt.png", clickX, clickY);//places sticker
                    arraysticker[image] = sticker2;//puts sticker 2 into the array
                    image ++;//increments image by 1
                    bluntsound.play(); //and blunt sound will play                      
                }else if (flag == 3){ //if dealwithitsound is true
                    sticker sticker3 = new sticker();//creates new sticker3
                    sticker3.sticker11("dealwithit.png", clickX, clickY);//places sticker
                    arraysticker[image] = sticker3;//puts sticker 3 into the array
                    image ++;//increments image by 1
                    dealwithitsound.play(); //dealwithitsound will play
                }else if (flag == 4){ //if weedsound is true
                    sticker sticker4 = new sticker();//create new sticker4
                    sticker4.sticker11("weed.png", clickX, clickY);//places sticker
                    arraysticker[image] = sticker4;//puts sticker 4 into the array
                    image ++;//increments image by 1
                    weedsound.play(); //weedsound will also play
                }
            }

            else if (savePicture.isPointInElement(clickX, clickY)){ 
                //clear array
                FileWriter fw = new FileWriter("save.txt");//creates new file writer that writes to save.txt
                for (int i = 0; i < image; i++){//requirements
                    fw.write(arraysticker[i].imagename + " " + arraysticker[i].x + " " + arraysticker[i].y + "\n"); //if requirements are met write
                }
                fw.close();//close writer
            System.out.println("saved");//print out saved to check to see if saved
            }
            else if (loadPicture.isPointInElement(clickX, clickY)){
                Scanner sc = new Scanner (new File ("save.txt"));//creates a new scanner that reads from save.txt
                EZ.removeAllEZElements();//removes all elements 
                //clear array
                EZ.addImage("background.png", EZ.getWindowWidth() / 2, EZ.getWindowHeight() / 2);
                EZ.addImage("rectangle.png", EZ.getWindowWidth() / 2, EZ.getWindowHeight () / 7);
                EZ.addImage("hat.png",1* EZ.getWindowWidth() / 10, EZ.getWindowHeight () / 6);
                EZ.addImage("blunt.png",1* EZ.getWindowWidth() / 3, EZ.getWindowHeight () / 6);
                EZ.addImage("dealwithit.png",3* EZ.getWindowWidth() / 5, EZ.getWindowHeight () / 6);
                EZ.addImage("weed.png",10* EZ.getWindowWidth() / 11, EZ.getWindowHeight () / 6);
                EZ.addImage("save.png", 19* EZ.getWindowWidth() / 20, 3* EZ.getWindowHeight () / 9);
                EZ.addImage("load.png", 19* EZ.getWindowWidth() / 20, 4* EZ.getWindowHeight () / 9);
                EZ.addImage("clear.png", 19* EZ.getWindowWidth() / 20, 5* EZ.getWindowHeight () / 9);
                while (sc.hasNext()){
                    String word = sc.next();//reads next word
                    int x = sc.nextInt();//reads next integer
                    int y = sc.nextInt();//reads next integer
                    switch (word){//switch commang
                    case "hat.png"://if starting word is hat.png
                        EZ.addImage("hat.png", x, y);
                        break;//breaks out of switch statement
                    case "blunt.png"://if starting word is blunt.png
                        EZ.addImage("blunt.png", x, y);
                        break;//breaks out of switch statement
                    case "dealwithit.png"://if starting word is dealwithit.png
                        EZ.addImage("dealwithit.png", x, y);
                        break;//breaks out of switch statement
                    case "weed.png"://if starting word is weed.png
                        EZ.addImage("weed.png", x, y);
                        break;//breaks out of switch statement
                    }
                }
                System.out.println("loaded");//for checking
            }
            else if (clearPicture.isPointInElement(clickX, clickY)){
                EZ.removeAllEZElements();
                //make a clear array
                EZ.addImage("background.png", EZ.getWindowWidth() / 2, EZ.getWindowHeight() / 2);
                EZ.addImage("rectangle.png", EZ.getWindowWidth() / 2, EZ.getWindowHeight () / 7);
                EZ.addImage("hat.png",1* EZ.getWindowWidth() / 10, EZ.getWindowHeight () / 6);
                EZ.addImage("blunt.png",1* EZ.getWindowWidth() / 3, EZ.getWindowHeight () / 6);
                EZ.addImage("dealwithit.png",3* EZ.getWindowWidth() / 5, EZ.getWindowHeight () / 6);
                EZ.addImage("weed.png",10* EZ.getWindowWidth() / 11, EZ.getWindowHeight () / 6);
                EZ.addImage("save.png", 19* EZ.getWindowWidth() / 20, 3* EZ.getWindowHeight () / 9);
                EZ.addImage("load.png", 19* EZ.getWindowWidth() / 20, 4* EZ.getWindowHeight () / 9);
                EZ.addImage("clear.png", 19* EZ.getWindowWidth() / 20, 5* EZ.getWindowHeight () / 9);
            }
            /*
            else if (hatPicture.isPointInElement(clickX, clickY) && !rectanglePicture.isPointInElement(clickX, clickY)){
                //EZImage 
            }
            else if (bluntPicture.isPointInElement(clickX, clickY) && !rectanglePicture.isPointInElement(clickX, clickY)){
                //translate
            }
            else if (dealwithitPicture.isPointInElement(clickX, clickY) && !rectanglePicture.isPointInElement(clickX, clickY)){
                //translate
            }
            else if (weedPicture.isPointInElement(clickX, clickY) && !rectanglePicture.isPointInElement(clickX, clickY)){
                //translate
            }
        }
        =============================RIGHT CLICK DELETE=============================
        if (EZInteraction.wasMouseRightButtonReleased()){
            int clickX = EZInteraction.getXMouse();
            int clickY = EZInteraction.getYMouse();
            if (hatPicture.isPointInElement(clickX, clickY)){

            }
        }*/
        }
        EZ.refreshScreen();         
    }
}

什么是
EZ
?考虑对这些图像使用专用
JPanel
,然后从
EZ
中删除面板,而不是分别删除每张图片。什么是
EZ
?考虑对这些图像使用专用
JPanel
,然后从
EZ
中删除面板,而不是每张图片分别地
public class sticker {
public String name;
public int x, y;
public EZImage image;
public String imagename;

public sticker(){
    x = 0;
    y = 0;
    name = null;
    image = null;
}
    void sticker11(String name, int X, int Y){
        image = EZ.addImage(name, X, Y);
        x = X;
        y = Y;
        imagename = name;
    }
}