📄 imserverframe.java
字号:
package com.gamvan.club.users.im.server;import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.InputEvent;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.IOException;import java.net.ServerSocket;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPopupMenu;import javax.swing.JScrollPane;import javax.swing.JTextField;import com.gamvan.club.users.im.tools.MyTextPane;public class IMServerFrame extends JFrame { /** * 这个类主要用于服务器端,用来监听客户端的连接 * from gamvan by 幽梦还乡 * 2/15/2006 */ private static final long serialVersionUID = 1L; private ServerSocket server = null; private JPopupMenu popMenu = null; private JPopupMenu popMenu1 = null; private MyTextPane chatMeg = new MyTextPane(); private JTextField systemMeg = new JTextField("在此发送系统信息"); private JScrollPane textScroll = new JScrollPane(); private JComboBox userOnlineList = new JComboBox(); private JPanel buttonPane = new JPanel(); private JButton startServer = new JButton("启动服务"); private JButton stopServer = new JButton("停止服务"); private UserInfoList userInfoList = null; private ServerListenThread listenThread = null; private JMenuItem kickUser = null; private JMenuItem warning = null; private JMenuItem clearText = null; private Image image ; public IMServerFrame(){ } public void init(){//界面初始化 popMenu = new JPopupMenu(); kickUser = new JMenuItem("踢出"); warning = new JMenuItem("警告"); popMenu1 = new JPopupMenu(); clearText = new JMenuItem("清空"); setTitle("GamVanTalk(Sever)"); setSize(500,500); chatMeg.setEditable(true); stopServer.setEnabled(false); startServer.setEnabled(true); popMenu.add(kickUser); popMenu.addSeparator(); popMenu.add(warning); popMenu1.add(clearText); userOnlineList.addItem("所有人"); userOnlineList.setSelectedIndex(0); getContentPane().setLayout(new BorderLayout()); getContentPane().add(textScroll,BorderLayout.CENTER); getContentPane().add(buttonPane,BorderLayout.SOUTH); buttonPane.add(userOnlineList,new FlowLayout()); buttonPane.add(startServer,new FlowLayout()); buttonPane.add(stopServer,new FlowLayout()); buttonPane.add(systemMeg,new FlowLayout()); this.setIconImage(image); textScroll.getViewport().setView(chatMeg); startServer.addActionListener(new ActionListener(){//监听启动按钮的事件 public void actionPerformed(ActionEvent arg0) { try { startServer(); } catch (IOException e) { System.exit(0); } } }); stopServer.addActionListener(new ActionListener(){ //停止服务 public void actionPerformed(ActionEvent arg0) { stopServer(); } }); systemMeg.addActionListener(new ActionListener(){ //发送系统消息 public void actionPerformed(ActionEvent arg0) { sendSystemMeg(); } }); userOnlineList.addMouseListener(new MouseListener(){ public void mouseClicked(MouseEvent arg0) {} //给弹出示菜单添加事件 public void mousePressed(MouseEvent arg0) { if(arg0.getModifiers() == InputEvent.META_MASK){ popMenu.show(userOnlineList,arg0.getX(),arg0.getY()); } } public void mouseReleased(MouseEvent arg0) {} public void mouseEntered(MouseEvent arg0) {} public void mouseExited(MouseEvent arg0) {} }); kickUser.addActionListener(new ActionListener(){ //给踢出用户菜单添加事件 public void actionPerformed(ActionEvent arg0) { kickUser();//调用踢人的方法 } }); warning.addActionListener(new ActionListener(){ //给警告菜单添加事件 public void actionPerformed(ActionEvent arg0) { warningUser(); } }); clearText.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { clearText(); } private void clearText() { chatMeg.setText(""); } }); chatMeg.addMouseListener(new MouseListener(){ public void mouseClicked(MouseEvent arg0) { if(arg0.getModifiers() == InputEvent.META_MASK){ popMenu1.show(chatMeg,arg0.getX(),arg0.getY()); } } public void mousePressed(MouseEvent arg0) {} public void mouseReleased(MouseEvent arg0) {} public void mouseEntered(MouseEvent arg0) {} public void mouseExited(MouseEvent arg0) {} }); this.addWindowListener(//监听窗体事件 new WindowAdapter() { public void windowClosing(WindowEvent e) { if(server == null){ System.exit(0); } if(!server.isClosed()){ stopServer(); System.exit(0); }else{ System.exit(0); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -