package WindosUI;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTextArea;
import java.awt.Rectangle;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.*;
import java.util.*;
import Business.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JOptionPane;
import javax.swing.JLabel;
import javax.swing.Box;
public class FrmMessage2 extends JFrame {
JPanel contentPane;
JTextArea txaSend = new JTextArea();
JButton btnSend = new JButton();
JTextArea txtReceivedMessage = new JTextArea();
JButton btnReceive = new JButton();
JTextField txtIP = new JTextField();
private LinkedList msgs; //消息队列
//发送接收消息的必要方法
private ReceiveMessage rm = new ReceiveMessage();
private SendMessage sm = new SendMessage();
JScrollPane jScrollPane1 = new JScrollPane();
JTextField txtSenderName = new JTextField();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
public FrmMessage2() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
//开始接收消息
startReceive();
ListenMessage l = new ListenMessage();
l.start();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(381, 429));
setTitle("发送接受消息");
this.addWindowListener(new FrmMessage2_this_windowAdapter(this));
txaSend.setText("在此写下要发的消息");
txaSend.setBounds(new Rectangle(31, 169, 314, 92));
btnSend.setBounds(new Rectangle(31, 359, 111, 32));
btnSend.setText("send");
btnSend.addActionListener(new Frame1_btnSend_actionAdapter(this));
txtReceivedMessage.setEditable(false);
txtReceivedMessage.setLineWrap(true);
txtReceivedMessage.setRows(5);
btnReceive.setBounds(new Rectangle(233, 360, 111, 32));
btnReceive.setEnabled(false);
btnReceive.setMaximumSize(new Dimension(57, 23));
btnReceive.setMinimumSize(new Dimension(57, 23));
btnReceive.setPreferredSize(new Dimension(57, 23));
btnReceive.setText("receive");
btnReceive.addActionListener(new Frame1_btnReceive_actionAdapter(this));
txtIP.setText("127.0.0.1");
txtIP.setBounds(new Rectangle(219, 276, 117, 27));
jScrollPane1.setBounds(new Rectangle(31, 33, 317, 119));
txtSenderName.setText("小夏");
txtSenderName.setBounds(new Rectangle(219, 313, 117, 27));
jLabel1.setText("目标机器名或者IP地址");
jLabel1.setBounds(new Rectangle(29, 287, 120, 15));
jLabel2.setText("发送人姓名");
jLabel2.setBounds(new Rectangle(31, 318, 69, 21));
contentPane.add(jScrollPane1);
jScrollPane1.getViewport().add(txtReceivedMessage);
contentPane.add(jLabel1);
contentPane.add(btnSend);
contentPane.add(txaSend);
contentPane.add(jLabel2);
contentPane.add(txtIP);
contentPane.add(txtSenderName);
contentPane.add(btnReceive);
}
public void btnSend_actionPerformed(ActionEvent e) {
try {
this.
sm.send( (txtSenderName.getText()+": "+txaSend.getText()), txtIP.getText());
} catch (IOException ex) {
JOptionPane.showConfirmDialog(this,ex.getMessage());
} catch (Exception ex) {
JOptionPane.showConfirmDialog(this,ex.getMessage());
}
}
public void btnReceive_actionPerformed(ActionEvent e) {
try {
String str = rm.getMessageOnce();
if (str != null) {
this.txtReceivedMessage.append(str);
}
} catch (Exception ex) {
JOptionPane.showConfirmDialog(this,ex.getMessage());
}
}
//开始接收消息
private void startReceive() {
try {
rm.beginReceive();
} catch (SocketException ex) {
JOptionPane.showMessageDialog(this,ex.getMessage());
} catch (IOException ex) {
JOptionPane.showMessageDialog(this,ex.getMessage());
}
}
public void this_windowClosing(WindowEvent e) {
}
//自动接收消息
class ListenMessage extends Thread {
public void run() {
while (true) {
try {
sleep(1000);
} catch (InterruptedException ex1) {
break;
}
if (rm.getMessageCount() > 0) {
try {
String str = rm.getMessageOnce();
if (str != null) {
txtReceivedMessage.append(str+"\n");
}
} catch (Exception ex) {
throw new RuntimeException(ex.getMessage());
}
}
}
}//End run method
}//End inner class thread
} //End class
class FrmMessage2_this_windowAdapter extends WindowAdapter {
private FrmMessage2 adaptee;
FrmMessage2_this_windowAdapter(FrmMessage2 adaptee) {
this.adaptee = adaptee;
}
public void windowClosing(WindowEvent e) {
adaptee.this_windowClosing(e);
}
}
class Frame1_btnReceive_actionAdapter implements ActionListener {
private FrmMessage2 adaptee;
Frame1_btnReceive_actionAdapter(FrmMessage2 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnReceive_actionPerformed(e);
}
}
class Frame1_btnSend_actionAdapter implements ActionListener {
private FrmMessage2 adaptee;
Frame1_btnSend_actionAdapter(FrmMessage2 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnSend_actionPerformed(e);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
java实现局域网互发消息 (162个子文件)
FrmMessage2.class 5KB
FrmLogin.class 3KB
Communication.class 3KB
Communication$ReceiveThread.class 2KB
ReceiveMessage.class 2KB
FrmMessage.class 2KB
FrmMessage2$ListenMessage.class 1KB
FrmMainPanel.class 1KB
Application1.class 1KB
Program.class 1KB
Wraper.class 1KB
SendMessage.class 959B
Application1$1.class 799B
Program$1.class 779B
Frame1_btnReceive_actionAdapter.class 688B
Frame1_btnSend_actionAdapter.class 679B
FrmLogin_jButton3_actionAdapter.class 674B
FrmMessage2_this_windowAdapter.class 651B
Config.class 406B
WindosUI.dep2 16KB
Business.dep2 5KB
LocalMessage.exe 180KB
QQClientW.exe 180KB
FrmMessage2.java 6KB
Communication.java 4KB
FrmLogin.java 4KB
Program.java 2KB
Application1.java 2KB
FrmMessage.java 2KB
ReceiveMessage.java 2KB
FrmMainPanel.java 1KB
Wraper.java 1KB
SendMessage.java 620B
Config.java 364B
FrmLogin.java~10~ 4KB
Frame1.java~10~ 3KB
QQGUI.java~10~ 3KB
Wraper.java~10~ 1KB
Communication.java~118~ 4KB
Communication.java~119~ 4KB
Frame1.java~11~ 4KB
Wraper.java~11~ 1KB
Communication.java~120~ 4KB
Communication.java~121~ 4KB
Communication.java~122~ 4KB
Communication.java~123~ 4KB
Communication.java~124~ 4KB
Communication.java~125~ 4KB
Communication.java~126~ 4KB
Communication.java~127~ 4KB
Frame1.java~12~ 4KB
Welcome.java~12~ 3KB
Wraper.java~12~ 1KB
Frame1.java~13~ 4KB
Welcome.java~13~ 4KB
Frame1.java~14~ 4KB
Welcome.java~14~ 4KB
ReceiveMessage.java~14~ 1KB
Welcome.java~15~ 4KB
ReceiveMessage.java~15~ 1KB
Welcome.java~16~ 4KB
ReceiveMessage.java~16~ 1KB
Welcome.java~17~ 5KB
ReceiveMessage.java~17~ 1KB
Welcome.java~18~ 5KB
ReceiveMessage.java~18~ 2KB
Welcome.java~19~ 5KB
ReceiveMessage.java~19~ 2KB
Frame1.java~1~ 4KB
FrmLogin.java~1~ 3KB
Program.java~1~ 2KB
Welcome.java~1~ 2KB
Application1.java~1~ 2KB
Login.java~1~ 2KB
FrmMessage.java~1~ 2KB
FrmMainPanel.java~1~ 1010B
QQGUI.java~1~ 985B
DBs.java~1~ 739B
Config.java~1~ 189B
SendMessage.java~1~ 185B
Welcome.java~20~ 5KB
ReceiveMessage.java~20~ 2KB
Welcome.java~21~ 2KB
ReceiveMessage.java~21~ 1KB
ReceiveMessage.java~22~ 2KB
ReceiveMessage.java~23~ 2KB
FrmMessage2.java~25~ 5KB
FrmMessage2.java~26~ 5KB
FrmMessage2.java~27~ 5KB
FrmMessage2.java~28~ 5KB
FrmMessage2.java~29~ 5KB
Frame1.java~2~ 4KB
QQGUI.java~2~ 3KB
FrmLogin.java~2~ 3KB
Program.java~2~ 2KB
Application1.java~2~ 2KB
Login.java~2~ 2KB
FrmMainPanel.java~2~ 1KB
DBs.java~2~ 768B
SendMessage.java~2~ 387B
共 162 条
- 1
- 2
资源评论
张云飞VIR
- 粉丝: 66
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功