QQ登录界面(Java)

hi~好久不见吖,我又回来啦,dengdengdeng(他来了,他来了,他带着他新学的知识来啦)

咳咳,只是一个简单的界面,啥也不能干

这段时间我学习了窗体的创建,听老师讲了一会怎么创建QQ登录界面,所以回寝室后我迫不及待的操作了一波,结果,,,并没有我想的那么简单,我只能敲一个简单的一个界面,如何登录,如何存账号,密码,这些,,,额,都需要后期学习数据库才能往下操作,苦逼的我(啥也不知道,呜呜呜)

好叭,话不多说,先让你们看看我敲出来的效果是怎么样的

这是一个截图,敲出后的截图(个人觉得还蛮好看的,ヽ( ̄▽ ̄)ノ)

来吧,下面我讲解一下

首先我们先创建一个属于自己的类去继承JFrame(窗体)这个类

这个类里面要有以上图片所需要的东西,分三个容器panel,然后看到图片,我们知道需要两个图片image,两个按钮button,而三个容器分别装不同的东西。

第一个容器装最上面的图片QQ的那个,第二个容器存放四个标签,两个文本框,最后一个容器也是最下面的那个,用来装两个按钮。

大家看看这上面用到了几个标签呢?

我数了数,一二三四五,上山打老虎,哈哈哈,五个标签哦~第一个标签用来放图片QQ,第二个用来显示“QQ账号”,第三个同理显示“QQ密码”,(噢,忘了说了,我是竖着来的),第四个标签用来存放一个链接“注册账号”,第五个和第四个也一样,都是链接存放(这一部分需要用到一点点HTML的知识点,不过蛮简单的)

两个文本框,一个账号,一个密码。

在这里面我用到了鼠标事件监听器,只是试了一下,学习了一点点有关文本事件的的知识点,看起来更像那么回事((T_T))

package com;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class C {
    public static void main(String args[]){
        new MyInterface();
    }
}
class MyInterface extends JFrame{
    //声明对象啦
    JPanel jp1,jp2,jp3;//三个容器
    JLabel jl1,jl2,jl3,jl4,jl5;//五个标签
    JButton jb1,jb2;//两个按钮
    JTextField jtf;//文本文件
    JPasswordField jpf;//密码文本文件
    public MyInterface(){
        jp1=new JPanel();
        jp2=new JPanel();
        jp3=new JPanel();
        //第一个标签引入图片
        jl1=new JLabel(new ImageIcon("d788d43f8794a4c260ce63540df41bd5ac6e39db.jpg"));
        //标签二和三是用来显示QQ号码和密码的,Jlabel.CENTER是用来让内容居中
        jl2=new JLabel("QQ号码:",JLabel.CENTER);
        jl3=new JLabel("QQ密码:",JLabel.CENTER);
        //标签三和四运用了一点点HTML的知识点,HTML标签是由尖括号包围的关键词,并且通常成对出现
        //<a></a>这是引用链接的标签,<html></html>这是定义一个文本文件,而href是一个属性,标签的 href 属性用于指定超链接目标的 URL
        jl4=new JLabel("<html> <a href='www.qq.com' ></a> 注册账号 </html>",JLabel.CENTER);
        jl5=new JLabel("<html> <a href='www.qq.com' ></a> 忘记密码 </html>",JLabel.CENTER);
        jb1=new JButton("安全登录");
        jb2=new JButton("取消");
        jtf=new JTextField(10);
        jpf=new JPasswordField(10);
        //网格布局GridLayout,两行三列,水平间距是5,垂直间距是10
        jp2.setLayout(new GridLayout(2,3,5,10));
        //将对应的按钮,标签放入容器中
        jp1.add(jl1);
        jp2.add(jl2);
        jp2.add(jtf);
        jp2.add(jl4);
        jp2.add(jl3);
        jp2.add(jpf);
        jp2.add(jl5);
        jp3.add(jb1);
        jp3.add(jb2);
        //声明一个小图标
        ImageIcon i=new ImageIcon("src=http___nimg.ws.126.net__url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F0605%2F766ef3d9p00qu7fg5001bd000v900hcp.png&thumbnail=650x2147483647&quality=80&type=jpg&refer=http___nimg.ws.126.jpg");
        this.setIconImage(i.getImage());
        //将容器放入窗体中对应的位置
        this.add(jp1, BorderLayout.NORTH);
        this.add(jp2);
        this.add(jp3,BorderLayout.SOUTH);
        //将窗体的标题设置为QQ
        this.setTitle("QQ");
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setVisible(true);
        this.setResizable(false);
        this.setLocation(400,400);
        this.setSize(400,300);
        //当鼠标放到按钮上时的小提示,jb2同这个一样
        jb1.setToolTipText("点击登录");
        //这是我自己弄的一个鼠标事件,当点击jb1是所会发生的事情以及程序会如何应对
        jb1.addMouseListener(new MouseListener() {
            @Override
            public void mouseClicked(MouseEvent mouseEvent) {
                JFrame j=new JFrame("qq");
                ImageIcon i=new ImageIcon("src=http___nimg.ws.126.net__url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F0605%2F766ef3d9p00qu7fg5001bd000v900hcp.png&thumbnail=650x2147483647&quality=80&type=jpg&refer=http___nimg.ws.126.jpg");
                j.setIconImage(i.getImage());
                j.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
                j.setVisible(true);
                j.setResizable(false);
                j.setLocation(400,400);
                j.setSize(400,300);
            }

            @Override
            public void mousePressed(MouseEvent mouseEvent) {

            }

            @Override
            public void mouseReleased(MouseEvent mouseEvent) {

            }

            @Override
            public void mouseEntered(MouseEvent mouseEvent) {

            }

            @Override
            public void mouseExited(MouseEvent mouseEvent) {

            }
        });
        jb2.setToolTipText("点击退出");
        //当点击jb2时直接退出窗体
        jb2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                dispose();
                System.exit(0);
            }
        });
    }
}

以上就是我敲的全代码了,emm,,,还有很多不完善的,我需要成长(需要大家指点指点),如果有看不懂的也可以和我交流一下,或者找一下度娘,嘿嘿

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值