JAVA课程设计心得编写一个记事本程序模版.docx
《JAVA课程设计心得编写一个记事本程序模版.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计心得编写一个记事本程序模版.docx(14页珍藏版)》请在冰豆网上搜索。
JAVA课程设计心得编写一个记事本程序模版
Java语言程序设计B报告
题目:
编写一个记事本程序
一.要求:
用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
提示:
使用文件输入输出流。
2.课程设计思路。
设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。
在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。
3.课程设计实现功能结构图。
3.1“文件”菜单。
3.2“编辑”菜单。
四.记事本实现功能代码实现。
4.1.界面设计。
主要代码:
f=newFrame(s);
p1=newTextArea("");
f.setSize(400,600);
f.setBackground(Color.white);
f.setVisible(true);
menubar=newMenuBar();
menu1=newMenu("文件");
menu2=newMenu("编辑");
item1=newMenuItem("新建");
item2=newMenuItem("打开");
item3=newMenuItem("保存");
item4=newMenuItem("另存为");
item5=newMenuItem("退出");
item6=newMenuItem("全选");
item7=newMenuItem("复制");
item8=newMenuItem("剪切");
item9=newMenuItem("粘贴");
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(f,"打开文件",0);
fd.setVisible(true);
try{
(),fd.getFile());
f.setTitle(fd.getFile()+"文件对话框");
fr=new(file);
BufferedReaderbr=newBufferedReader(fr);
Stringline=null;
Stringview="";
while((line=br.readLine())!
=null)
{
view+=line+"\n";
}
p1.setText(view);
br.close();
fr.close();
}
catch(IOExceptionexpIn)
{}
}
4.2.3复制文件。
if(e.getSource()==item7)
{
try{
Stringstr=p1.getSelectedText();
if(str.length()!
=0)
{
strt=str;
}
}catch(Exceptionex)
{}
}
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);
}
}
5.JAVA课程设计个人总结。
这个学期我们学习了JAVA语言,这对于我们来说是一门十分陌生的编程语言,在学习的过程中,我感到了这门语言的学习有一定的困难,与C、C++语言相比需要克服的困难也相对多一些。
在学习了JAVA课程后,我们通过这次的JAVA课程设计复习和掌握我们学习的JAVA语言知识,并且在课程设计的过程中巩固和运用相关的知识,提高自己的JAVA编程能力。
通过这次的JAVA课程设计,我更好地了解了JAVA的编程方法,并且在遇到困难的时候,能主动请教身边的同学,不仅仅培养了我的编程能力,在与同学的交流中我也更好的培养了与其他人的交流能力,相信通过这次的JAVA课程设计,我更好地学习了JAVA,相信我自己在以后的学习中能继续学习JAVA,在更好地丰富自己JAVA知识的同时,积极提高自己的JAVA编程能力,在以后能更好地掌握JAVA语言。
JAVA语言课程设计程序源代码:
importjava.io.*;
importjava.awt.*;
importjava.awt.event.*;
class
{
publicstaticString(StringfName)
{
StringstrRead="";
try{
fr=new(fName);
BufferedReaderbr=newBufferedReader(fr);
Stringaline=newString();
while((aline=br.readLine())!
=null)
strRead=strRead+aline;
br.close();
fr.close();
}catch(e){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
returnstrRead;
}
publicstaticvoid(StringfName,Stringtemp)
{
try{
fw=new(fName);
BufferedWriterbw=newBufferedWriter(fw);
bw.write(temp);
bw.close();
fw.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
publicclassMyNoteimplementsActionListener
{
privateFramef;
privateTextAreata;
privateMenuBarmb;
privateStringstrme[]={"文件","编辑","帮助"};
privateStringstrmi[][]={{"新建","打开","保存","退出"},{"剪切","拷贝","粘贴","查找"},
privateString"";
privateMenume[];
privateMenuItemmi[][];
privateLabell1,l2;
privateTextFieldt1,t2;
privateButtonb1,b2,b3;
privateDialogdiaFind,diaAbout;
publicMyNote(){
f=newFrame("我的记事本");
ta=newTextArea();
f.add(ta);
mb=newMenuBar();
f.setMenuBar(mb);
mi=newMenuItem[strme.length][];
me=newMenu[strme.length];
for(inti=0;ime[i]=newMenu(strme[i]);
mb.add(me[i]);
mi[i]=newMenuItem[strmi[i].length];
for(intj=0;jmi[i][j]=newMenuItem(strmi[i][j]);
me[i].add(mi[i][j]);
mi[i][j].addActionListener(this);
}
}
f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
f.setSize(400,300);
f.show();
diaFind=newDialog(f,"查找",true);
diaFind.setLayout(newFlowLayout());
diaFind.setSize(260,120);
l1=newLabel("查找内容");
l2=newLabel("替换为");
t1=newTextField(20);
t2=newTextField(20);
b1=newButton("下一个");
b2=newButton("替换");
b3=newButton("取消");
diaFind.add(l1);
diaFind.add(t1);
diaFind.add(l2);
diaFind.add(t2);
diaFind.add(b1);
diaFind.add(b2);
diaFind.add(b3);
diaFind.addWindowListener(newWindowAdapter()
{
publicvoidwindowClosing(WindowEvente){
diaFind.dispose();
}
});
}
publicvoidactionPerformed(ActionEvente){
Stringcmd=e.getActionCommand();
if(cmd.equals("新建")){
"";
"";
ta.setText("");
f.setTitle("我的记事本");
}
if(cmd.equals("打开")){
diaOpen=new(f,"",);
diaOpen.show();
();
();
if(!
("")){
ta.setText(());
f.setTitle("我的记事本");
}
}
if(cmd.equals("保存")){
diaSave=new(f,"",);
diaSave.show();
();
();
if(!
("")){
(());
f.setTitle("我的记事本");
}
}
if(cmd.equals("退出")){
System.exit(0);
}
if(cmd.equals("剪切")){
intx,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("关于")){
}
}
publicstaticvoidmain(String[]args){
newMyNote();
}
}