package QQ;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class QQ extends JFrame {
/**
* 1.jbutton添加鼠标监听实现图片变化效果不如jlabel好,故下面许多组件都用jlabel代替(好像有时候会点击没反应)
* 2.图片素材来源于果核剥壳,代码中未用到的可自行收藏利用
* 3.各按钮动画判断条件自行测试体会
* 4.本人也水平一般,不足之处可自行更改优化,并欢迎在我的帖子下进行交流讨论
*
* @author MingKing
*/
private JLabel block;
int xOld = 0;
int yOld = 0;
private JLabel checkboxp;
private JLabel checkboxl;
public QQ() {
//顶层容器
setUndecorated(true);//去除默认标题栏
setSize(430, 330);//设置窗口大小
setFocusable(true);//获取焦点,防止启动时焦点在输入qq号的窗口上
this.setLocationRelativeTo(null);//窗口居中
//中间容器
JPanel contentPane = new JPanel();
contentPane.setBackground(new Color(234, 241, 248));
contentPane.setLayout(null);
setContentPane(contentPane);
//关闭按钮
JLabel close = new JLabel(new ImageIcon("res/LoginFrame/Btn_Login/btn_close_normal.png"));
close.setBounds(400, 0, 30, 27);
close.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
// 处理鼠标点击
System.exit(0);
}
public void mouseEntered(MouseEvent e) {
// 处理鼠标移入
close.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/btn_close_highlight.png"));
}
public void mouseExited(MouseEvent e) {
// 处理鼠标离开
if(e.getModifiers()==0)
close.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/btn_close_normal.png"));
}
public void mousePressed(MouseEvent e) {
// 处理鼠标按下
close.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/btn_close_down.png"));
}
public void mouseReleased(MouseEvent e) {
// 处理鼠标释放
close.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/btn_close_normal.png"));
}
});
contentPane.add(close);
//登陆状态图标(未设置点击事件)
JLabel state = new JLabel(new ImageIcon("res/LoginFrame/status/imonline.png"));
state.setOpaque(false);
state.setBorder(null);
state.setBounds(100, 261, 15, 15);
contentPane.add(state);
//最小化按钮
JLabel minimize = new JLabel(new ImageIcon("res/LoginFrame/Btn_Login/btn_mini_normal.png"));
minimize.setBounds(370, 0, 30, 27);
minimize.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
// 处理鼠标点击
QQ.this.setExtendedState(JFrame.ICONIFIED);
}
public void mouseEntered(MouseEvent e) {
// 处理鼠标移入
minimize.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/btn_mini_highlight.png"));
}
public void mouseExited(MouseEvent e) {
// 处理鼠标离开
if(e.getModifiers()==0)
minimize.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/btn_mini_normal.png"));
}
public void mousePressed(MouseEvent e) {
// 处理鼠标按下
minimize.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/btn_mini_down.png"));
}
public void mouseReleased(MouseEvent e) {
// 处理鼠标释放
minimize.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/btn_mini_normal.png"));
}
});
contentPane.add(minimize);
//箭头按钮
JLabel arrow = new JLabel(new ImageIcon("res/LoginFrame/Btn_Login/aio_setting_white_normal.png"));
arrow.setBounds(340, 0, 30, 27);
arrow.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
// 处理鼠标点击
}
public void mouseEntered(MouseEvent e) {
// 处理鼠标移入
arrow.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/aio_setting_white_hover.png"));
}
public void mouseExited(MouseEvent e) {
// 处理鼠标离开
if(e.getModifiers()==0)
arrow.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/aio_setting_white_normal.png"));
}
public void mousePressed(MouseEvent e) {
// 处理鼠标按下
arrow.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/aio_setting_white_down.png"));
}
public void mouseReleased(MouseEvent e) {
// 处理鼠标释放
if(e.getX()<=arrow.getWidth()&&e.getX()>=0&&e.getY()<=arrow.getHeight()&&e.getY()>=0)
arrow.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/aio_setting_white_hover.png"));
else
arrow.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/aio_setting_white_normal.png"));
}
});
contentPane.add(arrow);
//qq标志
JLabel logo = new JLabel(new ImageIcon("res/LoginFrame/logo-banner.png"));
logo.setBounds(155, 65, 129, 64);
contentPane.add(logo);
//调整头像图片大小
ImageIcon headImage = new ImageIcon("res/timg.jpg");
headImage.setImage(headImage.getImage().getScaledInstance(82, 82,Image.SCALE_DEFAULT ));
//图片加入到头像标签中
JLabel head = new JLabel(headImage);
head.setBounds(34, 195, 82, 82);
contentPane.add(head);
//左下角人头按钮
JLabel people = new JLabel(new ImageIcon("res/LoginFrame/Btn_Login/switch_single_normal.png"));
people.setBounds(6, 300, 24, 24);
people.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
// 处理鼠标点击
}
public void mouseEntered(MouseEvent e) {
// 处理鼠标移入
people.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/switch_single_hover.png"));
}
public void mouseExited(MouseEvent e) {
// 处理鼠标离开
if(e.getModifiers()==0)
people.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/switch_single_normal.png"));
}
public void mousePressed(MouseEvent e) {
// 处理鼠标按下
people.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/switch_single_down.png"));
}
public void mouseReleased(MouseEvent e) {
// 处理鼠标释放
if(e.getX()<=people.getWidth()&&e.getX()>=0&&e.getY()<=people.getHeight()&&e.getY()>=0)
people.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/switch_single_hover.png"));
else
people.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/switch_single_normal.png"));
}
});
contentPane.add(people);
//右下角二维码按钮
JLabel code = new JLabel(new ImageIcon("res/LoginFrame/Btn_Login/corner_right_normal_breath.png"));
code.setBounds(400, 300, 24, 24);
code.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
// 处理鼠标点击
}
public void mouseEntered(MouseEvent e) {
// 处理鼠标移入
code.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/corner_right_hover.png"));
}
public void mouseExited(MouseEvent e) {
// 处理鼠标离开
if(e.getModifiers()==0)
code.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/corner_right_normal_breath.png"));
}
public void mousePressed(MouseEvent e) {
// 处理鼠标按下
code.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/corner_right_normal_down.png"));
}
public void mouseReleased(MouseEvent e) {
// 处理鼠标释放
if(e.getX()<=code.getWidth()&&e.getX()>=0&&e.getY()<=code.getHeight()&&e.getY()>=0)
code.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/corner_right_hover.png"));
else
code.setIcon(new ImageIcon("res/LoginFrame/Btn_Login/corner_right_normal_breath.png"));
}
});
contentPane.add(code);
//密码框中键盘按钮
JLabel keyboard = new JLabel(new ImageIcon("res/LoginFrame/PasswordEdit_Keybd/keyboard_normal.png"));
keyboard.setBounds(298, 231, 15, 16);
keyboard.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
// 处理鼠标点击
}
public void mouseEntered(MouseEvent e) {
// 处理鼠标移入
keyboard.setIcon(new ImageIcon("res/LoginFrame/PasswordEdit_Keybd/keyboard_hover.png"));
}
public void mouseExited(MouseEvent e) {
// 处理鼠标离开
if(e.getModifiers()==0)
keyboard.setIcon(new ImageIcon("res/LoginFrame/PasswordEdit_Keybd/keyboard_normal.png"));
}
public void mousePressed(MouseEvent e) {
// 处理鼠标按下
keyboard.setIcon(new ImageIcon("res/LoginFrame/Passwo
没有合适的资源?快使用搜索试试~ 我知道了~
JAVA仿QQ登录界面源码.rar_java 聊天
共115个文件
png:60个
class:38个
jpg:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 147 浏览量
2022-09-21
00:40:19
上传
评论
收藏 112KB RAR 举报
温馨提示
仿qq登陆界面,未添加事件处理,主要是界面代码
资源推荐
资源详情
资源评论
收起资源包目录
JAVA仿QQ登录界面源码.rar_java 聊天 (115个子文件)
QQ.class 6KB
QQ.class 6KB
QQ$7.class 2KB
QQ$8.class 2KB
QQ$7.class 2KB
QQ$8.class 2KB
QQ$6.class 2KB
QQ$3.class 2KB
QQ$5.class 2KB
QQ$6.class 2KB
QQ$3.class 2KB
QQ$5.class 2KB
QQ$4.class 2KB
QQ$15.class 2KB
QQ$4.class 2KB
QQ$15.class 2KB
QQ$14.class 2KB
QQ$13.class 2KB
QQ$14.class 2KB
QQ$13.class 2KB
QQ$2.class 1KB
QQ$1.class 1KB
QQ$1.class 1KB
QQ$2.class 1KB
QQ$12.class 1KB
QQ$12.class 1KB
QQ$11.class 1KB
QQ$9.class 1KB
QQ$11.class 1KB
QQ$9.class 1KB
QQ$10.class 1KB
QQ$10.class 1KB
QQ$17.class 836B
QQ$17.class 830B
QQ$16.class 677B
QQ$18.class 671B
QQ$16.class 671B
QQ$18.class 671B
.classpath 301B
QQ.java 20KB
timg.jpg 14KB
default.jpg 7KB
bk.jpg 3KB
a.jpg 641B
.netbeans_automatic_build 0B
.netbeans_update_resources 0B
logo-banner.png 6KB
defaultFace.png 4KB
Editbk_bottom_hover.png 877B
Editbk_top_hover.png 871B
Editbk_normal.png 782B
switch_single_down.png 430B
switch_single_normal.png 430B
switch_single_hover.png 430B
BtnBase.png 417B
away.png 411B
mute.png 316B
Qme.png 312B
mima_hover.png 290B
mima_press.png 290B
mima.png 290B
aio_setting_white_normal.png 279B
aio_setting_white_hover.png 279B
aio_setting_white_down.png 277B
zhuce.png 265B
zhuce_hover.png 265B
zhuce_press.png 265B
imonline.png 244B
busy.png 238B
invisible.png 235B
sysbtn_close_hover.png 214B
sysbtn_close_down.png 209B
keyboard_normal.png 206B
keyboard_down.png 205B
keyboard_hover.png 205B
corner_right_normal_down.png 203B
corner_right_normal_breath.png 203B
corner_right_hover.png 203B
button_login_down.png 201B
button_login_hover.png 201B
button_login_normal.png 200B
btn_close_highlight.png 199B
sysbtn_close_normal.png 193B
CheckBox_down.png 192B
btn_close_down.png 188B
btn_close_normal.png 183B
CheckBox_normal.png 175B
CheckBox_highlight.png 175B
Checkbox_tick_highlight1.png 165B
Checkbox_tick_pushed1.png 165B
Checkbox_tick_normal1.png 165B
aio_setting_normal.png 164B
aio_setting_down.png 163B
aio_setting_hover.png 161B
sysbtn_restore_normal.png 145B
sysbtn_max_normal.png 139B
sysbtn_restore_down.png 130B
sysbtn_restore_hover.png 130B
sysbtn_min_normal.png 129B
sysbtn_max_down.png 129B
共 115 条
- 1
- 2
资源评论
alvarocfc
- 粉丝: 109
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于QT+C++的智能云监护仪项目,能够实时显示使用者心电、血氧、血压波形及其它各种参数+源码(毕业设计&课程设计&项目开发)
- 基于java开发的app接收硬件端传输的心音信号,具有显示心音波形,发出心音的功能+源码(毕业设计&课程设计&项目开发)
- Python 程序语言设计模式思路-行为型模式:职责链模式:将请求从一个处理者传递到下一个处理者
- 9241703124789646.16健身系统2.apk
- postgresql-16.3-1-windows-x64.exe
- Python 程序语言设计模式思路-结构型模式:装饰器讲解及利用Python装饰器模式实现高效日志记录和性能测试
- 基于YOLOv5和DeepSORT的多目标跟踪仿真与记录
- Python 程序语言设计模式思路-创建型模式:原型模式:通过复制现有对象来创建新对象,面向对象编程
- 卸载软件geek卸载软件geek
- Python 程序语言设计模式思路-创建型模式:单例模式,确保一个类的唯一实例(装饰器)面向对象编程、继承
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功