2015-01-19 3 views
0

나는 카드 목록을 가지고 있으며 이미지 콘 (imageicon)이 있습니다. 갑판에 그림이 그려져 있고, mousePressed와 mouseDragged로 이동할 수 있습니다. 이제 카드를 앞에 가져 오려고합니다. 내가 그것을 클릭하면, 다른 카드 뒤에있는 카드를 클릭하면 모든 카드의 앞쪽으로 이동합니다. 어떻게해야합니까?java imageicon 앞으로 가져 오기

int x = e.getX(); // Save the x coord of the click 
int y = e.getY(); // Save the y coord of the click 

//... Find card image this is in. Check from top down. 
_currentCard = null; // Assume not in any image. 
for (int crd=_deck.length-1; crd>=0; crd--) { 
    Card testCard = _deck[crd]; 
    if (testCard.contains(x, y)) { 
     //... Found, remember this card for dragging. 
     _dragFromX = x - testCard.getX(); // how far from left 
     _dragFromY = x - testCard.getY(); // how far from top 
     _currentCard = testCard; // Remember what we're dragging. 

     break;  // Stop when we find the first match. 
    } 
} 
+0

배열의 순서를 조정하여 선택한 카드가 맨 위의 색인으로 이동되도록합니다. 그렇지 않으면 문제를 나타내는 [실행 가능한 예제] (https://stackoverflow.com/help/mcve)를 제공하십시오. 이것은 덜 혼란과 더 나은 응답을 초래할 것입니다 – MadProgrammer

답변

0

ArrayList를 사용하여 목록에서 선택한 카드를 제거하고 상단에 다시 추가 :

여기 내의 mousePressed 코드입니다. 그런 다음 목록 순서대로 카드를 칠하십시오.

+0

그것은 (내가 i = 0; 나는 <_deck.size(); 나는 ++) { Card _deck1 = _deck.get (i); if (_currentCard == _ deck1) { System.out.println ("예 않습니다"); _deck.remove (_deck1); _deck.add (_deck1); 휴식; } } –

+0

대단합니다. 내 솔루션을 최종 답변 및 업보트로 표시해야합니다. –

관련 문제