⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userpanel.java

📁 打包
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      }
      else {
        ((PortraitCanvas)avatarCanvas.elementAt(i)).setImage(chatApplet.getUserAvatar(userParam.getId(), i - 1));
        ((TextField)avatarURLField.elementAt(i)).setText(userParam.getAvatarURL(i - 1));
        ((TextField)avatarKeywordsField.elementAt(i)).setText(userParam.getMoodKeywords(i - 1));
        ((TextField)moodNameField.elementAt(i)).setText(userParam.getMoodName(i - 1));
        ((TextField)moodTimeoutField.elementAt(i)).setText(new Integer(userParam.getMoodTimeout(i - 1)).toString());
      }
      toggleAvatarPanel(i);
    }
    currentPortraitCanvas.setFrameColor(userParam.getColor());
  }


/**
 * Removes the last (right-most) Panel which holds a User avatar.
 */

  public void removeLastAvatarPanel() {
    removeAvatarPanel(getNrOfAvatarPanels() - 1);
  }


/**
 * Removes a certain Panel which holds a User avatar. The first, predefined avatars
 * can not be removed.
 *
 * @param panelIndex      the index of the Panel to be removed
 */

  public void removeAvatarPanel(int panelIndex) {

    if (panelIndex > ChatRepository.PREDEFINED_NR_OF_MOODS && panelIndex < getNrOfAvatarPanels()) {
      avatarPanelLevel2.remove(((InsetsPanel)singleAvatarPanel.elementAt(panelIndex)));

      avatarCanvas.removeElementAt(panelIndex);
      singleAvatarPanel.removeElementAt(panelIndex);
      iconCanvas.removeElementAt(panelIndex);
      avatarGroup.removeElementAt(panelIndex);
      webAvatarCheck.removeElementAt(panelIndex);
      avatarURLField.removeElementAt(panelIndex);
      serverAvatarChoice.removeElementAt(panelIndex);
      avatarKeywordsField.removeElementAt(panelIndex);
      moodNameField.removeElementAt(panelIndex);
      moodTimeoutField.removeElementAt(panelIndex);

      avatarPanelLevel2.setLayout(new GridLayout(1, singleAvatarPanel.size()));
      if (System.getProperty("java.vendor").indexOf("Netscape") != -1) {
        avatarPanelLevel2.validate();
        avatarScrollPane.validate();
      }

      if (avatarCanvas.size() > ChatRepository.PREDEFINED_NR_OF_MOODS)
        avatarPanelLevel2.setSize(avatarPanelLevel2.getSize().width * (singleAvatarPanel.size() - 1) / singleAvatarPanel.size(), avatarPanelLevel2.getSize().height);
    }
  }


/**
 * Returns the number of Panels holding User avatars.
 */

  public int getNrOfAvatarPanels() {
    return avatarCanvas.size();
  }


/**
 * Removes all but the predefined Panels holding avatars.
 */

  public void removeAllAvatarPanels() {
    while (getNrOfAvatarPanels() > 0)
      removeLastAvatarPanel();
  }


/**
 * Adds a Panel for displaying a User avatar.
 */

  public void addAvatarPanel() {

    Label label1, label2, label3;

    avatarCanvas.addElement(new PortraitCanvas());
    ((Canvas)avatarCanvas.lastElement()).setSize((int)(ChatRepository.PORTRAIT_DIMENSION.width * PORTRAIT_SCALE / 2), (int)(ChatRepository.PORTRAIT_DIMENSION.height * PORTRAIT_SCALE / 2));

    singleAvatarPanel.addElement(new FocusPanel(ChatRepository.INSETS));
    ((InsetsPanel)singleAvatarPanel.lastElement()).setLayout(new GridBagLayout());

    iconCanvas.addElement(new PortraitCanvas());
    ((PortraitCanvas)iconCanvas.lastElement()).setSize(ChatRepository.ICON_DIMENSION);
    ((PortraitCanvas)iconCanvas.lastElement()).setImage(iconCanvas.size() == 1 ? chatApplet.getEmptyIcon() : (iconCanvas.size() <= (ChatRepository.PREDEFINED_NR_OF_MOODS + 1) ? chatApplet.getMoodIcon(iconCanvas.size() - 2) : chatApplet.getUnknownIcon()));

    avatarGroup.addElement(new CheckboxGroup());
    webAvatarCheck.addElement(new Checkbox("URL:", ((CheckboxGroup)avatarGroup.lastElement()), true));
    avatarURLField.addElement(new TextField(15));
    serverAvatarCheck.addElement(new Checkbox("Predefined:", ((CheckboxGroup)avatarGroup.lastElement()), true));
    serverAvatarChoice.addElement(new Choice());
    avatarKeywordsField.addElement(new TextField(15));
    moodNameField.addElement(new TextField(10));
    moodTimeoutField.addElement(new TextField(3));

    ChatUtil.addWithRemainingConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), ((PortraitCanvas)iconCanvas.lastElement()), ChatRepository.SMALL_INSETS);
    ChatUtil.addWithRemainingConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), ((Canvas)avatarCanvas.lastElement()), ChatRepository.SMALL_INSETS);

    ChatUtil.addWithBeginningConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), label1 = new Label("Name:", Label.RIGHT), ChatRepository.SMALL_INSETS);
    ChatUtil.addWithRemainingConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), ((TextField)moodNameField.lastElement()), ChatRepository.SMALL_INSETS);

    ChatUtil.addWithBeginningConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), ((Checkbox)webAvatarCheck.lastElement()), ChatRepository.SMALL_INSETS);
    ChatUtil.addWithRemainingConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), ((TextField)avatarURLField.lastElement()), ChatRepository.SMALL_INSETS);

    ChatUtil.addWithBeginningConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), ((Checkbox)serverAvatarCheck.lastElement()), ChatRepository.SMALL_INSETS);
    ChatUtil.addWithRemainingConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), ((Choice)serverAvatarChoice.lastElement()), ChatRepository.SMALL_INSETS);

    label2 = new Label("Keywords:", Label.RIGHT);
    label3 = new Label("Timeout (Seconds):", Label.RIGHT);

    if (chatApplet.getBooleanParam("ExtendedAvatarConfigVisibility", true)) {
      ChatUtil.addWithBeginningConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), label2, ChatRepository.SMALL_INSETS);
      ChatUtil.addWithRemainingConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), ((TextField)avatarKeywordsField.lastElement()), ChatRepository.SMALL_INSETS);

      ChatUtil.addWithBeginningConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), label3, ChatRepository.SMALL_INSETS);
      ChatUtil.addWithRemainingConstraints(((InsetsPanel)singleAvatarPanel.lastElement()), ((TextField)moodTimeoutField.lastElement()), ChatRepository.SMALL_INSETS);
    }
    for (int j = 0; j < ChatApplet.SERVER_POTRAIT_NAME.length && getNrOfAvatarPanels() <= ChatRepository.PREDEFINED_NR_OF_MOODS + 1; j++)
      ((Choice)serverAvatarChoice.lastElement()).add(ChatApplet.SERVER_POTRAIT_NAME[j]);

    avatarPanelLevel2.setLayout(new GridLayout(1, singleAvatarPanel.size()));
    avatarPanelLevel2.add(((InsetsPanel)singleAvatarPanel.lastElement()));
    avatarPanelLevel2.validate();
    avatarScrollPane.validate();

    if (avatarCanvas.size() == 1) {
      label1.setEnabled(false);
      label2.setEnabled(false);
      label3.setEnabled(false);
      ((TextField)moodNameField.lastElement()).setEditable(false);
      ((TextField)moodNameField.lastElement()).setText("Background");
      ((TextField)avatarKeywordsField.lastElement()).setEditable(false);
      ((TextField)moodTimeoutField.lastElement()).setEditable(false);
    }
    else if (avatarCanvas.size() > ChatRepository.PREDEFINED_NR_OF_MOODS) {
      avatarPanelLevel2.setSize(avatarPanelLevel2.getSize().width * singleAvatarPanel.size() / (singleAvatarPanel.size() - 1), avatarPanelLevel2.getSize().height);
    }

    toggleLastAvatarPanel();
  }


/**
 * Toggles the last (right-most) a certain Panel Panel holding a User avatar depending on if the ChatClient is
 * connected to a ChatServer and on user input.
 */

  public void toggleLastAvatarPanel() {
    toggleAvatarPanel(getNrOfAvatarPanels() - 1);
  }


/**
 * Toggles a certain Panel holding a User avatar depending on if the ChatClient is
 * connected to a ChatServer and on user input.
 *
 * @param panelIndex      the index of the Panel to be toggled
 */

  public void toggleAvatarPanel(int panelIndex) {
    ((Checkbox)webAvatarCheck.elementAt(panelIndex)).setEnabled(chatApplet.isConnected());
    ((Checkbox)serverAvatarCheck.elementAt(panelIndex)).setEnabled(((Choice)serverAvatarChoice.elementAt(panelIndex)).getItemCount() > 0);
    ((Checkbox)webAvatarCheck.elementAt(panelIndex)).setState(((Checkbox)webAvatarCheck.elementAt(panelIndex)).isEnabled());
    ((Choice)serverAvatarChoice.elementAt(panelIndex)).setEnabled(!((Checkbox)webAvatarCheck.elementAt(panelIndex)).getState());
    ((TextField)avatarURLField.elementAt(panelIndex)).setEditable(((Checkbox)webAvatarCheck.elementAt(panelIndex)).getState());
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -