资源简介
使用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个文件信息
评论
共有 条评论