@Override public final void onLeftClick(final MouseEvent e) { if (!avatarLabel.isEnabled()) { return; } final FLabel avatar = (FLabel) e.getSource(); lobby.changePlayerFocus(index); avatar.requestFocusInWindow(); final AvatarSelector aSel = new AvatarSelector(playerName, avatarIndex, lobby.getUsedAvatars()); for (final FLabel lbl : aSel.getSelectables()) { lbl.setCommand( new UiCommand() { @Override public void run() { setAvatarIndex(Integer.valueOf(lbl.getName().substring(11))); aSel.setVisible(false); } }); } aSel.setVisible(true); aSel.dispose(); if (index < 2) { lobby.updateAvatarPrefs(); } lobby.firePlayerChangeListener(index); }
@SuppressWarnings("unchecked") @Override public final void actionPerformed(final ActionEvent e) { final FComboBox<Object> cb = (FComboBox<Object>) e.getSource(); cb.requestFocusInWindow(); final Object selection = cb.getSelectedItem(); if (null != selection) { lobby.changePlayerFocus(index); lobby.firePlayerChangeListener(index); } }
private void setRandomAvatar(final boolean fireListeners) { int random = 0; final List<Integer> usedAvatars = lobby.getUsedAvatars(); do { random = MyRandom.getRandom().nextInt(FSkin.getAvatars().size()); } while (usedAvatars.contains(random)); setAvatarIndex(random); if (fireListeners) { lobby.firePlayerChangeListener(index); } }
@Override public void focusLost(final FocusEvent e) { final Object source = e.getSource(); if (source instanceof FTextField) { // the text box final FTextField nField = (FTextField) source; final String newName = nField.getText().trim(); if (index == 0 && !StringUtils.isBlank(newName) && StringUtils.isAlphanumericSpace(newName) && prefs.getPref(FPref.PLAYER_NAME) != newName) { prefs.setPref(FPref.PLAYER_NAME, newName); prefs.save(); } lobby.firePlayerChangeListener(index); } }