QQServer_update

import java.awt.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
import java.awt.event.*; public class QQReg extends JFrame implements ActionListener{
public static void main(String[] args){
QQReg w = new QQReg();
w.setVisible(true);
} JTextField txtUser = new JTextField();
JPasswordField txtPass = new JPasswordField();
JPasswordField txtPassRe = new JPasswordField();
QQReg(){
//设置窗体的基本信息
this.setSize(660 , 380);
this.setLocationRelativeTo(null);
this.setTitle("Talking.GHOUL.Reg");
this.setResizable(false);
this.setIconImage(this.getToolkit().getImage("D:/lab_2/psb (11).jpg"));
//new组件&设置组件
JLabel labTitle = new JLabel(" SIGN UP ");
labTitle.setFont(new Font("", 0, 36)); JLabel labUser = new JLabel(" Username");
labUser.setFont(new Font("", 0, 30));
JLabel labPass = new JLabel(" Password");
labPass.setFont(new Font("", 0, 30));
JLabel labPassRe = new JLabel(" Confirm Password");
labPassRe.setFont(new Font("", 0, 30)); //------update-----------------------
//JComboBox cmbUsername = new JComboBox();
//cmbUsername.setFont(new Font("", 0, 30));
//cmbUsername.addItem("かねき けん");
//cmbUsername.addItem("Kaneki Ken");
//cmbUsername.addItem("金木 研");
txtUser.setFont(new Font("", 0, 30)); txtPass.setFont(new Font("", 0, 25));
txtPassRe.setFont(new Font("", 0, 25)); JButton btnReg = new JButton(" CONFIRM ");
btnReg.setFont(new Font("", 0, 30));
//注册事件监听
btnReg.addActionListener(this); //布置主面板
JPanel panUser = new JPanel();
panUser.setLayout(new GridLayout(3 , 3)); panUser.add(labUser);
panUser.add(txtUser);
panUser.add(labPass);
panUser.add(txtPass);
panUser.add(labPassRe);
panUser.add(txtPassRe);
//布置按钮面板
JPanel panButton = new JPanel();
panButton.setLayout(new FlowLayout()); panButton.add(btnReg);
//布置窗体
this.setLayout(new BorderLayout()); this.add(labTitle , BorderLayout.NORTH);
this.add(panUser , BorderLayout.CENTER);
this.add(panButton , BorderLayout.SOUTH);
} @Override
public void actionPerformed(ActionEvent arg0){
//System.out.println(arg0);
if(arg0.getActionCommand().equals(" CONFIRM ")){
try{
String user = txtUser.getText();
String pass = txtPass.getText();
Socket s = new Socket("127.0.0.1" , 8000); OutputStream os = s.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
PrintWriter pw = new PrintWriter(osw , true); pw.println(user+"%"+ pass);
}catch(Exception e){}
}
}
}
import java.io.*;
import java.net.*; public class QQServer{
public static void main(String[] args){
try{
//监听8000端口
ServerSocket ss = new ServerSocket(8000); System.out.println("等待客户端的消息...");
Socket s = ss.accept(); //接受用户名和密码
InputStream is = s.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr); String uandp = br.readLine(); //检验点
System.out.println(uandp);
}catch(Exception e){}
}
}
QQServer_update的更多相关文章
随机推荐
- rsync 只同步指定类型的文件
需求: 同步某个目录下所有的图片(*.jpg),该目录下有很多其他的文件,但只想同步*.jpg的文件. rsync 有一个--exclude 可以排除指定文件,还有个--include选项的作用正好和 ...
- 1. python中的随机函数
本系列不会对python语法,理论作详细说明:所以不是一个学习教材:详细查考Vamei 大神:通俗易懂:是一个很好(基础-中级-高级)的学习教程.而这里只是我一个学习python的某些专题的 ...
- C语言中使用静态函数的好处
C语言中使用静态函数的好处: 静态函数会被自动分配在一个一直使用的存储区,直到退出应用程序实例,避免了调用函数时压栈出栈,速度快很多. ???(对这个不是很理解)其实我觉得上面这种说法是错误的,它的主 ...
- C/C++的一些备忘
今天使用source insight阅读videoserver源码,有一些符号ctrl+左键点击显示找不到,先是rebuild工程和同步,没有效果,然后Options->Preferences- ...
- vscode使用php调试
1:首先查看是否安装xdebug扩展 打开终端 ➜ ~ php -vPHP 5.6.24 (cli) (built: Jul 21 2016 14:27:54) Copyright (c) 1997 ...
- 浅谈mysql mvcc
以下为个人理解,如有错误,还望指正!! mysql的大多数事务型存储引擎实现的都不是简单的行级锁,基于提升并发性能的考虑,他们一般都同时实现了多版本并发控制,可以认为MVCC是行级锁的一个变种,但是它 ...
- hdu 1061 Rightmost Digit
解决本题使用数学中的快速幂取余: 该方法总结挺好的:具体参考http://www.cnblogs.com/PegasusWang/archive/2013/03/13/2958150.html #in ...
- Financial Management 分类: POJ 2015-06-11 10:51 12人阅读 评论(0) 收藏
Financial Management Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 164431 Accepted: ...
- Unity ScriptableObject的使用
ScriptableObject主要实现对象序列化的保存,因为是Unity自己的序列化,所以比xml,json序列化方便很多,但相对可控性也比较差 1.Editor下写入和读取测试: using Un ...
- linux poll 学习
一.poll介绍 函数原型: #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout); struc ...