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 + -
显示快捷键?