📄 nistmessengerapplet.java
字号:
awayJRadioButtonMenuItem = new JRadioButtonMenuItem("Away");
offlineJRadioButtonMenuItem = new JRadioButtonMenuItem("Be Right Back");
busyJRadioButtonMenuItem = new JRadioButtonMenuItem("Busy");
getContentPane().setLayout(null);
mainPanel.setLayout(null);
mainPanel.setMinimumSize(new java.awt.Dimension(310, 500));
mainPanel.setPreferredSize(new java.awt.Dimension(310, 500));
imageLabel.setMaximumSize(new java.awt.Dimension(400, 50));
imageLabel.setMinimumSize(new java.awt.Dimension(300, 50));
imageLabel.setPreferredSize(new java.awt.Dimension(400, 50));
mainPanel.add(imageLabel);
imageLabel.setBounds(11, 6, 290, 50);
addContactButton.setText("Add Contact");
addContactButton.setOpaque(false);
addContactButton
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
addContactButtonActionPerformed(evt);
}
});
mainPanel.add(addContactButton);
addContactButton.setBounds(10, 400, 120, 40);
removeContactButton.setText("Remove Contact");
removeContactButton.setEnabled(false);
removeContactButton
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
removeContactButtonActionPerformed(evt);
}
});
mainPanel.add(removeContactButton);
removeContactButton.setBounds(160, 400, 130, 40);
jLabel1.setText("Not Logged");
mainPanel.add(jLabel1);
jLabel1.setBounds(10, 70, 290, 20);
getContentPane().add(mainPanel);
mainPanel.setBounds(0, 0, 310, 500);
jMenu5.setText("Menu");
jMenuItemConfiguration.setText("Configuration");
jMenuItemConfiguration
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemConfigurationActionPerformed(evt);
}
});
jMenu5.add(jMenuItemConfiguration);
jMenuItemRegister.setText("Register");
jMenuItemRegister
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemRegisterActionPerformed(evt);
}
});
jMenu5.add(jMenuItemRegister);
jMenuItemUnregister.setText("Unregister");
jMenuItemUnregister
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemUnregisterActionPerformed(evt);
}
});
jMenu5.add(jMenuItemUnregister);
jMenuStatus.setText("Status");
onlineJRadioButtonMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
onlineActionPerformed(evt);
}
});
awayJRadioButtonMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
awayActionPerformed(evt);
}
});
offlineJRadioButtonMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
beRightBackActionPerformed(evt);
}
});
busyJRadioButtonMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
busyActionPerformed(evt);
}
});
statusGroup = new ButtonGroup();
onlineJRadioButtonMenuItem.setSelected(true);
statusGroup.add(onlineJRadioButtonMenuItem);
statusGroup.add(offlineJRadioButtonMenuItem);
statusGroup.add(busyJRadioButtonMenuItem);
statusGroup.add(awayJRadioButtonMenuItem);
jMenuStatus.add(awayJRadioButtonMenuItem);
jMenuStatus.add(onlineJRadioButtonMenuItem);
jMenuStatus.add(offlineJRadioButtonMenuItem);
jMenuStatus.add(busyJRadioButtonMenuItem);
jMenu5.add(jMenuStatus);
fileMenuBar1.add(jMenu5);
setJMenuBar(fileMenuBar1);
} //GEN-END:initComponents
private void jMenuItemUnregisterActionPerformed(
java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_jMenuItemUnregisterActionPerformed
// Add your handling code here:
if (sipMeetingManager
.getRegisterStatus()
.equalsIgnoreCase(RegisterStatus.NOT_REGISTERED)) {
JOptionPane.showMessageDialog(
this,
"You are currently not registered, please register to un-register",
"Already un-registered",
JOptionPane.ERROR_MESSAGE);
return;
}
unRegister();
controllerMeeting.undisplayAllContact();
removeContactButton.setEnabled(false);
} //GEN-LAST:event_jMenuItemUnregisterActionPerformed
private void jMenuItemRegisterActionPerformed(
java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_jMenuItemRegisterActionPerformed
// Add your handling code here:
if (sipMeetingManager
.getRegisterStatus()
.equalsIgnoreCase(RegisterStatus.REGISTERED)) {
JOptionPane.showMessageDialog(
this,
"You are already registered, please un-register before",
"Already registered",
JOptionPane.ERROR_MESSAGE);
return;
}
sipMeetingManager.unRegisterAndReRegister();
controllerMeeting.displayAllContact();
removeContactButton.setEnabled(true);
} //GEN-LAST:event_jMenuItemRegisterActionPerformed
private void jMenuItemConfigurationActionPerformed(
java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_jMenuItemConfigurationActionPerformed
// Add your handling code here:
new ConfigurationFrame(sipMeetingManager).show();
} //GEN-LAST:event_jMenuItemConfigurationActionPerformed
private void onlineActionPerformed(
java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_jMenuItemRegisterActionPerformed
// Add your handling code here:
jLabel1.setText("Logged as : " + configuration.userURI + " - Online");
sipMeetingManager.getPresentityManager().sendNotifyToAllSubscribers(
"open",
"online");
} //GEN-LAST:event_jMenuItemRegisterActionPerformed
private void busyActionPerformed(
java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_jMenuItemRegisterActionPerformed
// Add your handling code here:
jLabel1.setText("Logged as : " + configuration.userURI + " - Busy");
sipMeetingManager.getPresentityManager().sendNotifyToAllSubscribers(
"inuse",
"busy");
} //GEN-LAST:event_jMenuItemRegisterActionPerformed
private void awayActionPerformed(
java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_jMenuItemRegisterActionPerformed
// Add your handling code here:
jLabel1.setText("Logged as : " + configuration.userURI + " - Away");
sipMeetingManager.getPresentityManager().sendNotifyToAllSubscribers(
"inactive",
"away");
} //GEN-LAST:event_jMenuItemRegisterActionPerformed
private void beRightBackActionPerformed(
java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_jMenuItemRegisterActionPerformed
// Add your handling code here:
jLabel1.setText(
"Logged as : " + configuration.userURI + " - Be Right Back");
sipMeetingManager.getPresentityManager().sendNotifyToAllSubscribers(
"inactive",
"berightback");
} //GEN-LAST:event_jMenuItemRegisterActionPerformed
private void removeContactButtonActionPerformed(
java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_removeContactButtonActionPerformed
controllerMeeting.removeContact();
} //GEN-LAST:event_removeContactButtonActionPerformed
private void addContactButtonActionPerformed(
java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_addContactButtonActionPerformed
// Add your handling code here:
if (!sipMeetingManager
.getRegisterStatus()
.equalsIgnoreCase(RegisterStatus.REGISTERED)) {
JOptionPane.showMessageDialog(
this,
"You must be registered to add a new contact",
"Contact Error",
JOptionPane.ERROR_MESSAGE);
return;
}
String contactAddress =
(String) JOptionPane.showInputDialog(
this,
"Enter the contact address to add:\n",
"Add Contact",
JOptionPane.PLAIN_MESSAGE,
null,
null,
null);
if (contactAddress != null) {
if (contactAddress.indexOf("@") != -1) {
Subscriber subscriber = new Subscriber(contactAddress);
sipMeetingManager.getPresentityManager().addSubscriber(
subscriber);
sipMeetingManager.sendSubscribe(contactAddress);
controllerMeeting.addContact(contactAddress);
} else {
JOptionPane.showMessageDialog(
this,
"The contact must be of the form user@domain"
+ ", the contact has not been added",
"Contact Error",
JOptionPane.ERROR_MESSAGE);
}
}
} //GEN-LAST:event_addContactButtonActionPerformed
/**
* Get the contact list from this frame
* @return the contact list from this frame
*/
public JList getContactList() {
return jList1;
}
/**
* Get the view component representing the logged status label
* @return the logged status label
*/
public JLabel getLoggedStatusLabel() {
return jLabel1;
}
/**
* Get the contact list from this frame
* @return the contact list from this frame
*/
public JButton getRemoveContactButton() {
return removeContactButton;
}
public boolean useResponder() {
return useResponder;
}
/**
*
*/
public boolean checkForJMF() {
Class clz;
//Check for basic JMF class.
try {
Class.forName("javax.media.Player");
} catch (Throwable throwable2) {
return false;
}
return true;
}
/**
* Return the cookie with the contacts
* @return the string representing the contacts
*/
/*public String getCookieContacts(){
if(document!=null){
return (String)document.getMember("cookie");
}
else
return null;
}*/
/**
* Store the contacts into a cookie
*/
/*public void storeContactsInCookie(){
Vector contacts=sipMeetingManager.getContactList();
String cookieContacts="";
for(int i=0;i<contacts.size();i++){
cookieContacts+="contact"+i+"="+(String)contacts.get(i)+";";
}
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1); // Setting the calendar to one year ahead
String cookie=cookieContacts+" expires="+calendar.getTime().toString();
System.out.println("Setting the cookie for the contacts: "+cookie);
//document.removeMember("cookie");
document.setMember( "cookie" , cookie);
} */
/**
* Parse the cookie String into a List of contacts
* @param cookieContact - the cookie string containing the contacts
* @return list of contacts
*/
public Vector parseCookieContacts(String cookieContact) {
if (cookieContact == null || cookieContact.length() < 1) {
return null;
} else {
Vector contacts = new Vector();
StringTokenizer st = new StringTokenizer(cookieContact, ";");
while (st.hasMoreTokens()) {
String contact = st.nextToken();
if (contact.indexOf("contact") != -1) {
if (contact.indexOf("=") != -1) {
contact = contact.substring(contact.indexOf("=") + 1);
System.out.println(
"Contact found in the cookie= " + contact);
contacts.addElement(contact);
}
}
}
return contacts;
}
}
/** Show a message in a dialog box and die.
*/
public void fatalError(String errorText) {
JOptionPane.showMessageDialog(this, errorText);
this.destroy();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -