2015-01-19 4 views
0

У меня есть список карточек, и у них есть изображение, у меня есть все мои карты, написанные на палубе, и я могу перемещать их с помощью мыши. Нажав и нажав на мышку, теперь я хочу принести карту спереди, я нажимаю на нее, карту, которая стоит за другими картами, когда я нажимаю ее, перемещается к передней части всех карт. Как мне это сделать?java imageicon вывести на передний план

вот мой mousepressed код:

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

Resequence массив, чтобы выбранная карта была перенесена в верхний индекс. В противном случае рассмотрите возможность предоставления [runnable example] (https://stackoverflow.com/help/mcve), который демонстрирует вашу проблему. Это приведет к меньшему путанице и лучшим ответам. – MadProgrammer

ответ

0

Используйте ArrayList и удалить выбранную карту из списка и добавить его в верхней части. Затем покрасьте карты в порядке списка.

+0

это работало thks, я использовал for (int i = 0; i <_deck.size(); i ++) { Card _deck1 = _deck.get (i); if (_currentCard == _ deck1) { System.out.println ("yes it does"); _deck.remove (_deck1); _deck.add (_deck1); break; } } –

+0

Добро пожаловать. Обязательно отметьте мое решение в качестве окончательного ответа и подтверждения. –

Смежные вопросы