版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一实验目得加深学生对课堂讲授内容得理解 ,从计算机语言得基本概念、 程序设计得基本方法、 语法规则等方面加深理解
,打好程序设计、开发软件得良好基础。 在上机实验中
,提高学生对
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
3
=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
g
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
t
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
e
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
e
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
s
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年构建算力资源“数字身份证”全国一码通行机制
- 2026年柔性机器人故障自诊断与预测性维护体系
- 2026年新建和改造提升高标准农田4亿亩目标任务分解指南
- 2026年天津市合成生物专项项目申报条件解析
- 2026年民政科技创新智能监护技术攻关项目申报
- 2026年碳化硅氮化镓器件在新型储能系统应用
- 2026年自治法治德治三治融合实践探索
- 2026年高铁数字孪生场景列车轨迹基站覆盖实时映射
- 2026年氢能产业链碳足迹科学量化与绿氢认证实务
- 汉江实验室2026届校园招聘备考题库附参考答案详解【典型题】
- 2026届江苏南通市通州区高三下学期模拟预测化学试题(含答案)
- 吉水县2026年面向社会公开招聘农村(社区)“多员合一岗”工作人员【146人】考试备考试题及答案解析
- 2026年中级消防设施操作员习题库(附答案解析)
- 民盟支部内部管理制度
- 2026年公安局辅警招聘《综合理论知识》考试题库及答案
- 2025-2026学年冀美版(新教材)初中美术八年级下册(全册)教学设计(附目录P125)
- 吸痰护理操作中的并发症预防
- 1.6 有多少名观众 课件-2025-2026学年三年级下册数学北师大版
- 动物营养学各单元
- 2026年海底管道智能巡检报告及未来五至十年海洋工程报告
- RCEP培训商务部课件
评论
0/150
提交评论