}
private void warnMenuItemActionPerformed(ActionEvent evt) //警告事件 {
Object obj=evt.getSource(); try {
if(obj==warnMenuItem) {
BlackList=JOptionPane.showInputDialog(null,\请输入将警告的用户名:\系统消息\ }
User toUserMessage=new User();
toUserMessage.Message=\警告:请用文明用语!否则你将被强制退出!\\n\ toUserMessage.Command=\ ObjectOutputStream
streamToUser=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(Server.vectorUserList.indexOf(BlackList));
streamToUser.writeObject((User)toUserMessage); streamToUser.flush(); BlackList=\ }
catch(IOException e){} }
private void kickMenuItemActionPerformed(ActionEvent evt) //踢人事件 {
Object obj=evt.getSource(); try {
if(obj==kickMenuItem) {
BlackList=JOptionPane.showInputDialog(null,\请输入将强制退出的用户名:\系统消息\ }
User toUserMessage=new User();
for(int i=0;i if(BlackList.equals(Server.vectorUserList.elementAt(i))) { toUserMessage.Command=\ toUserMessage.Message=\系统消息:对不起!你已被强制退出!\\n\ } else { toUserMessage.UserName=BlackList; toUserMessage.Command=\ toUserMessage.Message=\系统消息:\已被强制退出!\\n\ } ObjectOutputStream 第 25 页 共 69 页 25 streamToUser=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(i); streamToUser.writeObject((User)toUserMessage); streamToUser.flush(); } Server.vectorStreamToUser.removeElementAt(Server.vectorUserList.indexOf(BlackList)); //服务器刷新 Server.vectorUserList.removeElement(BlackList); jLabel5.setText(\共有:\个客户在线\ BlackList=\ } catch(IOException e){} } private void aboutMenuItemActionPerformed(ActionEvent evt) //关于事件 { } private void helpMenuItemActionPerformed(ActionEvent evt) //帮助事件 { } private void helpMenuActionPerformed(ActionEvent evt) { } private void exitForm(WindowEvent evt) //退出事件 { System.exit(0); } } //UserLogin.java import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; import java.util.*; import javax.swing.border.*; import java.applet.*; import java.applet.AudioClip; import java.net.URL; import java.net.MalformedURLException; import java.awt.GridBagLayout; class User implements Serializable //用户信息类 第 26 页 共 69 页 26 { String UserName; String UserPassword; String UserHeadPhoto; String UserEmail; String UserAge; String SinkName; String FileName; byte FileData[]; String Message; String Command; Vector vectorUserList; } class IllegalLengthException extends Exception //自定义异常类 {} public class UserLogin extends JFrame //联接服务器窗口类 { // 登陆窗口变量声明 private User fromServerMessage; private User toServerMessage; private static Vector vectorUserList; private UserLoginWindow frameEnter; private Frame frameLogin; private JPanel panelObject; private JLabel Label; private JComboBox ComboBoxUserName; private JPasswordField textUserPassword; private JButton buttonLogin,buttonEnter,buttonExit; private Socket toServer; private ObjectOutputStream streamToServer; private ObjectInputStream streamFromServer; private BufferedReader fromServer; //聊天室窗口变量声明 private JLabel jLabelUserName; private JButton jButtonHelp; private JButton jButtonLoginout; private JButton jButtonMusic; private JButton jButtonOption; private JButton jButtonSend; private JButton jButtonTran; private JCheckBox jCheckBox1; private JComboBox jComboBoxFace; 第 27 页 共 69 页 27 private JComboBox jComboBoxFontsize; private JComboBox jComboBoxFontstyle; private JComboBox jComboBoxUserlist; private JLabel jLabelBackground; private JLabel jLabelWelcome; private JList jList1; private JScrollPane jScrollPane1; private JScrollPane jScrollPane2; public JTextArea jTextArea1; private JPanel jPanel1; private JTextField jTextFieldMsg; private String Face[]={\说\大声的说\开心的说\大笑着说\惊讶的说\忧郁的说\伤心的说\犹豫着说\ \怯怯的说\皱着眉头说\做了个鬼脸说\吐了吐舌头说\愁眉苦脸的说\ //设置服务器IP地址窗口变量声明 private static UserLogin frameServerIP; private JButton jButtonNext; private JLabel jLabel1; private JPanel jPanel2; private JTextField jTextFieldIpaddress; String ServerIPaddress; public UserLogin() { initComponents(); //设置窗口位置居中 int locationX=(int)(Toolkit.getDefaultToolkit().getScreenSize().getWidth()-getSize().getWidth())/2; int locationY=(int)(Toolkit.getDefaultToolkit().getScreenSize().getHeight()-getSize().getHeight())/2; setLocation(locationX,locationY); } public static void main(String args[]) //主函数 { JWindow mainpage=new JWindow(); mainpage.setSize(400,300); JPanel content = new JPanel(); content.setOpaque(false); mainpage.getContentPane().add(content); content.setLayout(null); ImageIcon background = new ImageIcon(\ JLabel backlabel = new JLabel(background); content.add(backlabel, new Integer(Integer.MIN_VALUE)); backlabel.setBounds(0,0,background.getIconWidth(),background.getIconHeight()); mainpage.setLocation(200,150); 第 28 页 共 69 页 28 mainpage.setVisible(true); try { content.setOpaque(false); Thread.sleep(2000); } catch(InterruptedException e){} mainpage.setVisible(false); frameServerIP=new UserLogin(); frameServerIP.setVisible(true); } private void jButtonNextActionPerformed(ActionEvent evt) //下一步按钮事件 { ServerIPaddress=jTextFieldIpaddress.getText().toString(); StringTokenizer str=new StringTokenizer(ServerIPaddress,\ while (str.hasMoreTokens()) { String IP1=str.nextToken(); String IP2=str.nextToken(); String IP3=str.nextToken(); String IP4=str.nextToken(); int ip1=Integer.parseInt(IP1); int ip2=Integer.parseInt(IP2); int ip3=Integer.parseInt(IP3); int ip4=Integer.parseInt(IP4); if((ip1>=1&&ip1<=223)&(ip2>=0&&ip2<=255)&(ip3>=0&&ip3<=255)&(ip4>=1&&ip4<=254)) { frameServerIP.setVisible(false); frameEnter=new UserLoginWindow(); frameEnter.setSize(400,320); frameEnter.setVisible(true); } else { JOptionPane.showMessageDialog(this,\您输入了非法的IP地址,请再输入一次!\ jTextFieldIpaddress.setText(\ } break; } } private void exitForm(java.awt.event.WindowEvent evt) //退出按钮事件 { System.exit(0); } class UserLoginWindow extends JFrame implements Runnable //登录窗口 第 29 页 共 69 页 29 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java聊天室系统程序设计实验报告 - 图文(6)在线全文阅读。
相关推荐: