Java实验设计.docx
《Java实验设计.docx》由会员分享,可在线阅读,更多相关《Java实验设计.docx(10页珍藏版)》请在冰豆网上搜索。
Java实验设计
华北科技学院计算机系
软件报告
课程名称Java程序设计B
实验学期2011至2012学年第一学期
学生所在系部计算机系
年级2010级专业班级信管B101
学生姓名xxx学号xxxxxxxx
任课教师
实验成绩
计算机系制
《Java程序设计A》课程考试报告
开课实验室:
软件开发实验室五2011年12月26日
实验题目
简易留言板软件
一、实验目的
a)掌握面向对象程序设计基本要素(封装、继承、多态)
b)掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法
c)掌握基于AWT的图形用户界面设计
常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、滚动条等。
事件处理机制
d)掌握布局、对话框的使用
e)掌握发布JAVA应用程序
二、设备与环境
PC兼容机、Windows操作系统、JAVA集成开发环境。
三、实验内容
1.完成记事本的需求分析。
2.记事本的总体设计,列出主要的类和类间关系。
3.列出具体的实现代码。
4.写出程序的实现细节,主要得功能界面,实现说明。
5.写出总结和评价
四、实验结果及分析
1.需求分析
目的是制作一个记事本,基本实现字体颜色调试和基本的新建、打开、保存、剪切,复制,粘贴的操作。
2.软件设计
需要安装jdk6.0,配置环境变量。
3.程序代码
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.util.*;
importjavax.swing.filechooser.*;
importjava.io.*;
importjava.awt.color.*;
publicclassNotePad
{
publicstaticvoidmain(Stringargs[]){
MyClassmyclass=newMyClass();
}
}
classMyClassextendsJFrameimplementsActionListener{
Filefile;
JMenuBarcdt=newJMenuBar();
JMenujmu=newJMenu("文件");
JMenuedit=newJMenu("编辑");
JMenuform=newJMenu("颜色");
JMenuHelp=newJMenu("帮助");
JMenuItemnewFile=newJMenuItem("新建");
JMenuItemopenFile=newJMenuItem("打开");
JMenuItemsaveFile=newJMenuItem("保存");
JMenuItemquit=newJMenuItem("退出");
JMenuItemitemcut=newJMenuItem("剪切");
JMenuItemitemcopy=newJMenuItem("复制");
JMenuItemitempaste=newJMenuItem("粘贴");
JMenuItemblue=newJMenuItem("蓝色");
JMenuItemred=newJMenuItem("红色");
JMenuItemblack=newJMenuItem("黑色");
JMenuItemabout=newJMenuItem("关于");
JTextAreatextArea=newJTextArea(20,29);
publicMyClass(){
super("我制作的记事本");
cdt.add(jmu);
cdt.add(edit);
cdt.add(form);
cdt.add(Help);
jmu.add(newFile);
jmu.add(openFile);
jmu.add(saveFile);
jmu.add(quit);
edit.add(itemcut);
edit.add(itemcopy);
edit.add(itempaste);
form.add(blue);
form.add(black);
form.add(red);
Help.add(about);
textArea.setFont(newFont("新宋体",Font.BOLD,22));
add(textArea,BorderLayout.CENTER);
setJMenuBar(cdt);
newFile.setActionCommand("newFile");
newFile.addActionListener(this);
openFile.setActionCommand("openFile");
openFile.addActionListener(this);
saveFile.setActionCommand("saveFile");
saveFile.addActionListener(this);
quit.setActionCommand("quit");
quit.addActionListener(this);
itemcut.setActionCommand("itemcut");
itemcut.addActionListener(this);
itemcopy.setActionCommand("itemcopy");
itemcopy.addActionListener(this);
itempaste.setActionCommand("itempaste");
itempaste.addActionListener(this);
blue.setActionCommand("blue");
blue.addActionListener(this);
black.setActionCommand("black");
black.addActionListener(this);
red.setActionCommand("red");
red.addActionListener(this);
about.setActionCommand("about");
about.addActionListener(this);
textArea.setLineWrap(true);
add(newJScrollPane(textArea),BorderLayout.CENTER);
pack();
setVisible(true);
setBounds(444,200,333,333);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==newFile){
textArea.setText("");
}
elseif(e.getSource()==openFile){
JFileChooserfc=newJFileChooser();
intreturnVal=fc.showOpenDialog(this);
if(returnVal==JFileChooser.APPROVE_OPTION){
Filefile=fc.getSelectedFile();
this.setTitle(file.getName()+"–我制作的记事本");
try{
FileReaderfr=newFileReader(file);
intlen=(int)file.length();
char[]buffer=newchar[len];
fr.read(buffer,0,len);
fr.close();
textArea.setText(newString(buffer));
}catch(Exceptionex){}
}
}
elseif(e.getSource()==saveFile){
JFileChooserfc=newJFileChooser();
intreturnVal=fc.showSaveDialog(this);
if(returnVal==JFileChooser.APPROVE_OPTION){
Filefile=fc.getSelectedFile();
this.setTitle(file.getName()+"–我制作的记事本");
try{
FileWriterfw=newFileWriter(file);
fw.write(textArea.getText());
fw.close();
}
catch(Exceptionej){}
}
}
elseif(e.getSource()==quit){
System.exit(0);
}
elseif(e.getSource()==itemcut){
textArea.cut();
}
elseif(e.getSource()==itemcopy){
textArea.copy();
}
elseif(e.getSource()==itempaste){
textArea.paste();
}
elseif(e.getSource()==blue){
textArea.setForeground(newColor(0,0,255));
}
elseif(e.getSource()==black){
textArea.setForeground(newColor(0,0,0));
}
elseif(e.getSource()==red){
textArea.setForeground(newColor(255,0,0));
}
elseif(e.getSource()==about){
JOptionPane.showMessageDialog(null,"制作人:
我\n学号:
201007034126");
}
}
}
运行结果图;
;
字体的各种颜色功能:
4.程序实现说明
在java虚拟机上经过编译连接以后,出现记事本的页面,然后鼠标指向写字板的文本域,进行基本的输入操作,可以进行文本的新建、打开、保存、剪切、复制、粘贴文本域中的内容,并且可以调换字体的颜色,小窗口还可以退出。
程序中字体只是一种新宋体的字体,并且可以自动的换行。
5.总结
本次综合实验是关于设计一个Java记事本,用于实现基本的新建、打开、保存、剪切、复制、粘贴等功能,通过次次综合性实验,将各个类综合运用,让我更加深刻的了解Java语言的编程思想。
为了编写这个程序,我看了课本上和网上的多个程序,也问了很多好成绩的同学。
虽然部分功能参考了别人的,但好多还是自己做的,这是个很基本的记事本程序没有什么特别的地方。
但总的来说还是把程序成功的编译出来了。
通过这次java的编译让我知道不管什么都还是要自己做,这样才会更加的了解所学的知识。
教师评价
评定项目
A
B
C
D
评定项目
A
B
C
D
需求描述规范合理
ER图设计合理
数据库描述正确
数据分析和设计对应
系统实现有特色
系统实现
答辩演示
系统讲解
回答问题
报告规范
其他:
评价教师签名:
年月日