java实现多人聊天室+私聊+Derby数据库

java实现多人聊天室+私聊+Derby数据库(没有实现注册功能)

这个聊天室困扰了我好久好久,一步一步的修改,终于不负我的努力啊,可算完成了,对于一个初学java的来说,完成第一个比较完整的项目,也是挺有成就的,但这个项目并不是特别的完善,还有待改进,希望这篇文章,可以帮助到初学者。

Login.java 登录窗体

//登陆界面的布局
package talkDemo03;

import java.awt.*;
import javax.swing.*;

public class Login {
   
	JTextField textField=null;
	JPasswordField pwdfilField=null;
	ClientSR.LoginListen listen=null;
	//构造函数
	public Login() {
   
		init();
	}
	
	public void init() {
   
		JFrame jf=new JFrame("登录");
		jf.setBounds(500, 250, 310, 210);
		jf.setResizable(false);//设置为不能调节大小
		
		JPanel jp1=new JPanel();
		JLabel headLabel =new JLabel("登陆界面");
		jp1.add(headLabel);
		
		JPanel jp2=new JPanel();
		JLabel nameJLabel=new JLabel("用户名:");
		textField=new JTextField(20);
		JLabel pwJLabel=new JLabel("密码:");
		pwdfilField=new JPasswordField(20);
		JButton loginButton=new JButton("登录");
		jp2.add(nameJLabel);
		jp2.add(textField);
		jp2.add(pwJLabel);
		jp2.add(new JLabel("  "));
		jp2.add(pwdfilField);
		jp2.add(loginButton);
		
		JPanel jp=new JPanel(new BorderLayout());
		jp.add(jp1,BorderLayout.NORTH);
		jp.add(jp2,BorderLayout.CENTER);
		
		listen=new ClientSR().new LoginListen();
		listen.setTextField(textField);
		listen.setJPasswordField(pwdfilField);
		listen.setLoginJFrame(jf);
		textField.addActionListener(listen);
		loginButton.addActionListener(listen);
		
		jf.add(jp);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setVisible(true);
	}
	/*
	 * public static void main(String[] args) { new Login(); }
	 */
}

Mainwindow.java 主窗体界面

//主窗体的布局
package talkDemo03;

import java.awt.BorderLayout;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Mainwindow{
   
	static JTextField txt1;
	JButton btnsend;
	JLabel jlabel1;
	JLabel jLabel2;
	JLabel label1=new JLabel();
	static JTextArea ja1;
	static JTextArea ja2;
	static JComboBox<String> cmb;
	JPanel jp;
	JScrollPane scroll=null;
	JScrollPane scroll1=null;
	String name=null;
	//新建一个监听类
	ClientSR.MainListen listen;
	public Mainwindow(String username) {
   
		this.name=username;
		init();
	}
	public void init() {
   
		JFrame jf=new JFrame("客户端");
		jf.setBounds(500,200,800,400);  //设置坐标和大小
		jf.setResizable(false);  // 缩放为不能缩放
		cmb=new JComboBox<String>();//设置了下拉框
		//cmb.addItem(name);
		
		//头部
		JLabel lable = new JLabel("当前用户:" + name+"   ");
		jlabel1=new JLabel("发送区");
		JPanel p1=new JPanel();
		Timer timer = new Timer();
		timer.schedule(new TimerTask() {
   
			public void run() {
   
				label1.setText("时间:" + getdate());
			}
		}, 0, 1000);
		jLabel2=new JLabel("接收区");
		p1.add(lable);
		p1.add(jlabel1);
		p1.add(new JLabel("                          "));
		p1.add(label1);
		p1.add(new JLabel("                                                                        "
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值