impanelclient.java

来自「注:语音聊天部分还未完成」· Java 代码 · 共 1,254 行 · 第 1/3 页

JAVA
1,254
字号
			sendMegTextPane.setMinimumSize(new Dimension(6, 10));			sendMegTextPane.setAlignmentX(0.5F);			sendMegTextPane.setBounds(new Rectangle(0, 0, 200, 58));			sendMegTextPane.setBorder(null);			sendMegTextPane.setMaximumSize(new Dimension(60, 30));			sendMegTextPane.addKeyListener(new java.awt.event.KeyAdapter() {				@Override				public void keyTyped(java.awt.event.KeyEvent e) {					if(e.getKeyChar() == (char)KeyEvent.VK_ENTER){						if(clientSocket == null){							return;						}						if(!clientSocket.isClosed()){							login.setEnabled(false);							exit.setEnabled(true);							hideLogin.setEnabled(false);							logout.setEnabled(true);							sendMeg.setEnabled(true);							sendMessage();//向所有用户发送消息							sendMegTextPane.setText("");						}else{							return;						}					}				}			});			sendMegTextPane.addMouseListener(new java.awt.event.MouseAdapter() {				@Override				public void mouseClicked(java.awt.event.MouseEvent e) {					if(e.getModifiers() == InputEvent.META_MASK){						getPopMenu1();						popMenu1.show(sendMegTextPane,e.getX(),e.getY());					}				}			});		}		return sendMegTextPane;	}	/**	 * This method initializes sendMegScrollPane	 *	 * @return javax.swing.JScrollPane	 */	private JScrollPane getSendMegScrollPane() {		if (sendMegScrollPane == null) {			sendMegScrollPane = new JScrollPane();			sendMegScrollPane.setViewportView(getSendMegTextPane());			sendMegScrollPane.setWheelScrollingEnabled(true);		}		return sendMegScrollPane;	}	/**	 * This method initializes jTreeScrollPane	 *	 * @return javax.swing.JScrollPane	 */	private JScrollPane getJListScrollPane() {		if (jListScrollPane == null) {			jListScrollPane = new JScrollPane();						jListScrollPane.setViewportView(getJList());		}		return jListScrollPane;	}	/**	 * This method initializes receiveMegScrollPane	 *	 * @return javax.swing.JScrollPane	 */	private JScrollPane getReceiveMegScrollPane() {		if (receiveMegScrollPane == null) {			receiveMegScrollPane = new JScrollPane();						receiveMegScrollPane.setViewportView(getReceiveMeg());		}		return receiveMegScrollPane;	}	/**	 * This method initializes receiveMeg	 *	 * @return javax.swing.JTextArea	 */	protected MyTextPane getReceiveMeg() {		if (receiveMeg == null) {			receiveMeg = new MyTextPane();			receiveMeg.setCursor(					new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));		}		receiveMeg.addMouseListener(new java.awt.event.MouseListener() {			public void mouseClicked(java.awt.event.MouseEvent e) {			}			public void mousePressed(java.awt.event.MouseEvent e) {				if(e.getModifiers() == InputEvent.META_MASK){					getPopMenu();					popMenu.show(receiveMeg,e.getX(),e.getY());				}			}			public void mouseReleased(java.awt.event.MouseEvent e) {			}			public void mouseEntered(java.awt.event.MouseEvent e) {			}			public void mouseExited(java.awt.event.MouseEvent e) {			}		});		return receiveMeg;	}	/**	 * This method initializes jTree	 *	 * @return javax.swing.JTree	 */        private MyList getJList() {            if(jList == null){                     jList = new MyList();                jList.addString("秘密会谈中:)");                            }		return jList;	}	/**	 * This method initializes jButton	 *	 * @return javax.swing.JButton	 */	protected JButton getExit() {		            if (exit == null) {			                    exit = new JButton();			                    exit.setText("退出");			                    exit.setMaximumSize(new Dimension(60, 30));			                    exit.setMinimumSize(new Dimension(60, 30));			                    exit.setPreferredSize(new java.awt.Dimension(60,28));			                    exit.addActionListener(new java.awt.event.ActionListener() {				                        public void actionPerformed(java.awt.event.ActionEvent e) {                                   			                                                               if(clientSocket == null||clientSocket.isClosed()){						                                System.exit(0);						                                jList.removeAllElements();					                            }else if(clientSocket != null && !clientSocket.isClosed()){						                                //如果套接字没有关闭或者服务器没有关闭						                                try {                                                                                                              if(isClick==true){                                                                                               JOptionPane.showMessageDialog(null,"正在私聊,请先退出私聊",	                                                                                                                                    "系统警告",JOptionPane.WARNING_MESSAGE);                                                                                       }else{                                                                                                dataOut.writeObject("用户下线");							                                        dataOut.flush();							                                        ClientReceiveThread.isStop = true;							                                        System.exit(0);                                                                                       }						                                } catch (IOException ex) {                                                               ex.printStackTrace();                   	                                }					}else if(clientSocket != null && clientSocket.isClosed()){						System.exit(0);					}				}			});		}		return exit;	}	/**	 * This method initializes otherPane	 * 	初始化otherPane	 * @return javax.swing.JPanel	 */	private JPanel getOtherPane() {		if (otherPane == null) {			otherPane = new JPanel();			otherPane.setLayout(new BoxLayout(getOtherPane(), BoxLayout.X_AXIS));						otherPane.add(getUserName(), null);			otherPane.add(getUserOnlineList(), null);			otherPane.add(getActionList(), null);			otherPane.add(getMessageNote(), null);			otherPane.add(getHideNote(), null);			otherPane.add(getStatusCheckBox(), null);		}		return otherPane;	}	/**	 * This method initializes userName	 *	 * @return javax.swing.JTextField	 */	protected JTextField getUserName() {		if (userName == null) {			userName = new JTextField();			userName.setText("请在这里输入用户昵称");			userName.setAlignmentX(10.0F);			userName.setAlignmentY(10.0F);			userName.setMinimumSize(new java.awt.Dimension(90,90));			userName.setMaximumSize(new java.awt.Dimension(300,300));			userName.setPreferredSize(new java.awt.Dimension(136,20));			userName.setFont(new java.awt.Font("Dialog", java.awt.Font.PLAIN, 12));			userName.setSelectedTextColor(new java.awt.Color(255,51,51));			userName.setToolTipText("请输入昵称");		}		return userName;	}	/**	 * This method initializes userOnlineList	 *	 * @return javax.swing.JComboBox	 */	protected JComboBox getUserOnlineList() {		if (userOnlineList == null) {			userOnlineList = new JComboBox();			userOnlineList.setToolTipText("在线用户列表");			userOnlineList.setMinimumSize(new java.awt.Dimension(10,10));			userOnlineList.addMouseListener(new java.awt.event.MouseAdapter() {				public void mouseClicked(java.awt.event.MouseEvent e) {					if(e.getModifiers() == InputEvent.META_MASK){						getPopMenu2();						popMenu2.show(userOnlineList,e.getX(),e.getY());					}				}			});			userOnlineList.addItem("所有人");		}		return userOnlineList;	}	/**	 * This method initializes statusCheckBox	 *	 * @return javax.swing.JCheckBox	 */	private JCheckBox getStatusCheckBox() {		if (statusCheckBox == null) {			statusCheckBox = new JCheckBox();			statusCheckBox.setText("悄悄话");		}		return statusCheckBox;	}	/**	 * This method initializes actionList	 * 	初始化表情列表	 * @return javax.swing.JComboBox	 */	private JComboBox getActionList() {		if (actionList == null) {			actionList = new JComboBox();			actionList.addItem("微笑的");			actionList.addItem("小心的");			actionList.addItem("生气的");		}		return actionList;	}	/**	 * This method initializes popMenu	 *	 * @return javax.swing.JPopupMenu	 */private	JPopupMenu getPopMenu() {		if (popMenu == null) {			popMenu = new JPopupMenu();			popMenu.setVisible(true);			popMenu.add(getClearText());			popMenu.addSeparator();			popMenu.add(getFontSet());			popMenu.add(getBehindColor());			popMenu.add(getForeColor());		}		return popMenu;	}	/**	 * This method initializes warningUser	 *	 * @return javax.swing.JMenuItem	 */	private JMenuItem getClearText() {		if (clearText == null) {			clearText = new JMenuItem("清空");			clearText.setVisible(true);			clearText.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {					notes2 = receiveMeg.getText();					receiveMeg.setText("");				}			});		}		return clearText;	}	/**	 * This method initializes hideLogin	 *	 * @return javax.swing.JButton	 */	protected JButton getHideLogin() {		if (hideLogin == null) {			hideLogin = new JButton();			hideLogin.setText("匿名登陆");			hideLogin.setMnemonic(KeyEvent.VK_UNDEFINED);			hideLogin.setMaximumSize(new Dimension(60, 30));			hideLogin.setMinimumSize(new Dimension(60, 30));			hideLogin.setPreferredSize(new Dimension(86, 28));			hideLogin.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {					   try{						   int count = getHideLoginCount();//初始化随机函数						   connect("192.168.1.111",6544);	                       dataOut.writeObject("匿名用户" + count);	                       dataOut.flush();	                       yourHideLoginName = "匿名用户" + count;	                       	                       login.setEnabled(false);	                       logout.setEnabled(true);	                       exit.setEnabled(true);	                       sendMeg.setEnabled(true);	                       hideLogin.setEnabled(false);	                       messageNote.setEnabled(false);	                       hideNote.setEnabled(true);	                       mn.setVisible(true);	                       userName.setText("");	                    }catch(IOException ex){	                        JOptionPane.showMessageDialog(	                        		null,"匿名登陆失败!!",	                        		"系统警告",JOptionPane.WARNING_MESSAGE);	                        ex.printStackTrace();	                    }				}			});		}		return hideLogin;	}	/**	 * This method initializes messageNote	 *	 * @return javax.swing.JButton	 */	private JButton getMessageNote() {		if (messageNote == null) {			messageNote = new JButton();			messageNote.setText("显示记录");			messageNote.setEnabled(false);			messageNote.setMaximumSize(new java.awt.Dimension(86,60));			messageNote.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {					//把最近聊天记录传送给聊天记录文本区域					mn.setVisible(true);//设定聊天记录面板为不可见					notes = receiveMeg.getText();//把最新的聊天记录保存到一个变量中					//让聊天记录文本区域显示最新的聊天记录					mn.getMegNote().setText(notes + notes2);					hideNote.setEnabled(true);					messageNote.setEnabled(false);				}			});		}		return messageNote;	}	/**	 * This method initializes hideNote	 *	 * @return javax.swing.JButton	 */	private JButton getHideNote() {//隐藏聊天记录		if (hideNote == null) {			hideNote = new JButton();			hideNote.setText("隐藏记录");			hideNote.setEnabled(false);			hideNote.setMinimumSize(new java.awt.Dimension(86,60));			hideNote.setMaximumSize(new java.awt.Dimension(86,60));			hideNote.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {					mn.dispose();					hideNote.setEnabled(false);					messageNote.setEnabled(true);				}			});		}		return hideNote;	}	/**	 * This method initializes fontSet	 *	 * @return javax.swing.JMenuItem	 */	protected JMenuItem getFontSet() {		if (fontSet == null) {			fontSet = new JMenuItem();			fontSet.setText("字体设置");

⌨️ 快捷键说明

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