Java语言实验报告四Word格式.docx
《Java语言实验报告四Word格式.docx》由会员分享,可在线阅读,更多相关《Java语言实验报告四Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
![Java语言实验报告四Word格式.docx](https://file1.bdocx.com/fileroot1/2022-12/14/6ac54acc-04fb-4ac4-b31b-eb53aeac87d5/6ac54acc-04fb-4ac4-b31b-eb53aeac87d51.gif)
f.add(tf,"
South"
f.addWindowListener(this);
MenuBarmb=newMenuBar();
f.setMenuBar(mb);
Menum1=newMenu("
File"
Menum2=newMenu("
Edit"
Menum3=newMenu("
Help"
mb.add(m1);
mb.add(m2);
mb.add(m3);
Menum4=newMenu("
Open"
MenuItemmi1=newMenuItem("
New"
MenuItemmi2=newMenuItem("
Save"
CheckboxMenuItemmi3=newCheckboxMenuItem("
Show"
MenuItemmi4=newMenuItem("
Quit"
m1.add(m4);
m1.add(mi1);
m1.add(mi2);
m1.add(mi3);
m1.addSeparator();
m1.add(mi4);
MenuItemmi41=newMenuItem("
Openword"
MenuItemmi42=newMenuItem("
Openexcel"
m4.add(mi41);
m4.add(mi42);
f.setSize(300,400);
f.setVisible(true);
}
publicstaticvoidmain(Stringargs[]){
Test3t=newTest3();
t.go();
publicvoiditemStateChanged(ItemEvente){
Stringst="
youselected:
"
;
if(c1.getState()==true){
st=st+c1.getLabel()+"
}
if(c2.getState()==true){
st=st+c2.getLabel()+"
if(c3.getState()==true){
st=st+c3.getLabel()+"
tf.setText(st);
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
[运行结果]
实验题1-2
•在实验1-1程序上添加菜单,如下图所示
•调试并记录结果
publicclassTest4_1extendsWindowAdapterimplementsItemListener{
privateFramef;
privateCheckboxc1,c2,c3;
privatePanelp;
privateTextFieldtf;
privateMenuBarmb;
privateMenumfile,mselect,mhelp;
privateMenuItemmf1,mf2,mf3,mf4,mf5;
privateCheckboxMenuItemms1,ms2,ms3;
publicTest4_1(){
f=newFrame("
兴趣爱好窗口"
c1=newCheckbox("
c2=newCheckbox("
c3=newCheckbox("
p=newPanel();
tf=newTextField(20);
mb=newMenuBar();
mfile=newMenu("
mselect=newMenu("
Select"
mhelp=newMenu("
mf1=newMenuItem("
mf2=newMenuItem("
mf3=newMenuItem("
mf4=newMenuItem("
mf5=newMenuItem("
ms1=newCheckboxMenuItem("
ms2=newCheckboxMenuItem("
ms3=newCheckboxMenuItem("
publicvoidlanchFrame(){
mb.add(mfile);
mb.add(mselect);
mb.add(mhelp);
mfile.add(mf1);
mfile.add(mf2);
mfile.add(mf3);
mfile.add(mf4);
mfile.addSeparator();
mfile.add(mf5);
mselect.add(ms1);
mselect.add(ms2);
mselect.add(ms3);
f.add(tf,BorderLayout.SOUTH);
p.add(c3);
f.add(p,BorderLayout.CENTER);
ms1.addItemListener(this);
f.setSize(300,200);
Stringst="
您选择的兴趣爱好是:
"
if(c1.getState()==true||ms1.getState()==true){
st=st+c1.getLabel()+"
c1.setState(true);
ms1.setState(true);
if(c2.getState()==true){
st=st+c2.getLabel()+"
if(c3.getState()==true){
st=st+c3.getLabel()+"
if(c1.getState()==false&
&
c2.getState()==false&
c3.getState()==false){
st="
publicstaticvoidmain(String[]args){
Test4_1t=newTest4_1();
t.lanchFrame();
[运行结果]
实验题2
•运行弹出式菜单程序,调试并记录结果。
publicclassPopupMenuExampleimplementsActionListener{
Framef;
Buttonb;
PopupMenupm;
publicstaticvoidmain(String[]args){
PopupMenuExamplepme=newPopupMenuExample();
pme.init();
publicvoidactionPerformed(ActionEvente){
pm.show(b,10,10);
voidinit(){
PopupMenuExample"
b=newButton("
Pressme"
b.addActionListener(this);
f.add(b,"
pm=newPopupMenu("
Popup"
pm.add(newMenuItem("
));
Load"
Saveas..."
f.add(pm);
f.setSize(200,200);
[实验结论与收获]
掌握弹出式菜单的编程方法。
实验题3
•编写Application程序,生成如图所示界面。
完成功能:
单击“显示”按钮,显示文本框,“显示”按钮不可用,“不显示”按钮可用;
单击“不显示”按钮,文本框不可见,“显示”按钮可用,“不显示”按钮不可用。
•完成程序,调试并记录结果。
publicclassEx4_3extendsWindowAdapterimplementsActionListener{
privateButtonb1,b2;
publicEx4_3(){
Ex4_3"
tf=newTextField(20);
b1=newButton("
显示"
b2=newButton("
不显示"
f.setLayout(newFlowLayout());
f.add(b1);
f.add(b2);
f.add(tf);
b1.addActionListener(this);
b2.addActionListener(this);
f.setSize(300,300);
publicstaticvoidmain(String[]args){
Ex4_3t=newEx4_3();
if(e.getActionCommand()==b1.getLabel()){//是否为b1按钮被按下?
tf.setVisible(true);
b1.setEnabled(false);
b2.setEnabled(true);
}elseif(e.getActionCommand()==b2.getLabel()){//是否为b2按钮被按下?
tf.setVisible(false);
b1.setEnabled(true);
b2.setEnabled(false);
System.exit
(1);
掌握在Application程序中对按钮及文本框进行编程的方法。
。
实验题4
•编写Applet程序,生成如图所示界面。
importjava.applet.Applet;
publicclassEx4_4extendsApplet{
Buttonb1=newButton("
显示"
Buttonb2=newButton("
不显示"
TextFieldtf=newTextField("
这是一个文本框!
20);
Panelp=newPanel();
publicvoidinit(){
add(b1);
add(b2);
add(tf);
b1.setEnabled(false);
publicbooleanaction(Evente,Objecto){
if(e.target==b1){//判断是否是b1被按下
}elseif(e.target==b2){//判断是否是b2被按下
returntrue;
HTML文件程序
<
html>
<
appletcode="
Ex4_4.class"
width=300height=300>
<
/applet>
/html>
掌握在Applet程序中对按钮及文本框进行编程的方法。
实验题5
•调试程序。
importjava.io.*;
publicclassFileFilterTest{
Filedir=newFile("
d:
//ex"
Filterfilter=newFilter("
java"
System.out.println("
listjavafilesindirectory"
+dir);
Stringfiles[]=dir.list(filter);
for(inti=0;
i<
files.length;
i++){
Filef=newFile(dir,files[i]);
if(f.isFile())
System.out.println("
file"
+f);
else
subdirectory"
+f);
publicclassFilterimplementsFilenameFilter{
Stringextent;
Filter(Stringextent){
this.extent=extent;
publicbooleanaccept(Filedir,Stringname){
returnname.endsWith("
."
+extent);
掌握读取指定类型文件名的方法。
实验题6
•编程:
将当前目录“a.txt”文件中的内容写入新创建的“b.txt”文件中。
publicclassEx4_6{
//利用try~catch结构处理IOException异常
try{
//创建b.txt文件
FilemyFile=newFile("
b.txt"
myFile.createNewFile();
//createNewFile()创建新文件
//创建输入流bufIn,从a.txt文件向内存中读入信息的变量
FileReaderin=newFileReader("
a.txt"
BufferedReaderbufIn=newBufferedReader(in);
//创建输出流bufOut,从内存向b.txt文件中写入信息的变量
FileWriterout=newFileWriter(myFile);
BufferedWriterbufOut=newBufferedWriter(out);
//定义变量line,从bufIn(从a.txt文件)中读取一行数据
Stringline;
line=bufIn.readLine();
//当line的数据不为空时,将line的数据输出写入到bufOut(b.txt文件)中
while(line!
=null){
System.out.println(line);
bufOut.write(line,0,line.length());
bufOut.newLine();
//关闭输入流bufIn和输出流bufOut
bufIn.close();
bufOut.close();
}catch(IOExceptione){
System.out.println(e);
掌握读取及写入文本文件的方法。
实验题7
创建一个“test.txt”文件,向其中随机输入10个char类型的('
A'
~'
Z'
)字符,并打印输出。
•调试并记录结果。
publicclassEx4_7{
//利用try~catch结构处理IOException异常
try{
//创建test.txt文件
Filef=newFile("
test.txt"
f.createNewFile();
//createNewFile()创建文件
//创建一个从内存向文件中写入信息的变量out
FileWriterout=newFileWriter(f);
//利用out向文件写入10个英文字母
charc;
for(inti=0;
10;
i++){
c=(char)('
+Math.random()*26);
out.write(c);
System.out.print(c);
//关闭输出流out
out.close();
掌握创建文本文件并写入内容的方法。
实验题8
•调试程序,比较两种实现多线程处理的方法。
MyRunner程序:
classMyRunnerimplementsRunnable{
inti;
publicvoidrun(){
i=1;
while(true){
System.out.println("
MyThread:
+i++);
if(i==50)
{System.out.println("
StopMyThread!
);
break;
MyThread程序
publicclassMyThreadextendsThread{
if(i==50)
{System.out.println("
publicstaticvoidmain(Stringargs[]){