java课程设计实验报告_第1页
java课程设计实验报告_第2页
java课程设计实验报告_第3页
java课程设计实验报告_第4页
java课程设计实验报告_第5页
已阅读5页,还剩28页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一实验目得加深学生对课堂讲授内容得理解 ,从计算机语言得基本概念、 程序设计得基本方法、 语法规则等方面加深理解

,打好程序设计、开发软件得良好基础。 在上机实验中

,提高学生对

Java语言各部分内容得综合使用能力

,逐步掌握

Java

语言程序设计得规律与技巧。在对

Java程序得调试过程中

,提高学生分析程序中出现得错误与排除这些错误得能力。

通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系得了解 .二、实验要求(1)问题描述准确、规范 ;(2)程序结构合理 ,调试数据准确、有代表性;(3)界面布局整齐,人机交互方便;输出结果正确;(5)正确撰写实验报告。三、设计内容1、计算器计算器要有 GUI界面,用户可以输入所需计算得数值,可以进行加、减、乘、除四种最基本得运算与混合运算, 可以求一个数值得平方及倒数, 可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下 ,可以进行四舍五入得运算。允许正负数间得运算。要求使用 Applet 实现该计算器,当用浏览器运行程序时, 点击网页中得按钮 ,则计算器弹出 ,浮在网页上,再次点击按钮时,计算器消失。2、文本编辑器可以设置文本得字体、大小、颜色等基本参数,可以读取计算机中 TXT文件,可以生成一个新得 TXT文件.其她功能参照 windows得文本编辑器。四.实验步骤(1)上机实验之前,为课程设计得内容作好充分准备。对每次上机需要完成得任务进行认真得分析,画出程序流程图,手工写出符合任务要求得程序清单 ,准备出调试程序使用得数据,以便提高上机实验得效率。按照实验目得与实验内容进行上机操作.录入程序,编译调试,反复修改,直到使程序正常运行,得出正确得输出结果为止。(3)根据实验结果 ,写出实验报告。五、 源代码及运行结果1.计算器源代码importjava 、awt、*;import java、awt、event、*;import java、lang、*;importjavax 、swing、*;public classjisuanqi

exte

ndsWindowAdapter{创建三个面板Panelp1= newPanel() ;Panel p2= newPanel();Panelp3 = newPanel();TextFi

eld

txt;privateButton[]private String

b =newss[]={"7

Button[21];", "8",”9”,

"/

”,"

清空"

,”4","5",

”6",

”*”

,"1/x

",

”1",

"2",”3”,"-”,"平方”,”0",”、","=","+”,"n!","关闭”};staticdoublea,sum=1;staticStrings,str ;//定义变量 创建对像//创建文本框publicst aticvoidm ain(Strin gargs[]){(newjisuanqi())、frame();}public voidframe(){/设置文本框得名称ramefm=newFrame(”简单计算器”);for (inti=0;i

<=20;i+ +){b[

i]

=new

Butto

n(ss[

i]);}for(inti

=0;

i<

=19;i++){p2 、add(b[i]);// 创建按钮 并添加到 P2}按钮20背景色黄色tx

b[20]、setBackgroundt=newTextField

(Color("”);

、yellow);txt、setEditable(false) ;//不能编辑文本框里面得内容xt、setBackground(Color、white);fo r (inti=0; i 〈=20; i++){b[i]、addActio

nListener(new buttonlistener());//添加监听器}//设置关闭按钮b[20]、addActionL

ist

ener(newclose());fm

、addWin

dowListener(th

is);p1

、setLayo

ut(new

BorderLayou

t());//

设置布局管理器p1、

add(txt,

"North

");//p1

面板放到区域南部2、setLayout(newGridLayout(4,5,2,2));//布局:四行五列,间隔为二p2、setBackground(Color、red);p3、setLayout(newBorderLayout());p3、add(b[20]);将三个面板分别放到不同位置m、add(p1,”North");m、add(p2,"Center");fm、add(p3,"South”);fm、pack();fm、setVisible(true );// 都就是些窗中设置 添加相关组件与监听器}publicvoid windowClosing(WindoSystem、exit(0);//退出系统

wEvent

e) {}class buttonl istenerimplementsA ctionListener{编写监听器事件通过按键得出给果publ ic void{

actionPerformed

(ActionE

vent

e)Butt

onbtn

(Button)e

、getSource()

;if

(btn

、getLabel(

==

"=”){isuan();str = String、valueOf(a);xt、setText(str);//显示当前数字s= ”";//清零}elseif(btn、getLabel()== ”+"){/设置一个方法jisuan();txt、setText(””);s= ”+";}else if(btn、getLabel() ==”—"){jis uan();xt、setText("");s="-";}else if(btn、getLabel() =="/" ){jisu an();txt、setText("”);s= "/";}else if(btn、getLabel() =="*"){jisuan ();txt 、setText(””);s

=

"*";}else(btn

if、getLabel(

)=="平方”

){=Double、parseDouble(txt、getText());*=a;txt、setText(""+Stri ng、valueOf(a));?}elseif(btn、getLabel()=="n!”){a=Double、parseDouble(txt、getText());sum=1;or(inti=1;i<=a;i++)sum=sum*i;txt、setText(””+String、valueOf(sum));?}else ifbtn、getLabel()==

"1/x"){a=Double、parseDouble(txttxt、setText(""+String

、getText());、valueOf(1/a));}

? ?lse{if(

txt、setText(txt、getText()btn、getLabel()== "清空")txt 、setText("");

+btn、

getLabel())

;}}publicvoidj isuan() {//编写具体计算方法if (s=="+”)a +=Double、parseDouble(txt、getText());elseif (s ==”-”)a —= Double、parseDouble(txt、getText());el

se

if

(s

==

"*”)*=Double、parseDouble(txt、getText());lseif(s==”/”)a/=Double 、parseDouble(tx t、getText());lsea=Double、parseDouble(txt、getText());}}}classcloseimplementsActi onListener{/退出publicvoidactionPer formed(ActionEvent e){ystem、exit(0);}}、2、计算器运行界面(1)计算器主界面(2) 面板得实现1、创建三个面板分别就是显示数字得面板、按钮得面板与“关闭”得面板Panelp1 =newPanel();Panelp2

new

Panel

();Panelp

=n

ew

Panel()

;2、创建一个文本框参数TextFieldtxt;3、创建一群按钮参数并给按钮赋值privateButton[]b = newButton[21];priv ateStringss[]={"7", "8”,"9", "/","清空" ,"4","5”, "6”,"*",”1/x”,"1”,"2",3”,”—”,”平方",”0","、",”=","+","n!”,"关闭"};4、创建文本框publi

cs

taticvoi

dmai

n(Stri

ng

arg

s[]){(new jisuanqi())、fra

me(

);}5、设置文本框方法publicvoid

frame(){//设置文本框得名称ramefm=newFrame("简单计算器");6、设置按钮for (int i = 0;i <=20; i++){b[i]= newButton(ss[i]);}7、设将按钮添加到面板for (inti= 0;i 〈=19;i++){p2 、add(b[i]);//创建按钮 并添加到 P2}8、设置按钮 20背景色黄色b[20 ]、setBackground(Color、yellow);9、创建文本框,并规定不能编辑内容与背景为白色txt =new TextField(”");txt、setEditable(false);xt、setBackground(Color、white);10、为按钮添加监听器for

(int

i=

0;

i

〈=20; i++){b[i]

、addActio

nListener(new buttonlisten

er());//

添加监听器}11、设置“关闭”按钮可以关闭界面并设置监听器b[ 20]、addActionListe ner(newclose());fm、addWindowListener(this);、设置布局p1、setLayout(newBorderLayout());//设置布局管理器p1、add(txt,"North”);//p1面板放到区域南部p2、setLayout(newGridLayout(4,5,2,2));//布局:四行五列,间隔为二2、setBackground(Color、red);3、setLayout(newBorderLayout());p3、add(b[20]);、将三个面板分别放到不同位置fm、add(p1, ”North");fm、add(p2, "Center”);fm、add(p3,"South");m、pack();fm、setVisible(true); //都就是些窗中设置 添加相关组件与监听器}14、退出系统publi cvoid windowClosing(WindowEvent e){System、exit(0 );}(3) 将按钮添加到计算这个事件中1、编写监听器事件 通过按键得出给果publicvoidacti onPerformed(ActionEvente){/将按钮赋予这个事件中Button btn= (Button) e、getSource();2、如果点击“ =”这个按钮,将出现当前数字if(btn 、getLabel()==”="){jisu an();str=Str ing、valueOf(a);txt 、setText(str) ;//显示当前数字="";//清零}3、如果点击“ +"“—”“*”“/”分别完成一个方法并将结果显示到文本框elseif(btn、getLabel()== "+”){/设置一个方法txt

ji suan();、setText("”)

;s ="+";}elseif(btn、getLabel()==”—”){isuan();xt、setText("");s="—";}elseif(btn、getLabel() =="/"){jitxs

suan();t、setText="/";

(””);}elseif(btn、getLabel()== ”*”){jisu an();t xt、setText("") ;s= ”*";}4、如果点击“平方”则当前数字与原数字形成即完成相关方法结果显示最终得数字else ifbtn、getLabel()=="平方"){a=D ouble、parseDouble(txt 、getText());*=a;txt、setText(”"+String、valueOf(a)); //显示a}5、当输入“n!”,就用for循环完成阶乘,此方法属于c语言基础方法,不做相关解释else if(btn、getLabel()=="n!"){a=Double、parseDouble(txt、getText());sum=1;// 归一fo r(int i=1;i〈=a;i++)sum=sum*i;xt、setText(""+String、valueOf(sum));?//文本框中显示“sum”得数值}6、当输入“1/x”时,显示1/a。elseifbtn、getLabel()=="1/x”){a=Double、parseDouble(txt、getText( ));txt、setText("”+String、valueOf(1/a));} ?如果输入“清空”文本框成为空文本框else{txt、setText(txt、getText()+ btn、getLabel()) ;if (btn、getLabel() =="清空”)txt、setText(”");}4)设置“jisuan"方法1、编写具体计算方法其实这些方法可以放到上面事件得实现中 ,从“平方",“n!",“1/x”就可以瞧出。但为了程序得美观与高识别性,我们传建一个方法来实现if (s ==”+")a+=Double、parseDouble(txt、getText());elseif(s=="-”)a -=Double、parseDouble(txt、getText());else if(s= ="*”)a *=Double、parseDouble(txt、getText());else if( s=="/")a/ =Double、parseDouble(txt 、getText() );elsea= Double、parseDouble(txt、getText() );文本编辑器源代码importja va、awt、*;importj avax、swing、*;importjava、awt、event、*;importjavax 、swing、event、*;mportjava、io、*;publicclassTextEditor{publics taticvoi d main(Stringarg s[]){TextFrameframe=new TextFrame();frame、setDefaultC loseOperation(JFrame、EXIT_ON_CLOSE);frame、show();}}classTextFrameextendsJFrame{/文件中得参数=null;st

aticS

trin

d,k,s

;//编辑中得参数St

ringselected,

text;//格式中得参数StringsizeNames[] ={"5","10 ","15”,"20"

,”25","30

”,”35",”40",”45","50”};tringcolorNames[]={”黑色",”红色","蓝色",”绿色","白色”,"黄色","粉红”};tringfontNames[]={"宋体”,”华文行楷”,"隶书",”黑体","仿宋”,”华文彩云",”楷体”,"方正姚体"};StringstyleNames[]= { "粗体", "斜体” };publicTextFrame(){设置文本框大小、名称setTitle("西西牌文本编辑器") ;etSize(400,400);addWindowListener(newLogoutActi on());J(); //创建一个文件选择器创建文本区t1= newJTextArea(0,0);// 面板与文本框无间隙scrollP ane=new JScroll Pane(t1);//设置滚动条getContent Pane()、add(scrollPa ne);创建菜单栏menuBar=newJMenuBar();s etJMenuBar(menuBar);/文件JMenu (”文件(F)");(’F');// 设置快捷键new Item=newJMenuItem("新建(N)",'N');penItem=newJMenuItem(”打开(O)、、、”,'O’);saveItem=newJMenuItem("保存(S)",'S’);xitItem=newJMenuItem(”退出(E)",'E’);//设置监听器ne

wItem、

addActionLi

stener

(new

(

));openIt

em、addActi

onListen

er(new

());s

aveIte

m、addAction

Listener(

new

());exitI

tem、addActi

onLi

stener(new

());/设置加速器newItem、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VK_N,InputEvent、CTRL_MASK)); openItem、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VK_O,InputEvent、CTRL_MASK));aveItem、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VK_S,InputEvent、CTRL_MASK));添加按钮到文件菜单栏(newItem);(o penItem);(saveItem);(exitI tem);//编辑edit=newJMenu ("编辑(E)”);edit 、setMnemonic('E');//创建菜单项utItem=newJMenuItem("剪切(T)”);copyItem=new JMenuItem(" 复制(C)");pas teItem=newJMenuItem("粘贴(P)");delete Item=new JMenuItem("删除(L)");selectAllItem=newJMenuItem("全选(A)");设置加速器cutItem、setAccelerator (KeyStroke、getKeyStroke(KeyEvent、VK_X,InputEvent、CTRL_MASK));copyIte m、setAccelerator(KeyStroke 、getKeyStroke(KeyEvent、VK_C,InptEvent、CTRL_MASK));asteItem、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VK_V,InputEvent、CTRL_MASK));eleteItem、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VK_L,InpuEvent、CTRL_MASK));select AllItem、setAccelerator (KeyStroke、getKeyStroke(KeyEvent、V_A,InputEvent、CTRL_MASK));/设置监听器cutI tem、addActionListener(newEdi tListener());copyItem、addActionListener (newEditList ener());pasteItem、addActionList ener(newEditListen er());eleteItem、addActionListener(newEditListener());selectAllItem 、addActionListener(new EditListene r());添加按钮到“编辑”菜单栏edit 、add(cutI tem);edit、add(copyItem);dit、add(pasteItem);dit、add(deleteItem);edit、add(selectAllI tem);格式format=new JMenu("格式(O)”);format、setMnemonic(’O');sizeItem=newJMenu(”字体大小”);colorItem=n ew JMenu("字体颜色”);fontItem =newJMenu("字体");tyleItem=newJMenu("字体风格");izes=newJRadioButtonMenuItem[sizeNames、length];colors=newJRadioButtonMenuItem[colorNames、length];fon ts=newJRadioButtonMenuItem[fontNames、length];st

yl

es=new

JChe

ckBoxMenuItem[styleNa

mes、length];styleGroup=new

Butto

nGroup();f

ontGroup

newButtonGroup();colorGroup

=new

Button

Group()

;sizeGroup=newButtonGroup();将每种元素放进菜单项与按钮组中or(inti=0;i<sizes、length;i++){sizes[i]=newJRadioButtonMenuItem(sizeNames[i]);size

s[i]

、addIt

emLis

tener(

newFormatListener

())

;siz

eGroup、add(sizes

[i]);si

zeItem、add(sizes

[i]

);}for

(in

i=0;i〈col

ors、length;i++){colors[

i]=new

JRadioButtonMenuItem(colorN

ames[

i]

);colors[i

]、addItemListener(newFormat

Li

stener());colorGro

up、add(color

s[i]);col

orItem

、add(col

ors[i

]);}for

(int

i=0;i

〈fonts、

leng

th;i

++){fonts[i]=new JRadioButtonMenuItem(fontNames[ifonts[i]、addItemListener(newFormatListenerfontGroup、add(fonts[ i]);fontItem、add(fonts[i]) ;

]);());}fo

r(inti=0

;i

<styles、

le

ngth;i++){styles[i]=new JCheckBoxMenuItem(styleNames[i])styles[i]、addItemListener (newFormatListenerstyl eItem、add(styles [i]);

;());}ormat、add(sizeItem);format、add(colorItem);format、add(fontItem);fo

rmat、add(sty

leIt

em);//查瞧vfo

view= new JMenu(”关于我们(us)”);iew、setMnemonic(' U');rmItem=newJMenuItem("组成成员");formItem 、addActionListener(new ViewListen

er()

);impression

Item=ne

wJMenuI

tem("学习感言");i

mpressi

onItem、addActionList

ener(new

ViewLis

tene(r))

;view

、add(formIt

em);v iew、add(impression

Item);//将菜单添加到菜单栏中menuBar、add(files

);menuBar、add(edit);menuBar、add(format);menuBar、add(view);弹出式菜单及其菜单项popup=new

JPopupMenu();cutItemPop=n

ew

JMenuIte

m(”剪切(

T)”);cu

tItemPop、addActionListene

r(new

EditList

ener());co

pyItemPop=new

JMenuItem

(”复制(

C)");copyIt

emP

op、addActionList

ener(new

EditListen

er());pasteI

temPop=newJMenuIte

m(”粘贴(

P)")

;pasteItemPop

、addActionListener(newEditListener

());deleteItemPop=newJMenuItem("删除(L)”);deleteItemPop、addActionListener(newEditListener());sele ctAllIt emPop=new JMenuItem("全选(A )”);selectA llIt emPop、addActionListener(newEditListener());添加popup 、add(cutItemPop);popup、add(copyItemPop);opup、add(pasteItemPop);popup、add(deleteItemPop);popup、add(selectAll ItemPop);实现弹出式菜单得弹出触发器t1 、addMouseListener(n ew

MouseAdapter(){//释放按钮触发事件public void mouseReleased(MouseEvente){f(e、isPopupTrigger())指定弹出式菜单得成员以及显示位置popup、show(e、getponent(),e

、getX(

),e、getY());

}});}pri

vat

cla

ss

imple

ments

ActionL

istener{publicvo

idacti

onPerforme

d(A

ction

Event

e){/”新建"f(e、getSource()==newItem){t1、setText(””);;}”打开"f(e、getSource()==openItem){if()(file);ntm=(TextFrame、this);if (m==J){();openFile();}}//"保存"if(e、getSource()==saveItem){=t1、getText();if()(file);显示保存对话框intm= (TextFrame、this);if (m==J){);saveFile();}}/"退出”if(e 、getSource()==exitItem){k= t1、getText();//如果文本为空或已保存 ,直接退出,否则保存后退出i

f(k、equals("

"))S

yst

em、exit(

0);els

if

(k、equals

(d)

Syst

em、exit(0

);else{TextFramef=newTextFrame();//新建确认型对话框int n=JOptionPane、showConfirmDialog(f," 就是否将文件保存到当前位置?",退出”,JOptionPane、YES_NO_CANCEL_OPTION);if(n= =JOptionPane、YES_OPTION)//如果选择“就是 ",则保存文件{if ()(file);ntm=(TextFrame、this);if (m==J){();aveFile();}}if (n==JOptionPane、NO_OPTION){System、exit(0}

);}}}vo idopenFile()//打开得方法{try{r=new(file);//类用于读取字符流intlen=(int)();char []buffer=new char[len];//以file 得字符数开辟一段缓冲区数组buf

fer

fr、read(buffe中得某一部分,fr、close();t1、setText

r,0,len);// 将fr从file//关闭该流(newString(buff er));

中读取得字符读入}c

atch(Exceptione)// 抛出异常{e、printStackTrace();}}v oidsaveFile()//保存得方法{tr y{fw=new(f

ile)

//类用于写入字符流fw

、write(

t1、getText())

;//

t1里得内容写入

filefw 、close();//关闭该流}catch(Exception e){e、printStackTra ce();}}}privateclass LogoutActionextendsWindowAdapter// 实现点击窗口退出事件监听器{publ icvoidwindowClosi ng(WindowEvente){s=t 1、getText();if(s、equals("”))System、exit(0);lseif(s、equals(d))System、exit(0);lse{TextFramef=newTextFrame();//新建确认型对话框intn=JOptionPane、showConfirmDialog(f,"就是否将文件保存到当前位置? ",退出”,JOptionPane、YES_NO_OPTION);f(n==JOptionPane、YES_OPTION)//如果选择“就是”,则保存文件{if () (file);ntm=(TextFrame、this);if(m==J){?();sav eFile();}}f(n==JOptionPane、NO_OPTION){?System、exit(0);}}}void saveFile()// 保存得方法{try{fw=new (file );//

类用于写入字符流f w、write(t1、getTe

xt());//将t1

里得内容写入f

ilefw、close() ;//关闭该流}atch(Exceptione)e、printStackTrace();}}pri

}vate

clas

EditL

istener

implements

ActionListene

r{p ublic

voidactionPe

rformed(ActionEve

nt

e){剪切if (e、getSource()==cutIt em||e、getSource() ==cutItemPop){t1 、cut();}复制f(e、getSource()==copyItem||e、getSource()==copyItemPop){t1 、copy();}粘贴f(e、getSource()==pasteItem||e、getSource()==pasteItemPop){t1、paste() ;}//删除i f(e、getSource()==deleteIt em||e、getSource()==deleteItemPop ){text=t1、getText();selected=t1、getSelectedText();ntid=text、indexOf(selected);in

tstart

=i

d+selected、length();inte

nd=

text

、length();t1

Stringrest=text 、substrin g(star、replaceRange(rest, id,end);

t,end);in

ta=id;}/全选if(e、getSource()==selectAllItem| |e、getSource()==selectAllItemPop){1、selectAll();}}}private class FormatListenerimplements此类作监听器,要用addItemListener 方法注册监听器

Item

Listener

//若用{public

voidit

emStateChanged(ItemEvente){//设置字体风格 (复选)int

style=0

;if

(styles[0]

、isSelec

ted())style+=Font、BOLD;f(styles[1]、isSelected())style+=Font、ITALIC;t1、setFont(new Font(t 1、getFont()、getName(),st yle,t1、geFont()、getSize()));设置字体if(

for(i nti=0 ;i<fonts、lengte、getSource()==fonts[i ])

h;i++)t1

、setFont

(new

Font(fontNames[i],style

,t1、

getFont()、getSize()));/

/设置字体大小?i

for(intj=0;j< sizes、length;j++)f(e、getSource()==sizes[j])t1 、setFont(newFont(t1 、getFont()、getName(),styl

e,5*j));?//设置字体颜色if(e、getSource()==colors[0])1、setForeground(Color、black);if(e、getSource()==colors[1])?t1、setForeground(Color、red);?if(e 、getSource()==colors[2])?t1、setForeground(Color、blue);if(e、getSource()==colors[3])t1、setForeground(Color、green);?if(e、getSource()==colors[4])?t1、setForeground(Color、white);?if(e、getSource()==colors[5])1、setForeground(Color、yellow);?if(e、getSource()==colors[6])t1、setForeground(Color、pink);}}privat eclassViewListener implements ActionListener{publicvoida ctionPerformed(Actio nEvent e){//关于主题if (e、getSource()==formItem){JOpti

onPane、showMessageDialog(null,

"闫曦

王鑫

冯爽", ”成员机构",JOptionPane、INFORMATION_MESSAGE);}//关于本产品if (e、getSource()==impressionItem){OptionPane、showMessageDialog(null,"经过半个多学期得学习,n’+"我们队java有了一些了解,"+'n'+"并伴有极大得兴趣" +’\n'+"也对软件得瞧法有所改观 ."'\n'+"感谢老师得教导,”+’\n’+"同时也希望我们能编出一些新得"+'\n'+”软件,为社会做出应有得贡献","学习感言",JOptionPane、INFORMATION_MESSAGE);}}};JTextAreat1;ScrollPanescrollPane;MenuBarmenuBar;//菜单栏JPopupMenupopup;//弹出式菜单JMenu 文件,编辑,格式,查瞧JMenuItemnewItem,openItem,saveItem,exi tItem,// 新建,打开,保存,打印,退出cutItem,copyI tem,pasteIt em,deleteIte m,selectAllItem,//剪切,复制,粘贴,删除,全选utItemPop,copyItemPop,pasteItemPop,deleteIemPop,selectAllItemPop,//剪切,复制,粘贴,保存,删除,全选sizeItem,f ontIt em,styleItem,colorItem,/ /字体大小,字体,字体风格,颜色formItem,impressionItem;//关于我们privateJChec kBoxMenuItemstyles[];private JRadioButtonMenuItemsizes [],colo rs[],fonts[];privateButtonGroupsizeGroup,colorGroup,fontGroup,styleGroup;}、4.文本编辑器运行界面(1) 文件等原件放入菜单栏(2) 引入对话框intm=(TextFrame、this);(3) 出现一个对话框来判断就是否退出//如果文本为空或已保存,直接退出,否则保存后退出f(k、equals(”"))System、exit(0);else if(k、equals(d))System、exit(0);else?{TextFramef=newTextFrame();//新建确认型对话框intn=JOptionPane、showConfirmDialog(f,"就是否将文件保存到当前位置?”,"退出",JOptionPane、YES_NO_CANCEL_OPTION);if (n==JOptionPane、YES_OPTION)//如果选择“就是”,则保存文件{?if ()(f ile);ntm=(TextFrame、this);if( m==J){();save File();}}if (n==JOptionPane、NO_OPTION){ystem、exit(0);}}}(4) JOptionPane、YES_NO_CANCEL_TOPION这句话决定有几个选项5)设置单选框与复选框,形式不太相同格式forma t=newJMenu(”格式(O)");ormat、setMnemonic(’O');izeItem=newJMenu("字体大小");colorItem=newJMenu(”字体颜色");fontItem=new JMenu(”字体");styleItem=new JMenu("字体风格");sizes= new JRadioButtonMenuItem[sizeNames、length];colors=newJRadioBu ttonMenuItem[colorNames、length];font s=newJRadioButtonMenuItem[fontNames、length];styles=new JCheckBoxMenuItem[styleNames、length];tyleGroup=newButtonGroup();fontGroup

newButt

onGroup();col

orGroup=

newButtonGroup

();si

zeGroup

new ButtonGroup();(6) 不存在判断,只就是需要确认信息 JOptionPane、INFORMATION_MESSAGE查瞧view=newJMenu("关于我们

(us)");vi ew、setMnemonic('U')

;for mItem=new JMenuItem("组成成员”);formItem、addActionListener(new ViewListener ());impressionI tem=new JMenuItem("学习感言” );impressionItem、addActionListener(newViewListener()

);view、add(formItem);iew、add(impressionItem);/关于主题if(e、getSource()

==formI

tem){JOpt ionPane、showMessageDialog(null, "闫曦

王鑫

冯爽”,"成员机构”,JOptionPane、INFORMATION_MESSAGE);}/关于本产品if(e、getSource()==impressionItem){JOptionP

ane、showMessageDialog(nul

l,

"

经过半个多学期得学习

,"+'\n

’+"我们队

java

有了一些了解,"+'\n’

+”并伴有极大得兴趣

"+'\n'+"

也对软件得瞧法有所改观。"+

'\n’+”感谢老师得教导,

"+'\n

’+??”同时也希望我们能编出一些新得"+’

\n’+”软件

,为社会做出应有得贡献”, ”学习感言”,JOptionPane、INFORMATION_MESSAGE);}(7) 编辑框得实现/编辑edit=newJMenu(”编辑(E)”);edit、setMnemonic('E’);/创建菜单项cu tItem=new JMenuItem("剪切(T)");copyItem=newJMenuItem(”复制(C)");pasteItem=newJMenuItem("粘贴(P)”);delet eItem=newJMenuItem(”删除(L)”);selec tAllIt em=new JMenuItem("全选(A)");加速器cu tItem、setAccelerat or(KeyStroke、getKeyStrokeKeyEvent、VK_X,InputEvent、CTRL_MASK));opyItem、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VK_C,InputEvent、CTRL_MASK));pasteItem、setAccelerator( KeyStroke、getKeytroke(KeyEvent、VK_V,InputEvent、CTRL_MASK));deleteItem、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VK_L,InputEvent、CTRL_MASK));sele ctAllItem、setAccelerator(KeyStroke、getKeytroke(KeyEvent、VK_A,InputEvent、CTRL_MASK));监听器cutItem、addActionListener(new EditListener());opyItem、addActionListener(newEditListener());pasteItem、addActionListener(newEditListener());deleteItem、addActionListener(newEditListener());electAllItem、addActionListener(newEditListner());添加dit、add(cutItem);edit、add(copyItem);dit、add(pasteItem);edit、add(deleteIte m);edit、add(selectAllItem);(8) 弹出式菜单得实现/弹出式菜单及其菜单项popup=newJPopupMenu();cutIte

mPop=new

JMenuItem("剪切(

T)")

;c utIte

mPop、addAction

Lis

tener(newEditListener());opyItemPop=newJMenuItem("复制(C)");copyItemPop、addActionListen er(new EditListe ner());pasteItemPop

=new

JMenuItem

("粘贴(P)"

);pas

teItemPop、addActi

onListener

(newEditLi

stener(

));del

eteI

temPop=

new

JMenuItem("删除(L)");deleteItemPop、addActionListener(newEditListener ());selectAllI temPop=new JMenuItem("全选(A)");selec tAllIte mPop、addActionLi stener(new EditListener());/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论