java语言和www技术-实验作业四

更新时间:2023-11-16 14:21:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《Java语言和WWW技术》课程

实验报告四

姓名: 学号:

实验题1-1

[实验要求]

? 在选择“兴趣爱好”的窗体中,有旅游、运动、阅读等选项,编写小程序,完成兴

趣爱好的选择,并输出到文本框中。 ? 记录调试过程、步骤、程序和运行结果。

[实验程序]

import java.awt.*;

import java.awt.event.*;

class Test3 extends WindowAdapter implements ItemListener { Frame f; Panel p; Checkbox c1,c2,c3; TextField tf; public void go(){ f=new Frame(\ p=new Panel(); c1=new Checkbox(\旅游\ c2=new Checkbox(\运动\ c3=new Checkbox(\阅读\ c1.addItemListener(this); c2.addItemListener(this); c3.addItemListener(this); p.add(c1); p.add(c2); p.add(c3); f.add(p,\ tf=new TextField(); f.add(tf,\ f.addWindowListener(this); MenuBar mb = new MenuBar(); f.setMenuBar(mb); Menu m1 = new Menu(\ Menu m2 = new Menu(\ Menu m3 = new Menu(\

mb.add(m1); mb.add(m2); mb.add(m3); Menu m4 = new Menu(\ MenuItem mi1 = new MenuItem(\ MenuItem mi2 = new MenuItem(\ CheckboxMenuItem mi3 = new CheckboxMenuItem(\ MenuItem mi4 = new MenuItem(\ m1.add(m4); m1.add(mi1); m1.add(mi2); m1.add(mi3);

m1.addSeparator(); m1.add(mi4); MenuItem mi41 = new MenuItem(\ MenuItem mi42 = new MenuItem(\ m4.add(mi41); m4.add(mi42); f.setSize(300,400); f.setVisible(true); } public static void main(String args[]){ Test3 t=new Test3(); t.go(); } public void itemStateChanged(ItemEvent e){ String st=\ 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); } public void windowClosing(WindowEvent e){ System.exit(0);

} }

[运行结果]

实验题1-2

[实验要求]

? 在实验1-1程序上添加菜单,如下图所示 ? 调试并记录结果

[实验程序]

import java.awt.*;

import java.awt.event.*;

public class Test4_1 extends WindowAdapter implements ItemListener{ private Frame f;

private Checkbox c1,c2,c3; private Panel p; private TextField tf; private MenuBar mb;

private Menu mfile,mselect,mhelp;

private MenuItem mf1,mf2,mf3,mf4,mf5; private CheckboxMenuItem ms1,ms2,ms3;

public Test4_1() { f = new Frame(\兴趣爱好窗口\ c1 = new Checkbox(\旅游\ c2 = new Checkbox(\运动\ c3 = new Checkbox(\阅读\ p = new Panel(); tf = new TextField(20); mb = new MenuBar(); mfile = new Menu(\ mselect = new Menu(\ mhelp = new Menu(\ mf1 = new MenuItem(\ mf2 = new MenuItem(\ mf3 = new MenuItem(\ mf4 = new MenuItem(\ mf5 = new MenuItem(\ ms1 = new CheckboxMenuItem(\旅游\ ms2 = new CheckboxMenuItem(\运动\ ms3 = new CheckboxMenuItem(\阅读\ }

public void lanchFrame(){ f.setMenuBar(mb); 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(c1); p.add(c2); p.add(c3);

f.add(p,BorderLayout.CENTER); f.addWindowListener(this); c1.addItemListener(this); c2.addItemListener(this); c3.addItemListener(this); ms1.addItemListener(this); f.setSize(300,200); f.setVisible(true); }

public void windowClosing(WindowEvent e){ System.exit(0); }

public void itemStateChanged(ItemEvent e){ String st = \您选择的兴趣爱好是:\ 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 = \ } tf.setText(st); }

public static void main(String[] args) { Test4_1 t = new Test4_1(); t.lanchFrame(); } }

[运行结果]

实验题2

[实验要求]

? 运行弹出式菜单程序,调试并记录结果。

[实验程序]

import java.awt.*;

import java.awt.event.*;

public class PopupMenuExample implements ActionListener{ Frame f; Button b; PopupMenu pm; public static void main(String[] args){ PopupMenuExample pme=new PopupMenuExample(); pme.init();

} public void actionPerformed(ActionEvent e){ pm.show(b,10,10); } void init(){ f=new Frame(\ b=new Button(\ b.addActionListener(this); f.add(b,\ pm=new PopupMenu(\ pm.add(new MenuItem(\ pm.add(new MenuItem(\ pm.add(new MenuItem(\ pm.add(new MenuItem(\ f.add(pm); f.setSize(200,200); f.setVisible(true); } }

[运行结果]

[实验结论与收获]

掌握弹出式菜单的编程方法。

实验题3

[实验要求]

? 编写Application程序,生成如图所示界面。完成功能:单击“显示”按钮,显示文

本框,“显示”按钮不可用,“不显示”按钮可用;单击“不显示”按钮,文本框不可见,“显示”按钮可用,“不显示”按钮不可用。 ? 完成程序,调试并记录结果。

[实验程序]

import java.awt.*;

import java.awt.event.*;

public class Ex4_3 extends WindowAdapter implements ActionListener{ private Frame f; private TextField tf; private Button b1,b2; public Ex4_3(){ f=new Frame(\ tf=new TextField(20); b1=new Button(\显示\ b2=new Button(\不显示\ } public void go(){ f.setLayout(new FlowLayout()); f.add(b1); f.add(b2); f.add(tf); b1.addActionListener(this); b2.addActionListener(this); f.addWindowListener(this); f.setSize(300,300); f.setVisible(true); } public static void main(String [] args){ Ex4_3 t=new Ex4_3(); t.go(); } public void actionPerformed(ActionEvent e){ if(e.getActionCommand()==b1.getLabel()){ //是否为b1按钮被按下?

tf.setVisible(true); b1.setEnabled(false); b2.setEnabled(true); }else if(e.getActionCommand()==b2.getLabel()){ //是否为b2按钮被按下? tf.setVisible(false); b1.setEnabled(true); b2.setEnabled(false); } } public void windowClosing(WindowEvent e){ System.exit(1); } }

[运行结果]

[实验结论与收获]

掌握在Application程序中对按钮及文本框进行编程的方法。 。

实验题4

[实验要求]

? 编写Applet程序,生成如图所示界面。完成功能:单击“显示”按钮,显示文本框,

“显示”按钮不可用,“不显示”按钮可用;单击“不显示”按钮,文本框不可见,“显示”按钮可用,“不显示”按钮不可用。 ? 完成程序,调试并记录结果。

[实验程序]

import java.awt.*;

import java.applet.Applet;

public class Ex4_4 extends Applet{ Button b1=new Button(\ 显示 \ Button b2=new Button(\不显示 \ TextField tf=new TextField(\这是一个文本框!\ Panel p=new Panel(); public void init(){ add(b1); add(b2); add(tf); b1.setEnabled(false); } public boolean action(Event e,Object o){ if(e.target==b1){ //判断是否是b1被按下 tf.setVisible(true); b1.setEnabled(false); b2.setEnabled(true); }else if(e.target==b2){ //判断是否是b2被按下 tf.setVisible(false); b1.setEnabled(true); b2.setEnabled(false); } return true; } }

HTML文件程序 [运行结果]

[实验结论与收获]

掌握在Applet程序中对按钮及文本框进行编程的方法。

实验题5

[实验要求]

? 调试程序。

? 记录调试过程、步骤、程序和运行结果。

[实验程序]

import java.io.*;

public class FileFilterTest{ public static void main(String args[]){ File dir=new File(\ Filter filter=new Filter(\ System.out.println(\ String files[]=dir.list(filter); for(int i=0;i

import java.io.*;

public class Filter implements FilenameFilter{ String extent; Filter(String extent){ this.extent=extent; } public boolean accept(File dir,String name){ return name.endsWith(\

} }

[运行结果]

[实验结论与收获]

掌握读取指定类型文件名的方法。

实验题6

[实验要求]

? 编程:将当前目录“a.txt”文件中的内容写入新创建的“b.txt”文件中。 ? 调试并记录结果

[实验程序]

import java.io.*; public class Ex4_6 {

public static void main(String[] args) {

//利用try~catch结构处理IOException异常 try {

//创建b.txt文件

File myFile =new File(\

myFile.createNewFile();//createNewFile()创建新文件

//创建输入流bufIn,从a.txt文件向内存中读入信息的变量 FileReader in= new FileReader(\

BufferedReader bufIn = new BufferedReader(in);

//创建输出流bufOut,从内存向b.txt文件中写入信息的变量 FileWriter out= new FileWriter (myFile);

BufferedWriter bufOut= new BufferedWriter(out);

//定义变量line,从bufIn(从a.txt文件)中读取一行数据 String line; line = bufIn.readLine();

//当line的数据不为空时,将line的数据输出写入到bufOut(b.txt文件)中 while ( line!= null ) {

System.out.println(line);

bufOut.write(line,0,line.length()); bufOut.newLine(); line = bufIn.readLine(); }

//关闭输入流bufIn和输出流bufOut bufIn.close(); bufOut.close();

} catch (IOException e) { System.out.println(e); } } }

[运行结果]

[实验结论与收获]

掌握读取及写入文本文件的方法。

实验题7

[实验要求]

? 编程:创建一个“test.txt”文件,向其中随机输入10个char类型的('A'~'Z')字符,

并打印输出。 ? 调试并记录结果。

[实验程序]

import java.io.*; public class Ex4_7 { public static void main(String[] args) {

//利用try~catch结构处理IOException异常 try { //创建test.txt文件 File f=new File(\ f.createNewFile(); //createNewFile()创建文件 //创建一个从内存向文件中写入信息的变量out FileWriter out = new FileWriter(f); //利用out向文件写入10个英文字母 char c;

for (int i=0;i<10;i++){

c=(char)('A'+Math.random()*26); out.write(c);

System.out.print(c); }

//关闭输出流out out.close();

} catch (IOException e) { System.out.println(e); } } }

[运行结果]

[实验结论与收获]

掌握创建文本文件并写入内容的方法。

实验题8

[实验要求]

? 调试程序,比较两种实现多线程处理的方法。

? 调试并记录结果。

[实验程序]

MyRunner程序:

class MyRunner implements Runnable { int i;

public void run() { i = 1;

while (true) {

System.out.println(\ if ( i == 50 ) {System.out.println(\ } } }

MyThread程序

public class MyThread extends Thread { int i;

public void run() { i = 1;

while (true) {

System.out.println(\ if ( i == 50 )

{ System.out.println(\ } }

public static void main(String args[]) { Thread t = new MyThread(); t.start(); int i = 1;

while (true) {

System.out.println(\ if ( i == 50 ) { System.out.println(\ } } }

TestThread程序

public class TestThread {

public static void main(String args[]) { int i=1;

MyRunner mr = new MyRunner(); Thread t = new Thread(mr); t.start();

本文来源:https://www.bwwdw.com/article/vqdv.html

Top