资源描述
Java语言程序设计B报 告
班级:
学号:
姓名:
成绩:
12月
题目:编写一个记事本程序
一. 课程设计题目概要。
1.1课程设计目标
1.2题目设计要求
二. 课程设计思绪。
三. 课程设计实现功效结构图。
3.1“文件”菜单。
3.2“编辑”菜单。
四. 记事本实现功效代码实现。
4.1界面设计代码实现及实现截图。
4.2功效代码具体设计
4.2.1新建文件
4.2.2打开文件
4.2.3复制文件
4.2.4粘贴文件
4.2.5退出记事本
五. JAVA课程设计个人总结。
附:JAVA课程设计程序源代码
一. 课程设计题目概要。
1. 1课程设计目标。
根据老师要求,编写一个记事本程序,并能够实现老师要求相关功效。在课程设计过程中,复习巩固Java语言基础知识,深入加深对Java语言了解和掌握,将书本上理论知识和实际有机结合起来,锻炼自己分析处理实际问题能力,提升自己实践编程能力。
1.2题目设计要求。
要求:用图形用户界面实现。能实现编辑、保留、另存为、查找替换等功效。提醒:使用文件输入输出流。
二. 课程设计思绪。
设计两个类,一个记事本类(JSB),含有程序要求和功效再创建一个课设主类(KESHE),在主类中创建一个JSB类对象,就能够直接在编译器中运行程序。
在主界面中设计一个Frame容器,并在其中加入一个下拉 菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。
三. 课程设计实现功效结构图。
3.1“文件”菜单。
开始
“文件”菜单
新建
另存为
File=null
打开
用JFileChooser()选择全部打开文件路径
用unfold()读取所选文件内容到记事本
保留
用sava()保留文件
用JFileChooser()选择文件另存路径
用sava()保留文件
退出或关闭
文件是否修改
用sava()保留文件
Y
结束
N
图3.2 “文件”菜单操作步骤图
用close()关闭文件
3.2“编辑”菜单。
开始
“编辑”菜单
剪切
全选
设置修改标签,text.cut()
复制
用
text.copy()实现
粘贴
设置修改标签,
text.paste()
删除
设置修改标签,
text.replaceRange("", start, end);
查找
替换
用FindAndReplace{}方法实现
用text.selectAll()实现
退出或关闭
文件是否修改
用sava()保留文件并
结束
用close()关闭文件
Y
N
图3.3 “编辑”菜单操作步骤图
四.记事本实现功效代码实现。
4.1.界面设计。
关键代码:
f=new Frame(s);
p1=new TextArea("");
f.setSize(400,600);
f.setBackground(Color.white);
f.setVisible(true);
menubar=new MenuBar();
menu1=new Menu("文件");
menu2=new Menu("编辑");
item1=new MenuItem("新建");
item2=new MenuItem("打开");
item3=new MenuItem("保留");
item4=new MenuItem("另存为");
item5=new MenuItem("退出");
item6=new MenuItem("全选");
item7=new MenuItem("复制");
item8=new MenuItem("剪切");
item9=new MenuItem("粘贴");
menu1.add(item1);
menu1.add(item2);
menu1.add(item4);
menu1.add(item5);
menu2.add(item6);
menu2.add(item7);
menu2.add(item8);
menu2.add(item9);
menubar.add(menu1);
menubar.add(menu2);
f.setMenuBar(menubar);
程序代码实现截图:
4.2功效代码具体设计。
4.2.1新建文件。
if (e.getSource()==item1)
{
if (i==0&&(ss.length()!=0))
{
bc();
}
else
p1.setText("");i=0;f.setTitle("文件对话框");
}
4.2.2打开文件。
if (e.getSource()==item2)
{
fd=new FileDialog(f,"打开文件",0);
fd.setVisible(true);
try{
file=new File(fd.getDirectory(),fd.getFile());
f.setTitle(fd.getFile()+"文件对话框");
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);
String line = null;
String view = "";
while((line=br.readLine())!=null)
{
view += line+"\n";
}
p1.setText(view);
br.close();
fr.close();
}
catch(IOException expIn)
{}
}
4.2.3复制文件。
if (e.getSource()==item7)
{
try{
String str=p1.getSelectedText();
if(str.length()!=0)
{
strt=str;
}
}catch(Exception ex)
{ }
}
4.2.4粘贴文件。
if (e.getSource()==item9)
{
if(strt.length()>0)
{
p1.insert(strt,p1.getCaretPosition());
}
4.2.5退出记事本。
if (e.getSource()==item5)
{
if (i==0 &&(ss.length()!=0))
{
bc();
}
else
{
System.exit(0);
}
}
五. JAVA课程设计个人总结。
这个学期我们学习了JAVA语言,这对于我们来说是一门十分陌生编程语言,在学习过程中,我感到了这门语言学习有一定困难,和C、C++语言相比需要克服困难也相对多部分。在学习了JAVA课程后,我们经过这次JAVA课程设计复习和掌握我们学习JAVA语言知识,而且在课程设计过程中巩固和利用相关知识,提升自己JAVA编程能力。
经过这次JAVA课程设计,我愈加好地了解了JAVA编程方法,而且在碰到困难时候,能主动请教身边同学,不仅仅培养了我编程能力,在和同学交流中我也愈加好培养了和其它人交流能力,相信经过这次JAVA课程设计,我愈加好地学习了JAVA,相信我自己在以后学习中能继续学习JAVA,在愈加好地丰富自己JAVA知识同时,主动提升自己JAVA编程能力,在以后能愈加好地掌握JAVA语言。
JAVA语言课程设计程序源代码:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
class FileInAndOut
{
public static String fileInput(String fName)
{
String strRead="";
try {
FileReader fr=new FileReader(fName);
BufferedReader br=new BufferedReader(fr);
String aline=new String();
while((aline=br.readLine())!=null)
strRead=strRead+aline;
br.close();
fr.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return strRead;
}
public static void fileWrite(String fName,String temp)
{
try {
FileWriter fw=new FileWriter(fName);
BufferedWriter bw=new BufferedWriter(fw);
bw.write(temp);
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class MyNote implements ActionListener
{
private Frame f;
private TextArea ta;
private MenuBar mb;
private String strme[]={"文件","编辑","帮助"};
private String strmi[][]={{"新建","打开","保留","退出"},{"剪切","拷贝","粘贴","查找"},
private String fileDir,fileName,temp="";
private Menu me[];
private MenuItem mi[][];
private Label l1,l2;
private TextField t1,t2;
private Button b1,b2,b3;
private Dialog diaFind,diaAbout;
public MyNote(){
f=new Frame("我记事本");
ta=new TextArea();
f.add(ta);
mb=new MenuBar();
f.setMenuBar(mb);
mi=new MenuItem[strme.length][];
me=new Menu[strme.length];
for(int i=0;i<strme.length;i++){
me[i]=new Menu(strme[i]);
mb.add(me[i]);
mi[i]=new MenuItem[strmi[i].length];
for(int j=0;j<strmi[i].length;j++){
mi[i][j]=new MenuItem(strmi[i][j]);
me[i].add(mi[i][j]);
mi[i][j].addActionListener(this);
}
}
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.setSize(400,300);
f.show();
diaFind=new Dialog(f,"查找",true);
diaFind.setLayout(new FlowLayout());
diaFind.setSize(260,120);
l1=new Label("查找内容");
l2=new Label("替 换 为");
t1=new TextField(20);
t2=new TextField(20);
b1=new Button("下一个");
b2=new Button("替换");
b3=new Button("取消");
diaFind.add(l1);
diaFind.add(t1);
diaFind.add(l2);
diaFind.add(t2);
diaFind.add(b1);
diaFind.add(b2);
diaFind.add(b3);
diaFind.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e){
diaFind.dispose();
}
});
}
public void actionPerformed(ActionEvent e){
String cmd=e.getActionCommand();
if(cmd.equals("新建")){
fileDir="";
fileName="";
ta.setText("");
f.setTitle("我记事本");
}
if(cmd.equals("打开")){
FileDialog diaOpen=new FileDialog(f,"",FileDialog.LOAD);
diaOpen.show();
fileDir=diaOpen.getDirectory();
fileName=diaOpen.getFile();
if(!fileName.equals("")){
ta.setText(FileInAndOut.fileInput(fileDir+fileName));
f.setTitle(fileName+"我记事本");
}
}
if(cmd.equals("保留")){
FileDialog diaSave=new FileDialog(f,"",FileDialog.SAVE);
diaSave.show();
fileDir=diaSave.getDirectory();
fileName=diaSave.getFile();
if(!fileName.equals("")){
FileInAndOut.fileWrite(fileDir+fileName,ta.getText());
f.setTitle(fileName+"我记事本");
}
}
if(cmd.equals("退出")){
System.exit(0);
}
if(cmd.equals("剪切")){
int x,y;
x=ta.getSelectionStart();
y=ta.getSelectionEnd();
temp=ta.getSelectedText();
ta.replaceRange("",x,y);
}
if(cmd.equals("拷贝")){
temp=ta.getSelectedText();
}
if(cmd.equals("粘贴")){
ta.replaceRange(temp,ta.getSelectionStart(),ta.getSelectionEnd());
}
if(cmd.equals("查找")){
diaFind.show();
}
if(cmd.equals("相关")){
}
}
public static void main(String[] args) {
new MyNote();
}
}
展开阅读全文