java科设论文举例.docx
- 文档编号:7245972
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:13
- 大小:21.07KB
java科设论文举例.docx
《java科设论文举例.docx》由会员分享,可在线阅读,更多相关《java科设论文举例.docx(13页珍藏版)》请在冰豆网上搜索。
java科设论文举例
java课程设计报告_计算器设计报告
1.课程设计主要内容
2.概要设计
3.数据库设计
4.详细设计
5.测试分析
6.参考文献
一、课程设计主要内容
本系统共包括1个Java源文件。
本系统采用了awt包,程序实现了文本编辑器的基本功能有:
打开文件,文件保存,文件另存为,退出,信息,查找,复制,剪切.粘贴,文字颜色,设置字体,设置字形,设置字号大小,由于该编辑器用的是awt包,所以在技术上没有实现将文本以不同的颜色显示的功能.Java程序编辑器是:
图形界面,线程,流与文件等技术的综合应用.文本编辑区选用TextArea作为主要的部件.文件操作的实现:
利用字符文件流readFromFile和writeToFile方法来实现.由于java的特性,可能用任何一个编辑器来编辑,于是就将windows记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能.在设计类的时候考虑简单明了,就设计了一个主类和默认属性类做为程序的整体框架,所有的对象和方法是在默认属性类中创建和实现的.以及为各组件注册事件监听监听程序也是在默认的属性类中实现的,主类完成对象的实例化及显示.这样设计的优点是:
条理清晰,容易理解,容易修改.这样设计的缺点是:
不利于共享类中的方法.
二、概要设计
(1)自定义类说明
**********************************************************
*类名:
This_number_too_big*
*作用:
自定义的异常类,用来处理计算结果溢出*
*继承的父类:
Exception类*
*实现的接口:
没有*
**********************************************************
(2)成员变量见表1
表1MyTextArea成员变量
成员变量描述
变量类型
名称
文件
File
File
文本区
JTextArea
Textarea
单选按钮菜单项
JRadioButtonMenuItem
Rbmi_red,rbmi_blue,rbmi_green,
rbmi_pink,rbmi_yellow
菜单项
JMenuItem
menuitem_copy,menuitem_cut,
menuitem_paste,menuitem_seek
字体菜单项
JMenuItem
menuitem_song,menuitem_fang
menuitem_hua,menuitem_kai
字形菜单项
JMenuItem
menuitem_normal,
menuitem_bold,
menuitem_italic
字号菜单项
JMenuItem
menuitem_20,menuitem_30,
menuitem_40,menuitem_50,
菜单
JMenuItem
menuitem_exit,menuitem_infor
快捷菜单
JPopupMenu
Popupmenu
颜色菜单项
JMenuItem
menuitem_red,menuitem_green,
menuitem_blue,menuitem_pink
menuitem_yellow
对话框
JDialog
Dialog,dialog1
对话框按钮
JButton
Button_seek
查找文本条
JTextArea
Textfield_seek
标签
JLabel
Label_seek,label_infor
文件名
String
Seek
(3)方法见表2
表2MyTextEditor方法
方法名
功能
备注
MyTextEditor
创建文本编辑器
构造方法
Dialog
创建对话框
Dialog1
创建对话框1
addMenu
添加菜单栏菜单项
writeToFile
向文本区写文件
readFromFile
读文件
openDialog
打开文件
saveDialog
保存对话框
actionPerformed
事件处理
itemStateChanged
ItemListener事件处理方法
mouseClicked
鼠标处理事件
接口方法
mouseEvent
鼠标处理事件
接口方法
mouseReleased
鼠标处理事件
接口方法
mouseEntered
鼠标处理事件
接口方法
mouseExit
鼠标处理事件
接口方法
mouseDragged
鼠标处理事件
接口方法
Main
程序开始运行
三、数据库设计
四、详细设计
importjava.awt.*;
importjava.awt.event.*;
classThis_number_too_bigextendsException
{}//自定义的一个结果溢出异常类
classJsp2003extendsFrameimplementsItemListener,ActionListener{
publicJsp2003(){
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
dispose();
System.exit(0);
}
});
}
staticJsp2003mainFrame=newJsp2003();
staticLabellab=newLabel("0");
staticPanelpnl1=newPanel(newGridLayout(4,3,3,3));
staticPanelpnl2=newPanel(newGridLayout(4,1,3,3));
staticPanelpnl3=newPanel(newGridLayout(1,2,3,3));
staticPanelpnl4=newPanel(newGridLayout(6,1,3,3));
staticButtonbt9=newButton("9");
staticButtonbt8=newButton("8");
staticButtonbt7=newButton("7");
staticButtonbt6=newButton("6");
staticButtonbt5=newButton("5");
staticButtonbt4=newButton("4");
staticButtonbt3=newButton("3");
staticButtonbt2=newButton("2");
staticButtonbt1=newButton("1");
staticButtonbt0=newButton("0");
staticButtonbtdot=newButton(".");
staticButtonbtequ=newButton("=");
staticButtonbtadd=newButton("+");
staticButtonbtsub=newButton("-");
staticButtonbtmul=newButton("*");
staticButtonbtdev=newButton("/");
staticButtonbtA=newButton("A");
staticButtonbtB=newButton("B");
staticButtonbtC=newButton("C");
staticButtonbtD=newButton("D");
staticButtonbtE=newButton("E");
staticButtonbtF=newButton("F");
staticCheckboxckb8=newCheckbox("八进制");
staticCheckboxckb10=newCheckbox("十进制");
staticCheckboxckb16=newCheckbox("十六进制");
staticButtonbtc=newButton("clear");
staticButtonbtt=newButton("backspace");
publicintnumber=0,length=18;
//number是用来记录输入的数字个数,length是用来设置在不同进制下允许输入的最多数字位数,默认为十进制
publiccharmark='n';//设置运算符号为没有即为‘n’,它的值是‘+’‘-’‘*’‘/’
publicdoubledata=0;//设置运算数据为零
publiccharch;//用来临时存放所按按钮的第一个字符
publicbooleanRefresh=false;//设置lab是否要在输入数据的时候刷新,初始为否
publicstaticvoidmain(Stringargs[]){
System.out.println("StartingJsp2003...");
lab.setAlignment(Label.RIGHT);
lab.setBackground(Color.lightGray);
lab.setForeground(Color.BLUE);
lab.setFont(newFont("Serief",Font.BOLD,18));
lab.setBounds(14,33,216,40);
mainFrame.add(lab);
CheckboxGroupgrp=newCheckboxGroup();
ckb8.setCheckboxGroup(grp);
ckb10.setCheckboxGroup(grp);
ckb16.setCheckboxGroup(grp);
ckb8.setBounds(14,75,55,25);
ckb10.setBounds(69,75,55,25);
ckb16.setBounds(124,75,65,25);
ckb8.setState(false);
ckb10.setState(true);
ckb16.setState(false);
mainFrame.add(ckb8);
mainFrame.add(ckb10);
mainFrame.add(ckb16);
pnl1.setBounds(14,140,120,150);
pnl2.setBounds(144,140,40,150);
pnl3.setBounds(14,100,170,36);
pnl4.setBounds(190,100,40,190);
pnl1.add(bt7);
pnl1.add(bt8);
pnl1.add(bt9);
pnl1.add(bt4);
pnl1.add(bt5);
pnl1.add(bt6);
pnl1.add(bt1);
pnl1.add(bt2);
pnl1.add(bt3);
pnl1.add(bt0);
pnl1.add(btdot);
pnl1.add(btequ);
pnl2.add(btadd);
pnl2.add(btsub);
pnl2.add(btmul);
pnl2.add(btdev);
pnl3.add(btt);
pnl3.add(btc);
pnl4.add(btA);
pnl4.add(btB);
pnl4.add(btC);
pnl4.add(btD);
pnl4.add(btE);
pnl4.add(btF);
btA.enable(false);
btB.enable(false);
btC.enable(false);
btD.enable(false);
btE.enable(false);
btF.enable(false);
mainFrame.add(pnl1);
mainFrame.add(pnl2);
mainFrame.add(pnl3);
mainFrame.add(pnl4);
mainFrame.setResizable(false);
mainFrame.setLayout(null);
mainFrame.setSize(240,300);
mainFrame.setTitle("计算器");
mainFrame.setVisible(true);
ckb8.addItemListener(mainFrame);
ckb10.addItemListener(mainFrame);
ckb16.addItemListener(mainFrame);
//把事件聆听者向各个组键注册
bt1.addActionListener(mainFrame);
bt2.addActionListener(mainFrame);
bt3.addActionListener(mainFrame);
bt4.addActionListener(mainFrame);
bt5.addActionListener(mainFrame);
bt6.addActionListener(mainFrame);
bt7.addActionListener(mainFrame);
bt8.addActionListener(mainFrame);
bt9.addActionListener(mainFrame);
bt0.addActionListener(mainFrame);
btadd.addActionListener(mainFrame);
btsub.addActionListener(mainFrame);
btmul.addActionListener(mainFrame);
btdev.addActionListener(mainFrame);
btt.addActionListener(mainFrame);
btc.addActionListener(mainFrame);
btdot.addActionListener(mainFrame);
btequ.addActionListener(mainFrame);
btA.addActionListener(mainFrame);
btB.addActionListener(mainFrame);
btC.addActionListener(mainFrame);
btD.addActionListener(mainFrame);
btE.addActionListener(mainFrame);
btF.addActionListener(mainFrame);
}//endmain()mothed
//---------------------------------------------
//checkbox事件的处理
publicvoiditemStateChanged(ItemEvente)
{mark='n';
Refresh=false;
//规定当进制转换时以前输入的运算符失效
if(ckb8.getState()==true)
{btA.enable(false);
btB.enable(false);
btC.enable(false);
btD.enable(false);
btE.enable(false);
btF.enable(false);
bt9.enable(false);
bt8.enable(false);
btdot.enable(false);
btadd.enable(false);
btmul.enable(false);
btsub.enable(false);
btdev.enable(false);
btequ.enable(false);
//在八进制的情况下对有些按件的管理
if(length==18){lab.setText(goto10_8(lab.getText()));
number=lab.getText().length();
}
if(length==14){lab.setText(goto_10(lab.getText(),16L));
lab.setText(goto10_8(lab.getText()));
number=lab.getText().length();
}
//将其他进制转换成八进制
length=19;
//在八进制下允许输入数字个数最多为19位
}
if(ckb10.getState()==true)
{btA.enable(false);
btB.enable(false);
btC.enable(false);
btD.enable(false);
btE.enable(false);
btF.enable(false);
bt9.enable(true);
bt8.enable(true);
btdot.enable(true);
btadd.enable(true);
btmul.enable(true);
btsub.enable(true);
btdev.enable(true);
btequ.enable(true);
//在十进制的情况下对有些按件的管理
if(length==19){lab.setText(goto_10(lab.getText(),8L));
number=lab.getText().length();}
if(length==14){lab.setText(goto_10(lab.getText(),16L));
number=lab.getText().length();}
//进制转换成十进制
length=18;
//在十进制下允许输入数字个数最多为18位
}
if(ckb16.getState()==true)
{btA.enable(true);
btB.enable(true);
btC.enable(true);
btD.enable(true);
btE.enable(true);
btF.enable(true);
bt9.enable(true);
bt8.enable(true);
btdot.enable(false);
btadd.enable(false);
btmul.enable(false);
btsub.enable(false);
btdev.enable(false);
btequ.enable(false);
//在十六进制的情况下对有些按件的管理
if(length==18){lab.setText(goto10_16(lab.getText()));
number=lab.getText().length();}
if(length==19){lab.setText(goto_10(lab.getText(),8L));
lab.setText(goto10_16(lab.getText()));
number=lab.getText().length();}
//将其他进制转换成十六进制
length=14;
//在十六进制下允许输入数字个数最多为14位
}
}//enditemStateChanged(ItemEvente)method
//------------------------------------------------------------
//按钮事件的处理
publicvoidactionPerformed(ActionEventm)
{
Buttonbtn=(Button)m.getSource();
ch=btn.getLabel().charAt(0);
switch(ch)
{case'c':
{lab.setText("0");number=0;mark='n';Refresh=false;}break;//初始化
case'1':
enter();break;
case'2':
enter();break;
case'3':
enter();break;
case'4':
enter();break;
case'5':
enter();break;
case'6':
enter();break;
case'7':
enter();break;
case'8':
enter();break;
case'9':
enter();break;
case'0':
{if(Refresh==true){lab.setText("0");number=0;Refresh=false;}
if(lab.getText().charAt(0)=='0'&&lab.getText().length()==1)
break;
if(number
{number++;lab.setText(lab.getText()+ch);}elsebreak;
}break;
case'A':
enter();break;
case'B':
enter();break;
case'C':
enter();break;
case'D':
enter();break;
case'E':
enter();break;
case'F':
enter();break;
case'.':
{if(Refresh==true){lab.setText("0");number=0;Refresh=false;}
if(lab.getText().indexOf('.')==-1)
{number++;lab.setText(lab.getText()+ch);}
else
break;
}
break;
case'b':
{if(number==0)break;
else
{if(--number==0){lab.setText("0");number=0;}
else
{if(n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 论文 举例