为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Java语言程序设计课程设计实训项目——应用Eclipse Swing可视化开发实现仿QQ程序的界面(第1部分)

2017-10-26 17页 doc 540KB 50阅读

用户头像

is_260251

暂无简介

举报
Java语言程序设计课程设计实训项目——应用Eclipse Swing可视化开发实现仿QQ程序的界面(第1部分)Java语言程序设计课程设计实训项目——应用Eclipse Swing可视化开发实现仿QQ程序的界面(第1部分) 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 1.1 应用Eclipse Swing可视化开发实现仿QQ程序的界面(第1部分) 1.1.1 利用Eclipse Swing可视化开发实现QQ登录主窗口 本示例的操作结果如下所示: 1、新建一个名称为IMSystem的Java项目 2、在该项目中新建QQ登录主窗口 (1)选择 File>New>Other... ,然后再选择 MyEclips...
Java语言程序设计课程设计实训项目——应用Eclipse Swing可视化开发实现仿QQ程序的界面(第1部分)
Java语言程序课程设计实训项目——应用Eclipse Swing可视化开发实现仿QQ程序的界面(第1部分) 杨教授工作室 精心创作的优秀程序员 职业提升必读系列 1.1 应用Eclipse Swing可视化开发实现仿QQ程序的界面(第1部分) 1.1.1 利用Eclipse Swing可视化开发实现QQ登录主窗口 本示例的操作结果如下所示: 1、新建一个名称为IMSystem的Java项目 2、在该项目中新建QQ登录主窗口 (1)选择 File>New>Other... ,然后再选择 MyEclipse>Swing>Matisse Form,点击Next按钮。 杨教授工作室,版权所有,盗版必究, 1/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 (2)输入包名称为com.px1987.imsystem.frame,类名称为QQLoginMainFrame,并选择Swing JFrame类型 点击“Finish”按钮,将进入可视化设计器视图 杨教授工作室,版权所有,盗版必究, 2/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 同时也会在项目中自动添加系统库swing-layout-1.0.3.jar和AbsoluteLayout.jar()包文件 3、设置QQLoginMainFrame窗口的属性 (1)由于需要监控窗口的关闭行为,因此不应该再直接关闭窗口和退出程序 因此首先选中主窗口,然后在属性面板中设置defaultCloseOperation项目为DO_NOTHING_ON_CLOSE。 (2)将窗口的标题条属性title项目设置为“QQ登录主窗口” 杨教授工作室,版权所有,盗版必究, 3/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 (3)设置窗口内的文字的字体为“宋体”、12号、正常体 由于font属性为对象属性项目,因此需要点击最右面的“浏览”按钮,进入自定义对话框中进行设置,如下图所示——在预览中识别是否为中文“宋体”: (4)设置窗口的图标 由于iconImage也是对象属性,同样也需要进入自定义对象的对话框,并选择该属性的设置方式为“Custom code”类型——而采用其他方式时的图像文件都是本地磁盘的绝对路径。然后输入下面黑体形式的代码——下面的代码是创建出一个Image类型的对象实例: java.awt.Toolkit.getDefaultToolkit().getImage(getClass(). getResource("/images/loginframe/qqicon.jpg")) 杨教授工作室,版权所有,盗版必究, 4/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 当然,首先需要在项目中拷贝相关的图像文件,系统最后会自动地产生出下面形式的语句: this.setIconImage(java.awt.Toolkit.Toolkit.getDefaultToolkit().getImage( getClass().getResource("/images/loginframe/qqicon.jpg"))); (5)设置窗口的背景颜色为[232, 245, 255] (6)再设置窗口的如下属性项目 this.setResizable(false); //不能改变大小 this.setAlwaysOnTop(true); //设置为最顶层的窗口 杨教授工作室,版权所有,盗版必究, 5/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 (7)设置窗口的宽度和高度——在源代码窗口中找到下面的代码 this.setSize(390, 350); //居中显示 this.setLocationRelativeTo(null); 4、测试目前的效果 (1)由于系统在该类中已经自动添加了main() 准备好项目中所需要的各种图标图像文件,由于在窗口类中自动添加有main方法,因此可以直接执行。 public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new QQLoginMainFrame().setVisible(true); } 杨教授工作室,版权所有,盗版必究, 6/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 }); } (2)执行的结果如下 (3)注意现在不能正常地关闭该窗口,只能选择终止进程 当然,如果窗口类中没有main方法(最好保留自动生成的main方法的代码),也可以 采用预览按钮直接预览窗口。 (4)通过预览方式查看所创建出的窗口 杨教授工作室,版权所有,盗版必究, 7/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 点击上面的“预览设计”按钮,将同样也能够看到结果窗口,但能够正常被关闭。 1.1.2 为QQ登录主窗口添加窗口关闭事件处理代码 1、添加窗口关闭事件WindowClosing (1)进入事件面板 在windowClosing事件项目中输入事件处理的方法名称为formWindowClosing,如下图所示: (2)或者在窗口内右击,在弹出菜单中选择“Events”下的具体事件类型 杨教授工作室,版权所有,盗版必究, 8/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 (3)在源代码窗口方式下编程该事件 private void formWindowClosing(java.awt.event.WindowEvent evt) { this.dispose(); //不仅要关闭主窗口、而且也还要退出系统程序 System.exit(0); } (4)MyEclipse已经自动实现了事件的注册 addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { formWindowClosing(evt); } 杨教授工作室,版权所有,盗版必究, 9/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 }); 2、测试事件是否正确 再次执行窗口程序,并点击右上角的“关闭”按钮,检查是否能够正确地关闭该窗口。 注意: 在Java Swing程序中正确地关闭程序的基本要求——释放窗口本身的资源和程序进程的资源。 1.1.3 设计QQ登录主窗口内的登录界面组件——实现顶部的Logo条及图像 1、在登录窗口的顶部添加一个标签组件 (1)添加一个JLabel标签组件 利用该标签组件显示Logo条图像,在“Swing Controls”中直接拖动“Label”组件到窗口顶部。 (2)除掉该JLabel标签组件的text属性值中的原始的“jLabel1”为空值和水平对齐方式为“左对齐” 杨教授工作室,版权所有,盗版必究, 10/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 2、设置该标签组件的宽和高位390、104 杨教授工作室,版权所有,盗版必究, 11/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 3、改变该标签组件的对象实例的名称为logoBarLabel (1)选中右键弹出菜单中的“Change Variable Name”菜单项目 (2)在对话框中输入对象实例的名称为logoBarLabel 4、设置该JLabel标签组件的icon属性值 (1)iconImage为对象类型的属性 由于iconImage也是对象属性,同样也需要进入自定义对象的对话框,并选择该属性的设置方式为“Custom code”类型——而采用其他方式时的图像文件都是本地磁盘的绝对路径。 杨教授工作室,版权所有,盗版必究, 12/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 2)手动输入创建ImageIcon对象的代码 ( 然后输入下面黑体形式的代码——下面的代码是创建出一个ImageIcon类型的对象实例: new ImageIcon(getClass().getResource("/images/loginframe/loginFormLogoImage1.jpg ")) 杨教授工作室,版权所有,盗版必究, 13/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 5、添加动态提示信息 6、测试现在的效果 7、为该标签添加鼠标事件 (1)mouseEntered鼠标进入 杨教授工作室,版权所有,盗版必究, 14/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 (2)mouseExited鼠标退出 (3)编程该事件处理方法——实现Logo图像切换 private void logoBarLabelMouseExited(java.awt.event.MouseEvent evt) { logoBarLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource( "/images/loginframe/loginFormLogoImage1.jpg"))); } private void logoBarLabelMouseEntered(java.awt.event.MouseEvent evt) { logoBarLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource( "/images/loginframe/loginFormLogoImage2.jpg"))); } 问题: 如果有10个Logo图像文件,如何随机显示某一个图像(但鼠标退出时仍然显示原始的 图像), /** Random oneRandom=new Random(); //获得0-3之间的一个整数 杨教授工作室,版权所有,盗版必究, 15/16页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 int randomInteger=oneRandom.nextInt(3); if(randomInteger==0){ randomInteger=1; } */ int randomInteger=(int) (Math.random()*10); switch(randomInteger){ case 0: randomInteger=1; break; case 1: randomInteger=1; break; case 2: randomInteger=2; break; case 3: randomInteger=3; break; default: randomInteger=1; break; } String logoImageFile="/images/loginframe/loginFormLogoImage"+randomInteger+".jpg"; 杨教授工作室,版权所有,盗版必究, 16/16页
/
本文档为【Java语言程序设计课程设计实训项目——应用Eclipse Swing可视化开发实现仿QQ程序的界面(第1部分)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索