📄 userpanel.java
字号:
}
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 + -