Как мне остановить, чтобы моя иконка вернулась в исходное местоположение? - PullRequest
0 голосов
/ 12 июня 2019

Когда я перемещаю свою иконку, затем меняю ее, моя иконка возвращается в исходное положение.

Я проверил весь свой код, и в нем нет строки, сообщающей ему об этом (это метод, который я создал, чтобы заставить мой значок перемещаться, где x - это код клавиши в событии нажатия клавиши).

    String shipcheck = "ship.jpg";
    String shipleftcheck = "shipleft.jpg";
    String shipupcheck = "shipup.jpg";
    String shipdowncheck = "shipdown.jpg";
    String shiptopleftcheck = "shiptopleft.jpg";
    String shiptoprightcheck = "shiptopright.jpg";
    String shipbottemleftcheck = "shipbottemleft.jpg";
    String shipbottemrightcheck = "shipbottemright.jpg";
     Icon currenticon = jLabel7.getIcon();
    if (currenticon.toString().contentEquals(shipbottemrightcheck)){
        if (x.equals(38)){ 
    jLabel7.setLocation(jLabel7.getX()+3, jLabel7.getY()+3);    
        }    
    }
    if (currenticon.toString().contentEquals(shipcheck)){
        if (x.equals(38)){ 
    jLabel7.setLocation(jLabel7.getX()+3, jLabel7.getY());    
        }    
    }
    if (currenticon.toString().contentEquals(shipbottemleftcheck)){
        if (x.equals(38)){ 
    jLabel7.setLocation(jLabel7.getX()-3, jLabel7.getY()+3);    
        }    
    }
    if (currenticon.toString().contentEquals(shiptoprightcheck)){
        if (x.equals(38)){ 
    jLabel7.setLocation(jLabel7.getX()+3, jLabel7.getY()-3);    
        }    
    }
    if (currenticon.toString().contentEquals(shiptopleftcheck)){
        if (x.equals(38)){ 
    jLabel7.setLocation(jLabel7.getX()-3, jLabel7.getY()-3);    
        }    
    }
    if (currenticon.toString().contentEquals(shipupcheck)){
        if (x.equals(38)){ 
    jLabel7.setLocation(jLabel7.getX(), jLabel7.getY()-3);    
        }    
    }
    if (currenticon.toString().contentEquals(shipdowncheck)){
        if (x.equals(38)){ 
    jLabel7.setLocation(jLabel7.getX()+3, jLabel7.getY()+3);    
        }    
    }
    if (currenticon.toString().contentEquals(shipleftcheck)){
        if (x.equals(38)){ 
    jLabel7.setLocation(jLabel7.getX()-3, jLabel7.getY());    
        }    
    }
    shipcheck = "ship.jpg";
 }

Моя иконка должна перемещать изменения и продолжать двигаться, но когда она меняется, она просто возвращается назад. Я в основном думаю, что это проблема с автоматическим форматированием netbeans с фиксированным расстоянием до краев jpanel, и я не знаю, как это изменить.

...