예제 #1
0
        @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);
        }
예제 #2
0
        @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);
          }
        }
예제 #3
0
  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);
    }
  }
예제 #4
0
 @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);
   }
 }