diff --git a/forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuConstructed.java b/forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuConstructed.java index a614052d753..835e7ee8dd6 100644 --- a/forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuConstructed.java +++ b/forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuConstructed.java @@ -282,7 +282,7 @@ public enum VSubmenuConstructed implements IVSubmenu { addPlayerBtn.setEnabled(activePlayersNum < 7); activePlayersNum++; - avatarList.get(playerPanelList.indexOf(player)).grabFocus(); + avatarList.get(playerPanelList.indexOf(player)).requestFocusInWindow(); refreshPanels(true, false); } } @@ -293,7 +293,23 @@ public enum VSubmenuConstructed implements IVSubmenu { player.setVisible(false); inactivePlayerPanelList.add(player); activePlayerPanelList.remove(player); + addPlayerBtn.setEnabled(true); + //find closest player still in game and give focus + int min = 8; + int closest = 2; + + for (int participantIndex : getParticipants()) { + final int diff = Math.abs(playerIndex - participantIndex); + + if (diff < min) { + min = diff; + closest = participantIndex; + } + } + + changePlayerFocus(closest); + avatarList.get(closest).requestFocusInWindow(); refreshPanels(true, false); } @@ -339,7 +355,6 @@ public enum VSubmenuConstructed implements IVSubmenu { } protected void onDeckClicked(int iPlayer, DeckType type, List selectedLines) { - // TODO Auto-generated method stub String text = type.toString() + ": " + Lang.joinHomogenous(selectedLines); deckSelectorBtns.get(iPlayer).setText(text); }