您的位置:首页 > 其它

聊天室小软件-主页面

2015-10-10 20:00 351 查看
主页面,实现了消息发送,保存,查看,修改昵称等供能

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.Reader;

import java.io.Writer;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetAddress;

import java.net.SocketException;

import java.net.UnknownHostException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.logging.Level;

import java.util.logging.Logger;

public class NewJFrame1 extends javax.swing.JFrame {

     DatagramSocket ds;

    DatagramSocket ds1;

    static String IP;

    Thread thread;

 public NewJFrame1() {

        initComponents();

         jTextField1.setText("127.0.0.1");   //设置IP地址文本框的初始值

        try {   

            ds = new DatagramSocket(3001); 

        } catch (SocketException e) {   

            e.printStackTrace();   

        } 

        

       

        new Thread(new Runnable()//    

        {   

            DatagramPacket dy;   

            @Override

            public void run() {   

                byte[] buf = new byte[1024];   

                dy = new DatagramPacket(buf, buf.length);  

                while (true) {  

                    try {   

                        ds.receive(dy);  

                        String str = new String(buf, 0, buf.length);

                        jTextArea2.setText(jTextArea2.getText()+"\n"/*+dy.getAddress().getHostAddress() + "say:"*/ + str.trim());

                    } catch (IOException e) {   

                        e.printStackTrace();   

                    }   

                }   

            }   

        }).start(); //启动线程

    }

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {                                            

    

        jTextField2.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

            byte[] buf;

            String input=e.getActionCommand();

            buf=input.getBytes();

            DatagramPacket dp;   

                try {   

                    dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(jTextField1.getText()), 3000);   

                    ds.send(dp);   

                } catch (UnknownHostException e1) {   

                    e1.printStackTrace();   

                } catch (IOException e1) {   

                    e1.printStackTrace();   

                }   

                ((TextField) e.getSource()).setText("");

        }

    });

    }   

       private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      

        // TODO add your handling code here:

          Writer out = null;

        try {

            String s;

            DatagramPacket dp;

            try {

                s = jTextField3.getText() + ":" + jTextField2.getText();

                byte[] buf = s.getBytes();

                dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(jTextField1.getText()), 3000);

                ds.send(dp);

                jTextField2.setText("");

                jTextArea2.setText(jTextArea2.getText()+"\n"+s+"\n");

            } catch (Exception ex) {

                ex.printStackTrace();

            }

            File f = new File("d:" + File.separator+"testoutput.txt");

       

            out = new FileWriter(f);

            String str= jTextArea2.getText();

            out.write(str);

            //out.flush();

            out.close();

        } catch (IOException ex) {

            Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);

        } finally {

            try {

                out.close();

            } catch (IOException ex) {

                Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);

            }

        }

    }    

        private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {                                            

        // TODO add your handling code here:

         new Thread(new Runnable() {

            DatagramPacket name;

            public void run() {

                byte[] buf = new byte[1024];

                name = new DatagramPacket(buf, 1024);

                while (true) {

                    try {

                        ds.receive(name);

                        String str = new String(name.getData(), 0, name.getLength());

                        jTextArea2.setText(str);

                    } catch (IOException e) {

                        e.printStackTrace();

                    }

                }

            }

        }).start();

    }                   

 private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here:

         try {

            File f = new File("d:" + File.separator+"testoutput.txt");

            Reader input=new FileReader(f);

            char[] c=new char[1024];

            int temp=0;

            int len=0;

            while((temp=input.read())!=-1){

                c[len]=(char) temp;

                len++;

            }

            input.close();

            jTextArea2.setText(new String(c,0,len)); ;  // TODO add your handling code here:

        } catch (IOException ex) {

            Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);

        }

    }                                                  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: