当前位置:首页 > IT教程

java可视化编程

时间:2020-06-30 09:30:00来源:金橙教程网 作者:admin8 阅读:72次 [手机版]
 

可视化编程

/**
 * 
 */
package com.netty.client;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.windowAdapter;
import java.awt.event.WindowEvent;
import java.net.DATagramPacket;
import java.net.socketAddress;
import java.util.Map;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JtextArea;
import javax.swing.JTextField;

/**
 * @author HUANGLIAO322
 *
 */
public class ClientP2P extends Thread implements ActionListener {
	
    public JFrame frame;  
    //聊天信息  
    public JTextArea info;  
    //在线用户  
    public JTextArea onlineUser;  
    public JTextField msgText;  
      
    public JButton sendButton;  
    
    public ClientP2P(){
    	frame=new JFrame("P2P聊天");  
		frame.setSize(800, 400);
		
		sendButton=new JButton("发送");  
        JScrollBar scroll=new JScrollBar();  
        info=new JTextArea(10,30);
        
        //激活自动换行功能   
        info.setLineWrap(true);  
        info.setWrapStyleWord(true);  
        info.setEditable(false);  
        scroll.add(info); 
        
        onlineUser=new JTextArea(10,30);  
        onlineUser.setLineWrap(true);  
        onlineUser.setWrapStyleWord(true);  
        onlineUser.setEditable(false);
        
        JPanel infopanel=new JPanel();  
        infopanel.add(info,BorderLayout.WEST);  
        JPanel infopanel1=new JPanel();  
        JLabel label=new JLabel("在线用户");  
        infopanel1.add(label, BorderLayout.NORTH);  
        infopanel1.add(onlineUser, BorderLayout.SOUTH);  
        infopanel.add(infopanel1,BorderLayout.EAST); 
        
        JPanel panel=new JPanel();
        
        msgText=new JTextField(30);  
        
        panel.add(msgText);  
        panel.add(sendButton);  
        frame.add(infopanel,BorderLayout.NORTH);  
        frame.add(panel,BorderLayout.SOUTH);  
        frame.setVisible(true);  
          
        sendButton.addActionListener(this);  
          
        frame.addWindowListener(new   WindowAdapter(){   
            public   void   windowClosing(WindowEvent   e){   
                System.exit(0);  
            }   
         });  
    }
	
	public static void main(String[] args) {
		ClientP2P clientP2P = new ClientP2P();
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		  
        if(e.getSource()==this.sendButton)  
        {  
            try{  
                String msg=this.msgText.getText();  
                if(msg.length()>0)  
                {  
//                    this.info.append("我说:"+msg);  
//                    this.info.append("\n");  
//                    for (Map.Entry<String, SocketAddress> entry : userMap.entrySet()) {  
//                        DatagramPacket data=new DatagramPacket(msg.getBytes(),msg.getBytes().length,entry.getValue());  
//                        client.send(data);  
//                    }  
                      
//                    this.msgText.setText("");  
                }  
            }  
            catch(Exception ee){}  
        }  
          
    
	}

}

相关阅读

java练习题:年月日的表示

/** *如何设计一个类?(日期类) *一、根据需求列出功能: *2、在当前日期上增加多少天 *3、在当前日期上减少多少天 *4、可以返回字符串

Java dom4j生成和解析XML

一)dom4j介绍 使用方式:在pom.xml中导入dom4j对应的jar <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</art

java.sql.Timestamp(时间戳)

[Java]java.sql.Timestamp(时间戳) 原创 2017年05月06日 14:59:31 773 0 0 java.sql.Timestamp(时间戳)继承父类:java.util

解决项目中java heap space的问题

  起因 17年的一个项目出了OOM(java heap space)问题,眼下有个问题:法院项目,不能外网,一连接外网高院会直接定位到计算机,发出警

Java正则表达式基本用法

一、正则表达式简介 正则表达式是使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。爬虫中解析html可以使用正则来方

分享到:

IT相关

程序相关

推荐文章

热门文章