• 大小: 29KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: Java
  • 标签: sokcet例子  

资源简介

使用java实现的简单版飞鸽传书,可以单聊、群聊、发送文件,使用UPD获取在线用户及聊天,使用TCP发送文件。代码比较简洁,界面工整,学习使用。

资源截图

代码片段和文件信息

package com.ipmsg;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
import java.net.InetAddress;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;

public class MainWindow {

private static final SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“);

private static object lock = new object();

private Jframe window;
private JTable table;
private object[] columnNames = { “用户名“ “主机名“ “IP地址“ “port“ };
private JTextArea inputArea;
private JButton btn_send;
private JButton btn_choose;
private JFileChooser filechooser = new JFileChooser();
private JLabel fileLabel = new JLabel();

private String myName = ““;

private UDPService udpService;

private static MainWindow mainWindow;

private void createWindow() {
window = new Jframe(“IP Messager for Java“);
window.setLayout(null);
window.setBounds(600 300 400 400);
window.setResizable(false);
window.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
DefaultTableModel tableModel = new DefaultTableModel(null columnNames);
table = new JTable(tableModel){
private static final long serialVersionUID = 1L;
@Override
public boolean isCellEditable(int row int column) {
return false;
}

};
JScrollPane tableScroll = new JScrollPane();
JTableHeader header = table.getTableHeader();
header.setBounds(0 0 400 20);
table.setBounds(0 20 400 180);
DefaultTableColumnModel columnModel = (DefaultTableColumnModel) table.getColumnModel();
columnModel.removeColumn(columnModel.getColumn(3));
tableScroll.setViewportView(header);
tableScroll.setViewportView(table);
tableScroll.setBounds(0 0 400 200);
tableScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
tableScroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
window.add(tableScroll);
inputArea = new JTextArea();
inputArea.setBounds(0 0 395 100);
inputArea.setLineWrap(true);
JScrollPane inputScroll = new JScrollPane(inputArea);
inputScroll.setBounds(0 200 395 100);
inputScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
window.add(inputScroll);
btn_send = new JButton(“发送“);
btn_send.setBounds(260 320 100 30);
window.add(btn_send);
btn_choose = new JButton(“选择文件“);
btn_choose.setB

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        232  2014-06-12 20:23  simple_ipmsg\.classpath

     文件        388  2014-06-11 14:18  simple_ipmsg\.project

     文件         57  2014-06-11 14:58  simple_ipmsg\.settings\org.eclipse.core.resources.prefs

     文件        598  2014-06-14 09:43  simple_ipmsg\.settings\org.eclipse.jdt.core.prefs

     文件        785  2014-06-14 12:09  simple_ipmsg\bin\com\ipmsg\MainWindow$1.class

     文件        957  2014-06-14 12:09  simple_ipmsg\bin\com\ipmsg\MainWindow$2.class

     文件       3331  2014-06-14 12:09  simple_ipmsg\bin\com\ipmsg\MainWindow$3.class

     文件       1296  2014-06-14 12:09  simple_ipmsg\bin\com\ipmsg\MainWindow$4.class

     文件       3301  2014-06-14 12:09  simple_ipmsg\bin\com\ipmsg\MainWindow$ReceiveThread.class

     文件       8197  2014-06-14 12:09  simple_ipmsg\bin\com\ipmsg\MainWindow.class

     文件       1685  2014-06-14 12:12  simple_ipmsg\bin\com\ipmsg\MsgWindow$1.class

     文件        862  2014-06-14 12:12  simple_ipmsg\bin\com\ipmsg\MsgWindow$2$1.class

     文件       1940  2014-06-14 12:12  simple_ipmsg\bin\com\ipmsg\MsgWindow$2.class

     文件        670  2014-06-14 12:12  simple_ipmsg\bin\com\ipmsg\MsgWindow$3.class

     文件        643  2014-06-14 12:12  simple_ipmsg\bin\com\ipmsg\MsgWindow$4.class

     文件       3195  2014-06-14 12:12  simple_ipmsg\bin\com\ipmsg\MsgWindow$ReceiveFile.class

     文件       4922  2014-06-14 12:12  simple_ipmsg\bin\com\ipmsg\MsgWindow.class

     文件       2334  2014-06-14 10:55  simple_ipmsg\bin\com\ipmsg\TCPService$SendFile.class

     文件       1196  2014-06-14 10:55  simple_ipmsg\bin\com\ipmsg\TCPService$SendFileServer.class

     文件       1388  2014-06-14 10:55  simple_ipmsg\bin\com\ipmsg\TCPService.class

     文件       2334  2014-06-14 10:55  simple_ipmsg\bin\com\ipmsg\UDPService.class

     文件       8943  2014-06-14 12:09  simple_ipmsg\src\com\ipmsg\MainWindow.java

     文件       6727  2014-06-14 12:12  simple_ipmsg\src\com\ipmsg\MsgWindow.java

     文件       2390  2014-06-14 09:58  simple_ipmsg\src\com\ipmsg\TCPService.java

     文件       1478  2014-06-14 01:29  simple_ipmsg\src\com\ipmsg\UDPService.java

     目录          0  2014-06-14 10:55  simple_ipmsg\bin\com\ipmsg

     目录          0  2014-06-14 09:42  simple_ipmsg\src\com\ipmsg

     目录          0  2014-06-14 10:55  simple_ipmsg\bin\com

     目录          0  2014-06-14 09:42  simple_ipmsg\src\com

     目录          0  2014-06-14 09:42  simple_ipmsg\.settings

............此处省略6个文件信息

评论

共有 条评论