小时候一直觉得网络是个很神奇的存在,跨时跨域跨平台、娱乐沟通查资料。可以做的真的太多太多。直到开始接触编程,开始接触Java,才慢慢发现,一个个小窗体的背后都源于代码的支撑。学习Swing界面开发,掌握Java提供的组件和布局API类,我们便可以尝试着做属于自己的扣扣登陆界面。
比较和分析界面类图形,显而易见,其共同特点便是,大窗体套小格子,小格子上加小方块,也就是说~想要做出一个美观的界面,首先要创建一个大的框架,再进行细节的雕琢。
那么在开始创建图形以前,我们先来介绍一下创建图形的基本知识。
1.jdk1.4时推出的Swing图形界面类中,JFrame和JPanel是两个常用容器组件。
Frame,也叫框架,它是由一个包括最大化、最小化、关闭和Frame名称所组成的一个框架运行界面。
Panel,也叫面板,将Panel添加在Frame上可以使得许多事情变得更容易解决。
需要注意的是,两个窗体类的对象不可以相互添加。
除此之外,Swing图形界面类中还包含许多元素组件,如:
JButton 按钮类
JLabel 标签类
JTextField 单行文本输入框类
JPasswordField 密码文本输入框类
JCheckBox 复选框类
JComboBox 下拉框类
实例化之后,便可以设置相应的属性,添加到大的框架当中。拿添加登陆按钮来说,
//先实例化一个JButton的对象jbu,令其显示“登陆”二字。
JButton jbu = new JButton("登陆");
//设置组件大小
jbu.setPreferredSize(new java.awt.Dimension(150,30));
//最后将JButton的对象jbu添加到窗体jf上
jf.add(jbu);
2.一个窗体上会出现很多元素,那么如何布局才能够使得界面更为美观实用便是一个值得思考的问题, 相应便需要引入布局的概念。在jdk1.4之前就推出了awt图形界面类,
此类中包含Java图形界面开发过程中常用的布局API类,如:
FlowLayout 流式布局类
BorderLayout 边框布局类(默认;添加组件是默认为添加在中央)
GridLayout 网格布局类
①流式布局类,是将组件流水似的摆放在Frame或其它构件上,从左到右,依次排放,碰到边界就重新另起行,顺序排放,整体置放在中心的位置。
②边界布局类,将板块分为东西南北中五个方向,每添加一个组件就要指定组件摆放的方位,放置在东西南北四个方向的组件将贴边放置。
③网格布局类,就是分几行几列将部件摆放到Frame上去,几个部件也是贴边放置的。
Frame的默认布局类型为边框布局类,Panel的默认布局类型为流式布局类。假如要将它转化成FlowLayout或者GridLayout甚至null的布局治理方式应该如何处理呢?java给我们提供了修改的方法。假设创建的Frame对象为f,那么将其修改成FlowLayout的方法就是f.setLayout(new FlowLayout()),而假如修改成null,则只需要写成f.setLayout(null)即可。
现在,让我们来着手做我们自己的图形界面吧!
首先要引入java.awt.*,这个包是基本的图形包,如Frame,Panel都在这个包中。
引用方法为:import java.awt.*;
接着要定义一个类,在类中定义主函数和初始化界面的initGUI()方法。
然后要在主函数中实例化类的对象,再调用initGUI方法。
接下来要在initGUI方法中实例化JFrame类的对象,同时设置JFrame类对象的属性值。
然后要给我们的容器设置布局方法
接着要实例化容器和元素组件,并将其添加到窗体上。
最后,在initGUI方法的最后一行添加窗体可见的方法。
import javax.swing.*; //定义QQ登陆界面类 public class QQ { //定义程序的入口主函数 public static void main(String [] args){ QQ q = new QQ(); q.initUI(); } //定义初始化界面的方法 public void initUI(){ //实例化一个JFrame类的对象 JFrame jf = new JFrame(); //设置窗体的属性值 jf.setSize(400,300); jf.setTitle("咱滴QQ!"); jf.setLocation(400,400); jf.setDefaultCloseOperation(3); jf.setResizable(false); jf.setLayout(new java.awt.BorderLayout());//设置窗体的布局 //实例化一个JPanel的容器对象 JPanel panelWest = new JPanel(); panelWest.setLayout(new java.awt.FlowLayout()); JLabel jlaImage = new JLabel(new ImageIcon("1.jpg")); panelWest.add(jlaImage); //将panelWest容器对象添加到窗体的西边 jf.add(panelWest,java.awt.BorderLayout.WEST); JLabel jlaImage0 = new JLabel(new ImageIcon("2.jpg")); jf.add(jlaImage0,java.awt.BorderLayout.NORTH); //实例化一个JPanel的容器对象 JPanel panelCenter = new JPanel(); panelCenter.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT)); JComboBox jcb = new JComboBox(); jcb.setPreferredSize(new java.awt.Dimension(185,27));//设置组件的大小 JButton jbuReg = new JButton("注册账号"); JPasswordField jpf = new JPasswordField(); jpf.setPreferredSize(new java.awt.Dimension(185,27));//设置组件的大小 JButton jbu = new JButton("找回密码"); JCheckBox jcb1 = new JCheckBox("记住密码"); JCheckBox jcb2 = new JCheckBox("自动登录"); panelCenter.add(jcb); panelCenter.add(jbuReg); panelCenter.add(jpf); panelCenter.add(jbu); panelCenter.add(jcb1); panelCenter.add(jcb2); //将panelWest容器对象添加到窗体的中央 jf.add(panelCenter,java.awt.BorderLayout.CENTER); //实例化一个JPanel的容器对象 JPanel panelSouth = new JPanel(); panelSouth.setLayout(new java.awt.FlowLayout()); JButton btn = new JButton("登录"); //设置组件的大小 btn.setPreferredSize(new java.awt.Dimension(150,30)); panelSouth.add(btn); //将panelWest容器对象添加到窗体的南边 jf.add(panelSouth,java.awt.BorderLayout.SOUTH); jf.setVisible(true); } }
图形界面可以给人一个直观的视觉效应,自己在记事本中写的一行行枯燥的代码可以按照自己的想法指导图形的产生和分布,怎一个爽字了得呀\(^o^)/~
相关推荐
继360隐私保护器之后,360又出新招——360扣扣保镖发布! 360扣扣保镖,不仅仅对360隐私保护器功能做了进一步完善,而且还全面保护QQ用户的安全,给QQ加速。 360扣扣保镖的主要功能如下: 1、保护隐私,阻止QQ...
【标题】"仿腾讯扣扣界面 VB源码"所涉及的知识点主要集中在计算机编程领域,特别是Visual Basic(VB)语言的使用以及用户界面设计。这个项目可能是为了学习或实践如何用VB来创建一个类似腾讯QQ的聊天应用界面。在VB...
主界面:好友列表/群组列表/常用联系人,可以被抢占下线,聊天框:与好友聊天,字体设置,抖动好友,发送文件,个人资料:查看修改个人资料,搜索框:搜索QQ号,添加好友,服务器: 多线程,能承载大容量用户体积。...
"扣扣精灵v5.0"是一款针对腾讯QQ聊天软件的辅助工具,旨在提供一系列便捷功能,提升用户在使用QQ时的体验。该版本可能是扣扣精灵系列的第五个重大更新,通常这样的版本升级会包含性能优化、新功能添加以及用户体验...
使用请段时间新学习的qml技术,自己摸索着写了一个模仿扣扣的登录界面,咦,我感觉模仿的还挺像的。源码运行博客参考:https://blog.csdn.net/qq_33154343/article/details/80448144#comments
在具体使用上,360扣扣保镖提供了简洁易用的界面。用户可以通过“一键扫描”功能快速检查QQ的相关问题,然后根据提示进行清理或优化。同时,软件还会定期自动更新,确保能够应对最新出现的安全威胁,为用户提供最新...
这是一个java编写的简单的扣扣界面 适合初学者
【标题】:“360扣扣保镖下载” 在IT领域,360扣扣保镖是一款由360安全卫士公司推出的安全辅助软件,它的主要目标是为用户提供腾讯QQ的安全保护。这款软件在发布初期,曾引起了一定的争议,因为它涉及到对QQ软件的...
【标题】"360扣扣保镖免费下载了!" 涉及的主要知识点是网络安全与个人隐私保护,以及互联网公司之间的竞争策略。 在2010年,中国互联网领域发生了一起著名的事件,即360公司推出了一款名为“360扣扣保镖”的软件,...
把扣扣空间的日志下载到本地复制成文档格式
总结来说,360扣扣保镖作为一个具有争议性的软件实例,它的出现和消失揭示了软件开发中的一些关键问题,如功能优化、安全防护、用户隐私、兼容性、权限管理、反作弊机制以及法律伦理的考量。这些知识点对于理解和...
很珍贵的资源,想用的人就下。360扣扣保镖,可执行文件,有效防止QQ做恶。
【360扣扣保镖】是一款由360安全中心推出的安全防护软件,主要针对腾讯QQ用户设计,旨在提供额外的安全保护,防止病毒、木马等恶意软件对QQ及用户个人信息的侵害。该软件在发布初期曾引起广泛关注,因为它能够帮助...
7. **用户界面**:良好的用户体验是软件成功的关键,360扣扣保镖的安装程序和主程序都应设计得简洁易用,引导用户轻松完成安装和设置。 8. **自动更新**:为了保持防护能力的最新,360扣扣保镖可能会有自动更新功能...
360扣扣保镖(QQ保镖)是360全新推出的针对QQ安全的QQ保镖辅助产品,360扣扣保镖(QQ保镖)号称能全面保护QQ用户的安全,给QQ加速。360扣扣保镖完全免费。 360扣扣保镖是一款小巧的安全工具,可全面保护QQ用户的安全,...
7. **用户界面**:360扣扣保镖的界面设计简洁易用,使得即便是不太懂电脑的用户也能轻松操作,完成安全设置和优化任务。 8. **更新与维护**:为了应对不断出现的新威胁,360扣扣保镖会定期进行更新,增强防护能力,...
【简易版扣扣】是一个基于Java编程语言实现的简化版即时通讯软件,它模拟了QQ的基本功能,让我们深入了解其中涉及的IT知识点。 首先,我们关注的是“网络编程”这一核心技术。在Java中,实现网络通信主要依赖于Java...
扣扣输入法皮肤
在这个案例中,"web扣扣客户端"可能采用了这些技术来模拟原生QQ客户端的界面和功能,比如聊天、好友管理等。 在给定的文件名列表中,我们可以看到以下几个关键文件: 1. **date.dat**:这可能是一个存储日期或时间...
在IT行业中,开发一款模仿QQ截图功能的软件是一项常见的任务,尤其当使用C#这种强大的编程语言时。C#是Microsoft公司推出的面向对象的编程语言,具有丰富的类库和强大的.NET框架支持,使得开发此类应用变得相对容易...