java实现简单QQ登录界面
程序员文章站
2023-12-17 13:15:16
本文实例为大家分享了java实现简单qq登录界面的具体代码,供大家参考,具体内容如下
java在图形界面,不是太强项,但不是不可以做,它的开源是very nice!
实...
本文实例为大家分享了java实现简单qq登录界面的具体代码,供大家参考,具体内容如下
java在图形界面,不是太强项,但不是不可以做,它的开源是very nice!
实现代码如下(想实现完美的界面,可能要更多coding的支持):
package com.ts.x.swing; import java.awt.color; import java.awt.container; import java.awt.cursor; import java.awt.font; import java.awt.image; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.imageicon; import javax.swing.jbutton; import javax.swing.jcheckbox; import javax.swing.jcombobox; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.joptionpane; import javax.swing.jpasswordfield; import javax.swing.jrootpane; import javax.swing.jtextfield; public class qq extends jframe{ private static final long serialversionuid = -6788045638380819221l; //用户名 private jtextfield ulname; //密码 private jpasswordfield ulpasswd; //小容器 private jlabel j1; private jlabel j2; private jlabel j3; private jlabel j4; //小按钮 private jbutton b1; private jbutton b2; private jbutton b3; //复选框 private jcheckbox c1; private jcheckbox c2; //列表框 private jcombobox<string> cb1; /** * 初始化qq登录页面 * */ public qq(){ //设置登录窗口标题 this.settitle("qq登录"); //去掉窗口的装饰(边框) // this.setundecorated(true); //采用指定的窗口装饰风格 this.getrootpane().setwindowdecorationstyle(jrootpane.none); //窗体组件初始化 init(); this.setdefaultcloseoperation(jframe.exit_on_close); //设置布局为绝对定位 this.setlayout(null); this.setbounds(0, 0, 355, 265); //设置窗体的图标 image img0 = new imageicon("d:/logo.png").getimage(); this.seticonimage(img0); //窗体大小不能改变 this.setresizable(false); //居中显示 this.setlocationrelativeto(null); //窗体显示 this.setvisible(true); } /** * 窗体组件初始化 * */ public void init(){ //创建一个容器,其中的图片大小和setbounds第三、四个参数要基本一致(需要自己计算裁剪) container container = this.getcontentpane(); j1 = new jlabel(); //设置背景色 image img1 = new imageicon("d:/bgimg.png").getimage(); j1.seticon(new imageicon(img1)); j1.setbounds(0, 0, 355, 265); //qq头像设定 j2 = new jlabel(); image img2 = new imageicon("d:/hdimg.png").getimage(); j2.seticon(new imageicon(img2)); j2.setbounds(40, 95, 50, 53); //用户名输入框 ulname = new jtextfield(); ulname.setbounds(100, 100, 150, 20); //注册账号 j3 = new jlabel("注册账号"); j3.setbounds(260, 100, 70, 20); //密码输入框 ulpasswd = new jpasswordfield(); ulpasswd.setbounds(100, 130, 150, 20); //找回密码 j4= new jlabel("找回密码"); j4.setbounds(260, 130, 70, 20); //记住密码 c1 = new jcheckbox("记住密码"); c1.setbounds(105, 155, 80, 15); //自动登陆 c2 = new jcheckbox("自动登陆"); c2.setbounds(185, 155, 80, 15); //用户登陆状态选择 cb1 = new jcombobox<string>(); cb1.additem("在线"); cb1.additem("隐身"); cb1.additem("离开"); cb1.setbounds(40, 150, 55, 20); //登陆按钮 b1 = new jbutton("登录"); //设置字体和颜色和手形指针 b1.setfont(new font("宋体", font.plain, 12)); b1.setforeground(color.red); b1.setcursor(cursor.getpredefinedcursor(cursor.hand_cursor)); b1.setbounds(280, 200, 65, 20); //给按钮添加 b1.addactionlistener(new actionlistener() { @override public void actionperformed(actionevent e) { string cmd = e.getactioncommand(); if("登录".equals(cmd)){ string username = ulname.gettext(); string userpassword = ulpasswd.gettext(); if(username.equals("tskk") && userpassword.equals("123456")){ joptionpane.showconfirmdialog(null, "登录成功"); }else{ joptionpane.showconfirmdialog(null, "登录失败"); } } } }); //多账号 b2 = new jbutton("多账号"); b2.setbounds(5, 200, 75, 20); //设置 b3 = new jbutton("设置"); b3.setbounds(100, 200, 65, 20); //所有组件用容器装载 j1.add(j2); j1.add(j3); j1.add(j4); j1.add(c1); j1.add(c2); j1.add(cb1); j1.add(b1); j1.add(b2); j1.add(b3); container.add(j1); container.add(ulname); container.add(ulpasswd); } public static void main(string[] args) { new qq(); } }
运行结果界面为:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。