要山寨出QQ登陆界面,首先要对java的图形界面有一定的了解。在jdk1.4之前,图形界面所用到的所有类和接口都在javax.awt之下,在其之后就都在javax.swing里了。
关于图形界面的开发其实就类似于搭积木的过程,我们把所需要的控件一个一个的摆放到窗口里面我们所需要的位置,一个图形界面就算基本完成了。下面我们就拿QQ的登陆界面做一个示范。
首先我们先了解一下图形界面中所用到的一些基本的控件,这些都在Javax.swing内:
JFrame(JApplet) 图形中的顶级容器
JPanel 最灵活的容器
JTextField 文本输入框
JComboBox 下拉框类
JPasswordField 密码输入框
JCheckBox 复选框,多选框
JLabel 标签
JButton 按钮
其次就是布局方式,这关系到我们怎么样把积木摆放到我们想要的位置:
BorderLayout 边框布局 将容器分为上北下南左西右东中间
FlowLayout 流式布局 类似word文档
null 空布局,绝对布局 控件必须要指定起始坐标和宽度高度
下面我们就来看下实现QQ界面开发的步骤
1.定义一个QQFrame,让该类继承自JFrame。
2.在QQFrame类中定义主函数和初始化界面的方法。
3.在主函数中实例化QQFrame类的对象,调用初始化界面的方法。
4.在初始化界面的方法中,设置窗体的属性值(标题,大小,位置,大小调整,布局,关闭,可见,...)
5.设置窗体的背景图(单独定义方法进行设置),这里我们会用到添加图片的方法
6.创建容器或者元素控件添加到JFrame上。
1.创建北边区域的方法,设置标签
2.创建西边区域的方法,创建容器,添加标签显示图片
3.创建中间区域的方法,创建容器,添加账号,密码,标签,复选框控件
4.创建南边区域的方法,创建容器,添加按钮,标签控件。
7. 5.在主函数中实例化QQFrame类的对象,调用初始化界面的方法。
下面就在代码中说说我所遇到的问题,也请大家留意这些问题不要再犯
//初始化界面方法
public void initUI(){
//标题 大小显示位置布局方式。。。
this.setTitle("QQFrame");
this.setSize(371,290);
this.setLocationRelativeTo(null);//让窗口显示位置居屏幕中间
this.setResizable(false);//不可随意调整大小
this.setLayout(new BorderLayout());//设置布局方式尤其要注意默认的布局方式就是框架布局 所以这行代码写不写无所谓
this.setDefaultCloseOperation(3);//关闭窗体时退出程序
this.setUndecorated(true);//去掉窗口外面的边框但这时没有了关闭按钮,所以我们还得在界面上添加按钮,点击后可以关闭界面,关闭界面的代码很简单System.exit(0);就是这一行。
//调用添加窗体背景图的方法
addBackGround();
//由于我们采用框架布局,将界面分为东西南北中五块这里是调用添加窗口各个区域的方法
creatNorth();
creatWest();
creatCenter();
creatSouth();
//设置窗口可见
这里要注意的是添加组件时一定要先添加最后再可视,如果先可视再添加,那么很有可能我们看不到添加的组件了。
this.setVisible(true);
}
// 有时候我们会想用自己的图片来充当界面的北京下面就介绍添加背景的方法
private void addBackGround(){
我们可能会想将自己的照片设置为窗口背景,那这要怎么样做呢我们需要用到ImageIcon类帮助我们实现
//使用imageicon加载图片 但是这样无法直接显示在窗口上
ImageIcon image=new ImageIcon(this.getClass().getResource("haha.JPG"));//得到类得到路径,图片的格式没有要求,
//创建jlabel对象显示图片
JLabel j=new JLabel(image);
//设置标签的显示起始位置和标签限时的宽度高度
j.setBounds(0,0,image.getIconWidth(),image.getIconHeight());
//将j添加到jlayeredpane的Default层上,Default层是最底下的一层,我们在后面给的值是MIN_VALUE最小的值,就是将标签加到了面板的最底层,这里我们必须要加在最底层上,否则显示不出来。
this.getLayeredPane().add(j,new Integer(Integer.MIN_VALUE));
//获取窗体的内容面板对象强制转换成JPanel对象这样我们就取到了LayeredPane面板上一层的ContentPane面板
JPanel contentPane=(JPanel)this.getContentPane();
//将内容面板设置为透明我们才可以看到我们想要的图片
contentPane.setOpaque(false);
}
下面我们以西边区域为例,讲一下每个区域的添加控件的方法
//创建西边区域
private void creatWest(){
//创建一个容器,我们要添加的所有组件都应是放在这个容器里的
JPanel jp=new JPanel();
//设置容器大小,只有窗口的大小要用setSize方法,其余的一律要用这种,因为西边区域的高度是窗口高度减去北边还有南边的高度之和,所以西边区域的高度是被动确定的,在这里些什么数字都无所谓,我们在这里写0。延伸一下,中间区域就是东西南北四个区域设置完剩下的部分,所以中间区域就不用设置大小了。
jp.setPreferredSize(new Dimension(110,0));
//设置容器布局为流式靠右布局
jp.setLayout(new FlowLayout(FlowLayout.RIGHT));
//加载图片
ImageIcon im=new ImageIcon(this.getClass().getResource("real.jpg"));
//创建标签对象
JLabel j=new JLabel(im);
//将标签加入面板中并设置面板为透明
jp.add(j);
jp.setOpaque(false);
//将面板加到西边
this.add(jp,BorderLayout.WEST);
}
其余的区域都和西边和中间区域的添加方法一致,qq界面的所有代码我都放在了附件中,如果有兴趣大家可以看看,当然界面做的还是比较粗糙,不过里面所有的功能都已经实现,比如说链接网页,拖动窗口。后期我还要对界面进行美化。
相关推荐
java版山寨QQ项目 里面有四个压缩包 QQ服务器端.rar QQ客户端.rar 改进QQ客户机服务器视频实现.rar Q第三方库.rar 这个java版山寨QQ项目实现的功能有: 1.实现的java视频聊天; 2.集成了Mina框架; 3.服务器管理...
4. **素材**:这部分可能包括了山寨版QQ应用的界面设计元素,如图标、背景图等,有助于学习者了解GUI设计和Java图形界面编程。 学习这个项目时,你需要关注以下几个关键知识点: 1. **Java基础**:熟悉Java的基本...
【Java实习报告——山寨QQ聊天工具设计】 这份实习报告详细记录了一个基于Java的简易聊天系统的开发过程,项目名为"My_QQ",旨在模仿QQ的基本功能,包括登录、注册、单人及多人聊天,并且退出应用。这个项目是针对...
1. **Java GUI设计**:为了实现美观的用户界面,项目可能采用了Java Swing或JavaFX库来构建图形用户界面。Swing提供了丰富的组件如JFrame(窗口)、JLabel(标签)、JButton(按钮)、JTextField(文本框)等,用于...
而"素材"可能包含图形界面设计、图标、音频等资源,这些都是构建用户界面和增强用户体验的重要元素。 在这个项目中,开发者可能需要学习和掌握以下知识点: 1. **Java基础**:包括面向对象编程概念,如类、对象、...
这个项目提供了从基础到进阶的Java编程实践,涵盖了网络通信、多线程、图形用户界面(GUI)设计等多个重要知识点。 1. **Java编程基础**:Java是该项目的基础语言,它是一种面向对象的、跨平台的编程语言。学习者...
在这个项目中,开发者可能使用了Java Swing或JavaFX库来创建QQ2010的图形用户界面(GUI),这两个库提供了丰富的组件和工具,可以构建桌面应用的用户界面。 QQ是中国最流行的即时通讯软件之一,由腾讯公司开发。QQ...
【标题】"java GUI 山寨QQ"是一个基于Java Standard Edition (Java SE) 开发的图形用户界面(GUI)应用程序,旨在模仿QQ即时通讯软件的功能。这个项目展示了如何利用Java的Swing或JavaFX库来构建桌面应用,并通过SQL...
资源名称:循序渐进学java视频教程之山寨版QQ资源目录:【】abbr_2b0a956c6deaffd161055bcc69352490【】abbr_69fe1d0216f529000a178ba7a943dbd8【】abbr_83be30c3d0d895e0b4887fe4e9c049f2【】abbr_89247c1a9c971d54...
3. 用户界面:为了模拟QQ的聊天功能,客户端通常需要设计图形用户界面(GUI),可能使用Java Swing或JavaFX库来实现。 此外,为了实现多用户同时在线聊天,服务器端需要处理多个并发连接。这需要用到Java的多线程...
5. **图形用户界面(GUI)设计**:为了让用户有更好的交互体验,“山寨QQ”需要一个友好的界面。Java提供了Swing和JavaFX两个库来创建GUI。可以使用组件如`JFrame`、`JButton`、`JLabel`等构建窗口和控件,并通过...
2. **图形用户界面(GUI)设计**:为了仿真QQ的界面,开发者可能使用了Java的Swing或JavaFX库来创建窗口和组件,如按钮、文本框和聊天窗口。这些组件通过布局管理器进行组织,以达到美观且易用的交互效果。 3. **...
通过这个"山寨java版qq"项目,开发者能够深入理解网络编程、多线程、用户界面设计等多个核心Java编程概念,并锻炼到实际问题解决能力。对于初学者,这是一个很好的实践案例,能帮助他们提升编程技能和理解网络应用...
2. **图形用户界面(GUI)**:为了实现聊天功能,项目可能使用了Java Swing或JavaFX库来创建用户界面,包括文本框、按钮、聊天窗口等组件。 3. **事件处理**:Java事件监听机制是GUI编程的关键,用户操作如点击按钮...
有流程图 还有图形界面” 【标签】:“山寨QQ” 【正文】: 本课程设计旨在实现一个基于JAVA的即时通讯工具,模仿QQ的功能,为用户提供基本的聊天和好友管理服务。以下将详细介绍设计背景、选择JAVA的原因、...
Java聊天系统,通常被称为山寨QQ,是一个基于Java技术构建的即时通讯软件,旨在模拟QQ的基本功能,如用户注册、登录、消息发送与接收、表情支持和字体设置等。要实现这样一个系统,开发者需要掌握以下几个核心知识点...
登录功能是任何社交应用的基础,JavaQQ的登录模块可能包含用户身份验证和会话管理。在Java中,可以使用Servlet或Spring MVC框架处理HTTP请求,通过比较用户名和密码与数据库中的记录来验证用户身份。同时,为了保持...
在这个项目中,我们讨论的是一个"Java编写的山寨QQ源代码",它是一个学习和理解Java技术如何应用于即时通讯软件开发的实例。这个项目涉及到的关键知识点包括多线程、图形用户界面(GUI)以及输入/输出(I/O)操作。 ...
1. **富图形界面**:JavaFX支持CSS样式,可以创建出具有现代感和高度定制的用户界面,包括复杂的布局、透明效果、自定义形状等。在"JavaFX山寨QQ2016"中,开发者可能利用了这些特性来模拟QQ的聊天窗口、联系人列表、...