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的更多相关文章

随机推荐

  1. weblogic的jar包冲突

    异常: Error creating bean with name 'sessionFactoryWrite' defined in class path resource [applicationC ...

  2. POSIX字符类

    POSIX字符类需要用引号,或双括号[[]]括起来: [:alnum:]:匹配字面和数字字符.等同于A~Z,a~z,0~9 [:alpha:]:匹配字母字符.等同于A~Z,a~z [:blank:]: ...

  3. 定义提示符 PS1 PS4

    PS1,如:[xiluhua@vm-xiluhua][~]$ # prompt PS1 export PATH BLUE=$(tput setaf ) PURPLE=$(tput setaf ) YE ...

  4. jquery+thinkphp实现跨域抓取数据的方法

    jquery的$.post发送数据到服务器后台,在由后台的PHP代码执行远程抓取,存到数据库ajax返回数据到前台,前台用JS接受数据并显示. //远程抓取获取数据$("#update_ac ...

  5. uname -r和uname -a了解

    1.uname -r :显示操作系统的发行版号2.uname -a :显示系统名.节点名称.操作系统的发行版号.操作系统版本.运行系统的机器 ID 号. #uname -aHP-UX RX1600 B ...

  6. Spring中@Cacheable的用法

    在Spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式.不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以, ...

  7. java 面试每日一题3

    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. import java.io.Bu ...

  8. [xcode]Xcode查找函数(方法)调用及被调用

    参考资料:http://stackoverflow.com/questions/7145045/find-method-references-in-xcode 这个功能有的说是 Find Caller ...

  9. cookie与localstorage和sessionstorage的区别比较

    保存位置: 三者均保存在浏览器端,且同源的. 与服务器的关系: cookie 数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递. sessionStorage ...

  10. hdu4914 Linear recursive sequence

    用矩阵求解线性递推式通项 用fft优化矩阵乘法 首先把递推式求解转化为矩阵求幂,再利用特征多项式f(λ)满足f(A) = 0,将矩阵求幂转化为多项式相乘, 最后利用傅里叶变换的高效算法(迭代取代递归) ...