📄 mainwin.java
字号:
/* * MainWin.java * * Created on 2005年12月19日, 下午3:51 */package javaicqproj;/** * * @author hurysa */import java.util.*;import java.io.*;import java.net.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MainWin extends javax.swing.JFrame implements Runnable{ String server; int serport; Thread thread; String myname; int myjicq; int sendport; FriendListView list=new FriendListView(); FriendInfoModel friendinfoModel=new FriendInfoModel(); FriendListView alllist=new FriendListView(); FriendInfoModel findfriendinfoModel=new FriendInfoModel(); ChatFrame cf; boolean cfIsCreated=false; InetAddress group=null; int multiport=6666;//组播消息端口 byte ttl=(byte)1; MulticastSocket ms=null; DatagramPacket receivePacket; private boolean endthread=false; /** Creates new form MainWin */ public MainWin(String myname,int myicq,String server,int serport,int sendport) {//主程序构造函数 this.myname=myname; this.myjicq=myicq; this.server=server; this.serport=serport; this.sendport=sendport; initComponents(); jMyJicq.setText(myname+"("+Integer.toString(myjicq)+")"); jMyStatus.setText("状态:上线"); friendinfoModel.addObserver(list); findfriendinfoModel.addObserver(alllist); try{ group=InetAddress.getByName("225.0.0.1"); this.onLine(); this.ConnectServer(myjicq); thread=new Thread(this); thread.start(); } catch(Exception exc){ exc.printStackTrace(); } list.addMouseListener(new MouseListener(){ public void mouseClicked(MouseEvent e){ if(e.getClickCount()==2) {//double clicked FriendListView v=(FriendListView)e.getSource(); int index=v.getSelectedIndex(); if(index==-1)return; String name=friendinfoModel.getFriendNames().get(index).toString(); String status=friendinfoModel.getFriendStatus().get(index).toString(); String ip=friendinfoModel.getFriendIp().get(index).toString(); cf=new ChatFrame(friendinfoModel.getMyName(),name,status,ip, friendinfoModel.getMyUdpPort(), Integer.parseInt(friendinfoModel.getFriendSendport().get(index).toString())); cfIsCreated=true; } } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mousePressed(MouseEvent e){} public void mouseReleased(MouseEvent e){} }); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { jFindFriendDialog = new javax.swing.JDialog(); jLabel1 = new javax.swing.JLabel(); jPanel3 = new javax.swing.JPanel(); jAddFriendButton = new javax.swing.JButton(); jCancelButton = new javax.swing.JButton(); jScrollPane2 = new javax.swing.JScrollPane(); jScrollPane2.setViewportView(alllist); jPanel1 = new javax.swing.JPanel(); jFindButton = new javax.swing.JButton(); jDeleteButton = new javax.swing.JButton(); jPanel2 = new javax.swing.JPanel(); jMyJicq = new javax.swing.JLabel(); jMyStatus = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); jScrollPane1.setViewportView(list); jFindFriendDialog.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); jFindFriendDialog.setTitle("\u7528\u6237\u4fe1\u606f"); jLabel1.setFont(new java.awt.Font("黑体", 0, 18)); jLabel1.setForeground(new java.awt.Color(102, 153, 255)); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel1.setText("\u4ee5\u6ce8\u518c\u7528\u6237\u5217\u8868"); jFindFriendDialog.getContentPane().add(jLabel1, java.awt.BorderLayout.NORTH); jPanel3.setLayout(new java.awt.GridLayout(1, 0)); jAddFriendButton.setText("\u52a0\u4e3a\u597d\u53cb"); jAddFriendButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jAddFriendButtonActionPerformed(evt); } }); jPanel3.add(jAddFriendButton); jCancelButton.setText("\u53d6\u6d88"); jCancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jCancelButtonActionPerformed(evt); } }); jPanel3.add(jCancelButton); jFindFriendDialog.getContentPane().add(jPanel3, java.awt.BorderLayout.SOUTH); jFindFriendDialog.getContentPane().add(jScrollPane2, java.awt.BorderLayout.CENTER); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Jicq GWS"); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { formWindowClosing(evt); } }); jPanel1.setLayout(new java.awt.GridLayout(2, 0)); jFindButton.setText("\u6dfb\u52a0\u597d\u53cb"); jFindButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jFindButtonActionPerformed(evt); } }); jPanel1.add(jFindButton); jDeleteButton.setText("\u5220\u9664\u597d\u53cb"); jDeleteButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jDeleteButtonActionPerformed(evt); } }); jPanel1.add(jDeleteButton); getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH); jPanel2.setLayout(new java.awt.GridLayout(1, 0, 3, 0)); jMyJicq.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jMyJicq.setText("\u6211\u7684Jicq"); jPanel2.add(jMyJicq); jMyStatus.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jMyStatus.setText("\u6211\u7684\u72b6\u6001"); jPanel2.add(jMyStatus); getContentPane().add(jPanel2, java.awt.BorderLayout.NORTH); getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER); pack(); } // </editor-fold>//GEN-END:initComponents private void jCancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCancelButtonActionPerformed// TODO add your handling code here: jFindFriendDialog.dispose(); }//GEN-LAST:event_jCancelButtonActionPerformed private void jAddFriendButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jAddFriendButtonActionPerformed int index=alllist.getSelectedIndex(); if(index==-1)return; String friendjicq=findfriendinfoModel.getFriendIcqno().get(index).toString(); //判断当前选定的用户是否以被加为自己的好友 for(int i=0;i<friendinfoModel.getFriendNum();i++){ if(friendjicq.equals(friendinfoModel.getFriendIcqno().get(i))){ JOptionPane.showMessageDialog(this,"您已经添加了该用户!"); return; } } try{ Socket socket=new Socket(InetAddress.getByName(server),serport);//连接服务器 BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out=new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true); out.println("addfriend"); out.println(friendjicq); out.println(myjicq); String friendname=" "; String friendicqno,friendstatus,friendip,friendinfo,friendpic,friendsex,friendemail,friendplace;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -