怎么用JAVA做个聊天工具
1个回答
2013-10-27
展开全部
先要做个登录界面, 再做聊天界面 ,服务器端, 再连数据库, 我这刚刚写过这个程序,
这只是一个登录了
import java.awt.* ;
import javax.swing.* ;
import java.awt.event.*;
import java.net.* ;
public class Login extends JFrame implements ActionListener {
JTextField t_username = new JTextField() ;
JPasswordField t_password = new JPasswordField() ;
Login() {
//设置窗体属性
this.setSize(250 , 150) ;
this.setTitle("QQ登录") ;
int width = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth() ;
int height = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight() ;
this.setLocation((width-250)/2,(height-150)/2) ;
//new一大堆组件
JLabel l_username = new JLabel("用户名") ;
JLabel l_password = new JLabel("密码") ;
JButton b_login = new JButton("登录") ;
JButton b_cancel = new JButton("取消") ;
JButton b_reg = new JButton("注册") ;
//注册事件监听
b_login.addActionListener(this) ;
b_cancel.addActionListener(this) ;
b_reg.addActionListener(this) ;
//布置输入面板
JPanel p_input = new JPanel() ;
p_input.setLayout(new GridLayout(2 ,2 )) ;
p_input.add(l_username) ;
p_input.add(t_username) ;
p_input.add(l_password) ;
p_input.add(t_password) ;
//布置按钮面板
JPanel p_button = new JPanel() ;
p_button.setLayout(new FlowLayout()) ;
p_button.add(b_login) ;
p_button.add(b_cancel) ;
p_button.add(b_reg) ;
//布置窗体
this.setLayout(new BorderLayout()) ;
this.add(p_input , BorderLayout.CENTER) ;
this.add(p_button , BorderLayout.SOUTH) ;
}
public static void main(String args[]){
Login w = new Login() ;
w.setVisible(true) ;
}
/**
* Method actionPerformed
*
*
* @param e
*
*/
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("登录")){
//将用户名和密码发送到服务器
try {
Socket s = new Socket("127.0.0.1" , 8000) ;
MyNet mn = new MyNet(s) ;
mn.sender(t_username.getText()+"%"+t_password.getText()) ;
//接收服务器发送来的确认信息
if(mn.receive().equals("ok")){
Main w = new Main(t_username.getText()) ;
w.setMyNet(mn) ;
w.setVisible(true) ;
this.setVisible(false) ;
}
}
catch (Exception ex) {
}
}
if(e.getActionCommand().equals("取消")){
System.exit(0) ;
}
if(e.getActionCommand().equals("注册")){
}
}
}
这只是一个登录了
import java.awt.* ;
import javax.swing.* ;
import java.awt.event.*;
import java.net.* ;
public class Login extends JFrame implements ActionListener {
JTextField t_username = new JTextField() ;
JPasswordField t_password = new JPasswordField() ;
Login() {
//设置窗体属性
this.setSize(250 , 150) ;
this.setTitle("QQ登录") ;
int width = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth() ;
int height = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight() ;
this.setLocation((width-250)/2,(height-150)/2) ;
//new一大堆组件
JLabel l_username = new JLabel("用户名") ;
JLabel l_password = new JLabel("密码") ;
JButton b_login = new JButton("登录") ;
JButton b_cancel = new JButton("取消") ;
JButton b_reg = new JButton("注册") ;
//注册事件监听
b_login.addActionListener(this) ;
b_cancel.addActionListener(this) ;
b_reg.addActionListener(this) ;
//布置输入面板
JPanel p_input = new JPanel() ;
p_input.setLayout(new GridLayout(2 ,2 )) ;
p_input.add(l_username) ;
p_input.add(t_username) ;
p_input.add(l_password) ;
p_input.add(t_password) ;
//布置按钮面板
JPanel p_button = new JPanel() ;
p_button.setLayout(new FlowLayout()) ;
p_button.add(b_login) ;
p_button.add(b_cancel) ;
p_button.add(b_reg) ;
//布置窗体
this.setLayout(new BorderLayout()) ;
this.add(p_input , BorderLayout.CENTER) ;
this.add(p_button , BorderLayout.SOUTH) ;
}
public static void main(String args[]){
Login w = new Login() ;
w.setVisible(true) ;
}
/**
* Method actionPerformed
*
*
* @param e
*
*/
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("登录")){
//将用户名和密码发送到服务器
try {
Socket s = new Socket("127.0.0.1" , 8000) ;
MyNet mn = new MyNet(s) ;
mn.sender(t_username.getText()+"%"+t_password.getText()) ;
//接收服务器发送来的确认信息
if(mn.receive().equals("ok")){
Main w = new Main(t_username.getText()) ;
w.setMyNet(mn) ;
w.setVisible(true) ;
this.setVisible(false) ;
}
}
catch (Exception ex) {
}
}
if(e.getActionCommand().equals("取消")){
System.exit(0) ;
}
if(e.getActionCommand().equals("注册")){
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |