Java语言程序设计B报 告
班级:
学号:
姓名:
成绩:
2012年12月
题目:编写一个记事本程序
1.课程设计题目概要。
1.1课程设计目的
1.2题目设计要求
2.课程设计思路。
3.课程设计实现功能结构图。
3.1“文件”菜单。
3.2“编辑”菜单。
4.记事本实现功能代码实现。
4.1界面设计代码实现及实现截图。
4.2功能代码详细设计
4.2.1新建文件
4.2.2打开文件
4.2.3复制文件
4.2.4粘贴文件
4.2.5退出记事本
5.JAVA课程设计个人总结。
附:JAVA课程设计程序源代码
1.课程设计题目概要。
1.1课程设计目的。
按照老师要求,编写一个记事本程序,并可以实现老师要求的相关功能。在课程设计过程中,复习巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握,将课本上的理论知识和实际有机的结合起来,锻炼自己的分析解决实际问题的能力,提高自己实践编程的能力。
1.2题目设计要求。
要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。
2.课程设计思路。
设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。
在主界面中设计一个Frame容器,并在其中加入一个下拉 菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。
3.课程设计实现功能结构图。
3.1“文件”菜单。
3.2“编辑”菜单。
四.记事本实现功能代码实现。
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);
}
}
5.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
me[i]=new Menu(strme[i]);
mb.add(me[i]);
mi[i]=new MenuItem[strmi[i].length];
for(int j=0;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();
}
}
¥29.8
¥9.9
¥59.8