2021/8/9

8:30-9:00 学习打卡
9:30-12:00 写qq项目
14:00-17:00 qq项目写作

1.qq登录界面的java类

设计一个界面,将里面分成三个类,文字JLabel,中间为登录信息,底部为确定按钮。

登录信息为一个JTabbedPane分三个界面,qq账号登录界面,电子邮件界面,手机好登陆界面,目前只写了qq账号界面,后期会补充完整。

代码如下:

//qq登录的界面
package qqc.view;

import qqc.mode.qqlogin;

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

public  class qqv extends JFrame implements ActionListener{
    JTabbedPane jt= new JTabbedPane();
    JLabel JL;
    JTabbedPane jtp=new JTabbedPane();
    JPanel jp1,jp3,jp4,jp5;
    JLabel jp1_jb11,getJp1_jb22,jp1_jb21,jp1_jb33,jp1_jb23;
    JTextField jp1_jb12;
    JPasswordField jp1_jb22;
    JCheckBox jp1_jb31,jp1_jb32;
    JButton jp1_jb13,jp3_jb1,jp3_jb2,jp3_jb3;
    public  void inlt(){


        //jp1为qq账号组,添加3*3的qq账号操作
        jp1=new JPanel(new GridLayout(3,3));
        jp1_jb11=new JLabel("QQ号码");
         jp1_jb12=new JTextField();
         jp1_jb13=new JButton("清除号码");
         jp1_jb13.addActionListener(this);
         jp1_jb21=new JLabel("QQ密码");
         jp1_jb22= new JPasswordField();
         jp1_jb23=new JLabel("忘记密码");
         jp1_jb33=new JLabel("申请密码保护");
         jp1_jb31=new JCheckBox("隐身登录");
         jp1_jb32=new JCheckBox("记住密码");
        //将qq组件添加进jp
        jp1.add(jp1_jb11);
        jp1.add(jp1_jb12);
        jp1.add(jp1_jb13);
        jp1.add(jp1_jb21);
        jp1.add(jp1_jb22);
        jp1.add(jp1_jb23);
        jp1.add(jp1_jb31);
        jp1.add(jp1_jb32);
        jp1.add(jp1_jb33);

        //jp3为登录按钮组
        jp3=new JPanel();
        jp3_jb1=new JButton("登录");
        jp3_jb1.addActionListener(this);
        
        jp3_jb2=new JButton("取消");
        jp3_jb3=new JButton("注册向导");
        jp3.add(jp3_jb1);
        jp3.add(jp3_jb2);
        jp3.add(jp3_jb3);

        //创建手机号并创建内容(以后弄)
        jp4=new JPanel();

        //创建电子邮件登录并创建内容(以后弄)
        jp5=new JPanel();

        JL=new JLabel(new ImageIcon("qqc/view/qq.jpg"));
        jtp.add(jp1,"qq号码");
        jtp.add(jp4,"手机号码");
        jtp.add(jp5,"电子邮件");
        this.setSize(400,300);
        this.add(JL,BorderLayout.NORTH);
        this.add(jtp,BorderLayout.CENTER);
        this.add(jp3,BorderLayout.SOUTH);
        this.setVisible(true);

    }


    public static void main(String[] args) {
        new qqv().inlt();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource()==jp3_jb1) {
            System.out.println("进入");
//            qqlogin q1= null;
//            try {
//                q1 = new qqlogin(jp1_jb12.getText(),new String(jp1_jb22.getPassword()));
//            } catch (IOException ioException) {
//                ioException.printStackTrace();
//            }
            if((jp1_jb22.getPassword()).equals("1")){//上面没完成所有只使用qq密码为1测试代码
                System.out.println("登录成功!");
                new qqin();
                this.setVisible(false);
            }
            else {
                System.out.println("登录失败!");
            }
        }
        else if(e.getSource()==jp1_jb13)
        {
            jp1_jb12.setText("");
        }

    }
}


2.qq登录成功界面

会进入一个好友,群,黑名单界面,只完成了默认显示50个好友,20个群,20个陌生人功能,后期将完善各种功能。

代码如下:

//qq信息界面
package qqc.view;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class qqin extends JFrame implements ActionListener, MouseListener {
    JPanel jp1,jp2,jp3;
    JPanel jp11,jp21,jp31;
    JPanel jp12,jp22,jp32;
    JButton b11,b12,b13,b21,b22,b23,b31,b32,b33;
    CardLayout cl=new CardLayout();
    JLabel[] jl1=new JLabel[50];
    JLabel[] jl2=new JLabel[20];
    JLabel[] jl3=new JLabel[20];
    void inlt(){


        //第一张卡片
        b11=new JButton("好友");
        b12=new JButton("群");
        b13=new JButton("黑名单");
        b11.addActionListener(this);
        b12.addActionListener(this);
        b13.addActionListener(this);
        jp1=new JPanel(new BorderLayout());
        jp11=new JPanel(new GridLayout(50,1,4,4));
        for(int i=0;i<50;i++){
            jl1[i]=new JLabel(i+1+" "+":");
            jl1[i].addMouseListener(this);
            jp11.add(jl1[i]);
        }
        jp1.add(b11,BorderLayout.NORTH);
        jp12=new JPanel(new GridLayout(2,1));
        jp12.add(b12);
        jp12.add(b13);
        jp1.add(new JScrollPane(jp11),BorderLayout.CENTER);
        jp1.add(jp12,BorderLayout.SOUTH);

        //第二张卡片
        b21=new JButton("好友");
        b22=new JButton("群");
        b23=new JButton("黑名单");
        b21.addActionListener(this);
        b22.addActionListener(this);
        b23.addActionListener(this);
        jp2=new JPanel(new BorderLayout());
        jp21=new JPanel(new GridLayout(20,1,4,4));
        for(int i=0;i<20;i++){
            jl2[i]=new JLabel(i+1+":");
            jl2[i].addMouseListener(this);
            jp21.add(jl2[i]);
        }
        jp22=new JPanel(new GridLayout(2,1));
        jp22.add(b21);
        jp22.add(b22);
        jp2.add(jp22,BorderLayout.NORTH);
        jp2.add(new JScrollPane(jp21),BorderLayout.CENTER);
        jp2.add(b23,BorderLayout.SOUTH);

        //第三张卡片
        b31=new JButton("好友");
        b32=new JButton("群");
        b33=new JButton("黑名单");
        b31.addActionListener(this);
        b32.addActionListener(this);
        b33.addActionListener(this);
        jp3=new JPanel(new BorderLayout());
        jp31=new JPanel(new GridLayout(20,1,4,4));
        for(int i=0;i<20;i++){
            jl3[i]=new JLabel(i+1+":",new ImageIcon(""),JLabel.LEFT);
            jl3[i].addMouseListener(this);
            jp31.add(jl3[i]);
        }
        jp32=new JPanel(new GridLayout(3,1));
        jp32.add(b31);
        jp32.add(b32);
        jp32.add(b33);
        jp3.add(jp32,BorderLayout.NORTH);
        jp3.add(new JScrollPane(jp31),BorderLayout.CENTER);
        this.setLayout(cl);
        this.add(jp1,"1");
        this.add(jp2,"2");
        this.add(jp3,"3");
        cl.show(this.getContentPane(),"3");
        this.setSize(200,400);
        this.setVisible(true);
    }


    public static void main(String[] args) {
        new qqin().inlt();
    }

    @Override
    public void actionPerformed(ActionEvent e) {//点击事件
        if(e.getSource()==b11||e.getSource()==b21||e.getSource()==b31){
            cl.show(this.getContentPane(),"1");
        }
        else if(e.getSource()==b12||e.getSource()==b22||e.getSource()==b32){
            cl.show(this.getContentPane(),"2");
        }
        else if(e.getSource()==b13||e.getSource()==b23||e.getSource()==b33){
            cl.show(this.getContentPane(),"3");
        }
    }

    @Override
    public void mouseClicked(MouseEvent e) {//鼠标点击
        if(e.getClickCount()==2){
            String ss=((JLabel) e.getSource()).getText();
            new qqchat(ss);
        }
    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {//鼠标移到
        JLabel jls=(JLabel) e.getSource();
        jls.setForeground(Color.BLUE);
    }

    @Override
    public void mouseExited(MouseEvent e) {//鼠标移出
        JLabel jls=(JLabel) e.getSource();
        jls.setForeground(Color.BLACK);
    }
}

3.qq服务器管理界面

实现了服务器打开,关闭界面。

代码如下:

package qqserver.view;

import qqserver.mode.qqserverm;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

public class qqserverv extends JFrame implements ActionListener {
    JButton b1,b2;
    JPanel jp=new JPanel();
    void inlt(){
        setTitle("qq服务器");
        b1=new JButton("启动服务器");
        b2=new JButton("关闭服务器");
        jp.add(b1);
        jp.add(b2);
        b1.addActionListener(this);
        b2.addActionListener(this);
        add(jp);
        setSize(400,300);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new qqserverv().inlt();//此为qq服务器与客服端连接的类
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==b1){
            System.out.println("服务器已启用");
            try {
                new qqserverm().inlt();//此为qq服务器与客服端连接的类
            } catch (IOException ioException) {
                ioException.printStackTrace();
            }
        }
        else if(e.getSource()==b2){
            System.out.println("服务器已关闭");
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值