已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA综合应用Java程序设计大作业报告题目: JAVA综合应用 物联网 学院 电信1102 专业学 号 0703110220 学生姓名 曹晓桂 指导教师 张景莉 评定成绩 二一四年十二一、 设计要求1、 目的要求学生运用Java集成开发工具(如:JCREATOR、Eclipse等),独立编写一个综合应用程序,使学生能够通过实践,将面向对象程序设计的理论、技术、方法和Java语言相结合,熟练使用Java类库进行一些较为复杂实例的应用系统程序设计,包括GUI设计、输入输出流、异常处理和Web应用程序设计等。2 、开发环境1.系统环境:Windows 7系统1. jdk版本:jdk1.7.0_60 2.集成开发环境:JCREATOR3、 设计要求:创建一个GUI界面,运用一个包含2个选项卡的选项卡面板,实现以下功能:“自我介绍”选项卡:显示设计者的个人信息,包括学号、姓名、本人的两张不同的照片(至少一张为单 人照)和英文自我简介(不得少于50个单词),然后在一个弹出的信息窗口中显示自我简介的字数。“文件测试”选项卡:对用户输入的一个名称进行判断,名称由文本框输入。如果是一个文件名,则输出该文件相关属性(文件名、绝对路径和文件的长度等)。如果是一个目录,则输出该目录下的对象个数。如该名称不存在,则以此名称为名在当前目录下创建一个文件,内容自定。二、设计思路1、设计思路根据老师给的设计要求,确定了如下的设计思路: 首先在JFrame窗口中创建一个JTabbedPane选项卡面板 在选项卡面板里创建2个选项卡,分别为“自我介绍”,“文件测试”。 在面板里分别添加三个子面板,位于每个面板的上中下。 根据设计要求在各子面板上添加组件。 给按钮添加事件响应。 测试功能是否实现,检查有无明显缺陷。三、 实现代码和运行结果1、实现过程和代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.StringTokenizer;public class JTabbedPaneDemo extends JFrame private JLabel name,number,clabel,dlabel,name2;private JTextField nameText,numberText,cText,dText,name2Text;private JTextArea textArea1,textArea2;private JButton showButton,analyseButton,testButton, writeButton,emptyButton;private File file;private String str = new String(Hi boys and girls.+n+ My name is caoxiaogui,I am from Nantong!+n+I am a student from jiangnan university and my major is electronic information engineering +n+ I spend most of my time on study and I like play pingpang. +n+I have acquired basic knowledge of my major during my school time. +n+That is all.Thank you!);public static void main(String args) new JTabbedPaneDemo().setVisible(true);/设置组建可视public JTabbedPaneDemo() super(曹晓桂0703110220作业);/给窗口标题命名 JTabbedPane tabbedPane=new JTabbedPane(); /创建panel1 JLabel label1=new JLabel(firstPane,SwingConstants.CENTER); JPanel firstPane = new JPanel(); firstPane.setLayout(new BorderLayout(); tabbedPane.addTab(自我介绍,null,firstPane,First Panel); /分别添加3个子面板 JPanel panel = new JPanel3;panel0 = new JPanel();panel1 = new JPanel();panel2 = new JPanel();firstPane.add(panel0, BorderLayout.NORTH);firstPane.add(panel1, BorderLayout.CENTER);firstPane.add(panel2, BorderLayout.SOUTH); /创建姓名,学号标签及文本框并添加 name=new JLabel(学号:); nameText=new JTextField(10); nameText.setEditable(false); number=new JLabel(姓名); numberText=new JTextField(10); numberText.setEditable(false); panel0.add(number);panel0.add(numberText);panel0.add(name);panel0.add(nameText);/创建图像标签,对象,设置标签相对于图像的位置并添加Icon bug1 = new ImageIcon(生活照.jpg);clabel = new JLabel(照片1:,bug1,SwingConstants.LEFT);clabel.setHorizontalTextPosition(SwingConstants.CENTER);clabel.setVerticalTextPosition(SwingConstants.BOTTOM);Icon bug2 = new ImageIcon(生活照.jpg);dlabel = new JLabel(照片2:,bug2,SwingConstants.RIGHT);dlabel.setHorizontalTextPosition(SwingConstants.CENTER);dlabel.setVerticalTextPosition(SwingConstants.BOTTOM);textArea1=new JTextArea(6,45);panel1.add(clabel); panel1.add(textArea1); panel1.add(dlabel);/创建按钮并给按钮添加事件响应 showButton=new JButton(show); showButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) showMessage();); analyseButton=new JButton(analyse); analyseButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) showWordNumber();); panel2.add(showButton);panel2.add(analyseButton); /创建panel2 JLabel label2=new JLabel(secondPane,SwingConstants.CENTER); JPanel secondPane=new JPanel(); secondPane.setLayout(new BorderLayout(); tabbedPane.addTab(文件测试,null,secondPane,Second Panel); /分别添加3个子面板JPanel panel2 = new JPanel3;panel20 = new JPanel();panel21 = new JPanel();panel22 = new JPanel();secondPane.add(panel20, BorderLayout.NORTH);secondPane.add(panel21, BorderLayout.CENTER);secondPane.add(panel22, BorderLayout.SOUTH); /创建标签及文本框并添加 name2=new JLabel(请输入名称:); name2Text = new JTextField(); name2Text.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)if(!name2Text.getText().equals()testButton.setEnabled(true);); name2Text.setColumns(20); panel20.add(name2);panel20.add(name2Text); textArea2=new JTextArea(6,45); panel21.add(textArea2); testButton = new JButton(test);writeButton = new JButton(write);writeButton.setEnabled(false); emptyButton = new JButton(empty); panel22.add(testButton);panel22.add(writeButton);panel22.add(emptyButton);testButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) testAction();); writeButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) writeAction();); emptyButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) emptyAction();); getContentPane().add(tabbedPane); setSize(800,300);/设置窗口大小 setVisible(true); /显示信息与照片 public void showMessage() numberText.setText(0703110220);nameText.setText(曹晓桂);textArea1.setText(str); /分析自我介绍的英文字数public void showWordNumber() int wordNum = 0;String str = textArea1.getText();StringTokenizer st = new StringTokenizer(str);while (st.hasMoreElements() st.nextElement();wordNum+;JOptionPane.showMessageDialog(null, 曹晓桂,您的简历字数为: + wordNum, 简历字数统计,JOptionPane.PLAIN_MESSAGE); /文件测试的实现public void testAction() String str = name2Text.getText();if (!str.equals() file = new File(str);if (file.isFile() String path = file.getAbsolutePath();String length = file.length() + B; textArea2.setText(这是一个文件,其相关属性为:File Name: + file.getName() + n + Path: + path + n+ Length: + length); else if (file.isDirectory() String fileName = file.list();textArea2.setText(这是一个目录,它下面有 + fileName.length+ 个对象。); else textArea2.setText(该对象不存在,请按wirte键来创建该文件!);writeButton.setEnabled(true); elseJOptionPane.showMessageDialog(null, 请输入名称!); /以未知名称为文件名创建一个新文件public void writeAction() try file.createNewFile();String str=new String(为新文件输入文件内容);OutputStream output=new FileOutputStream(file);output.write(str.getBytes(); catch (IOException e) e.printStackTrace(); textArea2.setText(文件建立成功!);writeButton.setEnabled(false); /清空文件测试面板中的内容public void emptyAction() name2Text.setText(); textArea2.setText(); 2、 运行结果“自我介绍”选项卡实现初始状态下,”analyse”命令按钮为不可用。单击“show”命令按钮后的界面(“analyse”命令按钮变为可用):单击”analyse”命令按钮后,弹出的信息窗口: “文件测试”选项卡实现:初始状态下,”write”命令按钮为不可用。输入一个名称,单击”test”命令按钮,检测出该名称为一个文件名后的界面(输出该文件相关属性)单击”empty”命令按钮后,清空文本框和信息框。输入一个名称,单击”test”命令按钮,检测出该名称不存在时的界面(”write”命令按钮变为可用):单击”write”命令按钮,以此名称为名在当前目录下创建一个文件,内容自定。创建成功后,”write”命令按钮重新变为不可用。输入一个名称,单击”test”命令按钮,检测出该名称为一个文件夹名后的界面:四、 问题解决与总结1、 遇到的问题与解决方法 遇到的问题 初始界面出现时,窗口太小,无法完全显示窗口内容。英文单词计数不对,信息显示后自我介绍部分窗口会改变大小。 “自我介绍”选项卡面板中,照片横放且占据大部分界面。 输入文件夹名,文件夹存在但不显示其信息。 解决方法: 通过查找课本以及资料,重新设置调整窗口大小。 最初设置时每行字符数目设置过小引起。 照片本身过大。2、 实验总结 通过这次作业我学会了很多,也在自学的过程中积累了很多在平时学不到的东西。虽然在过程中遇到了很多问题,但在同学以及的指导下,都能够把这些问题进行解决。开始学习Java语言的时候,感觉十分吃力,有好多地方都不懂,尽管如此,我还是编了一些程序,编完之后才发现,其实只
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 共同施工合同模板
- 高端小区广告合同模板
- 银行资金借贷合同模板
- 瓦工分包合同模板
- 读后感课件教学课件
- 体育用品合同模板
- 综合工程合同模板
- 喂鸡场租赁合同模板
- 金融宣传合同模板
- 码头土方装卸合同模板
- 国开2024年秋《机电控制工程基础》形考任务4答案
- 2024年辅警招聘考试试题库含完整答案(各地真题)
- 国开一体化平台01588《西方行政学说》章节自测(1-23)试题及答案
- Unit2+Lesson1The+Underdog+读后续写课件【知识精研+培优拓展】高中英语北师大版2019必修第一册
- 消防预案制作标准符号
- 美丽乡村建设试点项目工程监理规划细则
- 儿童智力低下的诊断与康复(课堂PPT)
- 多维阅读第5级Jake's Job 贪玩的后果课件
- 开工、停工、复工管理制度(DOC)
- 大学英语四级听力资料 (听力技巧完整版)
- 生产线EPC总承包合同范本
评论
0/150
提交评论