课堂练习八-十三.docx_第1页
课堂练习八-十三.docx_第2页
课堂练习八-十三.docx_第3页
课堂练习八-十三.docx_第4页
课堂练习八-十三.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

课堂练习八(2014-04-21)1.如果要给frame容器设置FlowLayout布局管理器,可以使用如下语句: this.set_Layout (new FlowLayout();2.用_Boxlayout_类可以创建一个布局对象,称为盒式布局。3.WindowAdapter类实现了Window_Listener_接口。4.java.awt包中的_Canvas_类负责创建画布对象。5._GridLayout_是使用较多的布局,其基本布局策略是把容器划分成若干行乘若干列的网格区域,组件就位于这些划分出来的小格中。6.设frame是JFrame类型的对象,如果设置其为可见,可以用如下语句: frame.set _Visible_(true);7.Component_是所有AWT组件的抽象父类。8._Container_类是所有容器组件的根类。9._java.awt_包是Java语言用来构建GUI的基础类库,包括了很多AWT界面组件和资源。10.设frame是JFrame类型的对象,如果设置其大小不可调整,可以用如下语句: frame.set_(false); 1.BorderLayout是面板的缺省布局管理器。Y2.一个容器中可以混合使用多种布局策略。N3.在使用BorderLayout时,最多可以使用五个构件。Y4.静态方法只能直接访问其他静态方法或静态成员变量。当对象已存在时,调用静态方法时的前缀既可以是类名,也可以是对象名 Y5.Java中char类型采用Unicode编码,每个字符占2个字节. Y6.监听器类负责处理特定事件,它是一个实现了相应监听器接口的类 Y7.Applet与Application程序的编译方法和运行方式都不同 N8.一个事件源可以注册多个监听器类 Y9.Java 1.1中的事件处理模型要求事件监听器要在事件源中注册,并且要实现相应的事件监听器接口 Y10.与未加访问控制符的缺省情况相比,public和protected修饰符扩大了类及其属性和方法的被访问范围,private修饰符则缩小了这种范围。 Y11.所有的鼠标事件都由MouseListener监听接口的监听者来处理。Y12.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。N13.要对键盘按键响应,需要对KeyEvent事件监听。KeyEvent事件监听器是实现KeyListener接口的类对象。Y14.如果要在程序中对图形界面的组件进行事件处理,一般要在程序开头加上如下语句:import java.awt._event_.*;class FrameInOut extends Frame implements_ActionListener .二、编程实现1、写出程序要求显示一个窗体,在窗体中包含一个标有“Submit“的按钮,当用户点击这个按钮时在控命令行输出字符串”数据提交成功”。 课堂练习九(2014-11)一、判断题1.要响应关闭窗口操作,需要对WindowEvent事件监听.WindowEvent事件监听器是实现WindowListener接口的类对象。Y2.在actionPerformed()方法中,通过getSource()方法判断引起ActionEvent事件的事件源。Y3.使用GridLayout布局策略的容器中,所有的组件都有相同的大小。Y4.一个复选按钮实现的是“二选一”的结构,一个单选按钮组实现的是“多选一”的结构。Y5.一个面板不能被加入到另一个面板中。N6.所有的抛出的异常都必须捕获 N7.对话框分为模式和非模式 Y8.覆盖只能在不同的类中完成 Y9.在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员 Y10.Java对事件的处理是采用委托方式进行的,即将需要进行事件处理的组件委托给指定的事件处理器进行处理。Y11.Java中类和方法都不允许嵌套定义 N12.语句“import java.awt.*;”不仅会加载java.awt包中的所有类,而且还会加载java.awt包的子包中含有的类 N13.Java中同一个类的多个对象将独立拥有该类定义的静态成员变量的一个拷贝 Y14.一个类只能有一个父类,但一个接口可以有一个以上的父接口。Y15.一个程序里有且只能有一个公共类,它就是主类。Y16.抽象类没有具体对象,所以抽象类没有构造函数。N17.抽象类中的抽象方法必须在该类的子类中具体实现。N二、认真阅读以下代码写出输出结果并对给出相关分析。class Student public String toString() System.out.println(“welcome to java world!”); return “执行!”; public class Client public static void main(String arg) System.out.println(“程序开始”+new Student(); 三、编程题实现一个Java Application图形界面程序,能够实现两数相减、相除的功能,具体要求:(1) 在两个文本框里分别输入两个数字,单击“求差”、“求商”按钮,则在第三个文本框里显示运算结果;(2) 当输入的不是数字或者除数为0时,要求用消息对话框向用户报错;(3) 单击窗口右上角的“X”按钮,即关闭窗口退出课堂练习十(2014-11)I/O一、判断题1.多个事件源可以注册同一个监听器,一个事件源也可能注册多个监听器。2.System.out是系统的标准输出流。Y3.System.in是系统的标准输入流。Y4.Reader和Writer分别是字节输入输出流的基类。N5.InputStream和OutputStream分别是字节输入输出流的基类。Y6.Java中所有的I/O都是通过流来实现的。Y7.Java中I/O流是由java.io包来实现的。Y8.java.io包中定义了许多与磁盘文件或文件夹操作有关的类。Y9.java.awt包是Java语言用来构建图形用户界面(GUI)的类库,它包括了许多界面元素和资源,主要在低级绘图操作、图形界面组件和布局管理、以及界面用户交互控制和事件响应三个方面支持界面设计。Y10.Java中允许一个类可以直接继承若干个超类中的成员变量和方法 N11.创建包将在当前文件夹下创建一个与包名相同的子文件夹,以存放该包中包含的所有类的.class文件 Y12.public修饰符不会造成安全性和数据封装性的下降,所以可以不限制public数据成员变量的使用 N13.java.lang包是由系统自动加载完成的,而不需要在程序中用语句import java.lang.*; 进行显式地加载 Y14.程序运行中可以改变数组的大小 N15.包结构和目录结构是相同的。Y16.java.lang包是Java的核心类库,它包含了运行Java程序必不可少的系统类 Y17.Java中用于文件和目录管理的类是_File_ 类二、改错题讲解import java.awt.*; / 缺; import java.awt.event.*; / 增加此行 import javax.swing.*;public class err033right extends Frame implements ActionListener /修改文件名 1分 /implement 1分Label prompt; /修改拼写Label TextField input,output;public err033right( ) / void init改为构造方法 prompt=new Label(请输入你的专业:); /修改拼写Label input=new TextField(8);output=new TextField(16); /input setLayout(new FlowLayout();/增加此句 2分add(prompt);add(input);add(output);input.addActionListener(this); /增加this setSize(500,400); /size 1分 /; setVisible(true); /增加此句 2分public void actionPerformed(ActionEvent e) /去掉static 1分 / ; 1分JOptionPane.showMessageDialog(null,你喜欢吗?,友情提醒,JOptionPane.QUESTION_MESSAGE);/Dialog 1分output.setText(好好学+input.getText();public static void main(String args) /String 大写s new err033right(); / 修改文件名 一、URL程序示例获取URL指定的资源import java.io.*; import .URL; import .URLConnection; public class TestURL public static void main(String args) throws IOException test3(); test2(); test(); /* /* * 获取URL指定的资源 * * throws IOException */ public static void test3() throws IOException URL url = new URL(/down/soft/45.htm); /返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。 URLConnection uc = url.openConnection(); /打开的连接读取的输入流。 InputStream in = uc.getInputStream(); int c; while (c = in.read() != -1) System.out.print(c); in.close(); /* * 读取URL指定的网页内容 * * throws IOException */ public static void test2() throws IOException URL url = new URL(/down/soft/45.htm); /打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。 Reader reader = new InputStreamReader(new BufferedInputStream(url.openStream(); int c; while (c = reader.read() != -1) System.out.print(char) c); reader.close(); /* * 获取URL的输入流,并输出 * * throws IOException */ public static void test() throws IOException URL url = new URL(/62575/120430); /打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。 InputStream in = url.openStream(); int c; while (c = in.read() != -1) System.out.print(c); in.close(); 二、Java网络编程示例基于TCPimport .*;import java.io.*;public class Lesson10 extends Thread private Socket s; public static void main(String args) if(args.length0) server(); else client(); public static void server() try ServerSocket ss=new ServerSocket(6000); Socket s = ss.accept(); OutputStream os=s.getOutputStream(); BufferedOutputStream bos=new BufferedOutputStream(os); InputStream is=s.getInputStream();/ os.write(Hello,welcome you!.getBytes(); bos.write(Hello,welcome you!.getBytes(); /bos.flush(); byte buf=new byte100; int len=is.read(buf); System.out.println(new String(buf,0,len); /os.close(); bos.close(); is.close(); s.close(); ss.close(); catch (Exception ex) ex.printStackTrace(); public static void client() try Socket s=new Socket(InetAddress.getByName(null),6000); OutputStream os=s.getOutputStream(); InputStream is=s.getInputStream(); byte buf=new byte100; int len=is.read(buf); System.out.println(new String(buf,0,len); os.write(Hello,this is wangwu.getBytes(); os.close(); is.close(); s.close(); catch (Exception ex) ex.printStackTrace(); 三、Java网络编程示例基于TCPimport .*;import java.io.*;public class Lesson10 extends Thread public static void main(String args) if(args.length0) recv(); else send(); public static void recv() try DatagramSocket ds=new DatagramSocket(6000); byte buf=new byte100; DatagramPacket dp=new DatagramPacket(buf,100); ds.receive(dp); System.out.println(new String(buf,0,dp.getLength(); String str=Welcome you!; DatagramPacket dpSend=new DatagramPacket(str.getBytes(),str.length(),dp.getAddress(),dp.getPort(); ds.send(dpSend); ds.close(); catch (Exception ex) ex.printStackTrace(); public static void send() try DatagramSocket ds=new DatagramSocket(); String str=Hello,this is zhangsan; DatagramPacket dp=new DatagramPacket(str.getBytes(),str.length(), InetAddress.getByName(localhost), 6000); ds.send(dp); byte buf=new byte100; DatagramPacket dpRecv=new DatagramPacket(buf,100); ds.receive(dpRecv); System.out.println(new String(buf,0,dpRecv.getLength(); ds.close(); catch (Exception ex) ex.printStackTrace(); 课堂练习十一(2014-12)Net1.基于流式Socket进行通信,至少需要一对套接字,一个运行于客户机端,称之为Socket,一个运行于服务器端,称之为_ServerSocket_。2.方法_OpenStream_与指定的URL建立连接并返回InputStream类的对象以从这一连接中读取数据。3.IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程。端口号与IP地址的组合得到一个网络套接字。Y4.服务器端的Socket对象使用getOutputStream()方法获得的输出流将指向客户端Socket对象,使用getInputStream()方法获得的输入流。Y5.基于TCP的通信和基于UDP的通信不同,基于TCP的信息传递更快,但不提供可靠性保证。N6.客户端的程序使用ServerSocket类建立到服务器的套接字连接。N7.客户负责建立客户到服务器的套接字连接,即客户负责呼叫。因此,服务器必须建立一个等待接收客户的套接字的Socket对象。N8.Reader类用来以字符方式从流中读取数据。Y9.URL对象调用openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。Y10.包中的InetAddress类对象含有一个Internet主机地址的域名和IP地址。Y11.Thread类的run()方法与Runnable接口中的run()方法的功能和作用相同,都用来定义线程对象被调度之后所执行的操作,都是系统自动调用而用户程序不得引用的方法。 Y12.Runnable接口中包含唯一的run()方法。Y课堂练习十二(2014-12)1.在Java程序中要访问网络资源,需要用import语句引入java._net_包中的相应类。2.当Java Applet执行完init()方法以后,就执行_start_方法,或者当用户离开Applet所在网页一段时间以后,又重新回到其所在网页(即重新激活该 网页)时,再次执行该方法。3.Java Applet中的_paint_方法用来绘制窗口,当窗口的大小发生变化、由不活动状态再次变为活动状态等时候,该方法都会被调用。4.在Swing组件中,单选按钮J_radioButton_用来显示一组互斥的选项。在同一组单选按钮中,任何时候最多只能有一个按钮被选中。5.Swing组件的用法与AWT组件基本相同,大多数AWT组件只要在其类名前加_J_即可转换成Swing组件.6.Graphics类位于AWT包中,常用来绘制文字和图像。可以使用Graphics类中的_drawString_方法来绘制文本。7.Java中实现多线程有两种途径,一是定义Thread类的子类;二是实现_runnable_接口。8.drawImage()方法用于加载图像,而getImage()方法用来绘制图像。N9.为了播放音频,必须首先获得一个AudioClip对象。可使用getAudioClip()方法。Y10.AudioClip类型对象的play()方法用于播放声音文件,而loop()方法用于循环播放。Y11.JMF(Java Media Framework)提供了编写多媒体程序所必须的包javax.media.Y12.在Java程序中,图像由一个Image类的对象来表示。Y13.getImage()方法与drawImage()方法都是Image对象的方法。N14.Java程序中只能通过创建Thread类的子类实现多线程,而无其他途径 N课堂练习十三(2014-12)JDBC1.Java数据库连接(Java DataBase Connectivity),简称_JDBC_,是由Sun公司提供的与平台无关的数据库连接标准。2.通过使用_JDBC_数据库访问接口,Java程序可以方便地连接各种类型的数据库,拓展了Java与平台无关的特性。3.结构化查询语言(Structured Query Language),简称_SQL_。是一种建立在关系演算基础上的数据库语言,用于对关系型数据库进行定义和操纵。4.使用JDBC操作数据库,首先要加载JDBC驱动程序,其语句格式为:Class._forName()_(JDBC驱动程序名);5.加载了JDBC驱动程序以后,就可以连接数据库了,连接数据库使用的语句格式如下:Connection 连接变量名=DriverManager._getConnection_(数据库URL,用户账号,用户密码);连接上数据库以后,就可以对数据库进行查询、更改或添加数据等操作。执行SQL语句一般需要建立Statement对象,其语句格式如下: Statement 对象名=数据库连接变量._CreateStatement ();6.Statement 对象的executeQuery方法执行Select查询,_ executeUpdate_方法执行对数据的更新操作。7.方法_ OpenStream _与指定的URL建立连接并返回InputStream类的对象以从这一连接中读取数据。8._多_线程是指程序中同时存在多个执行体,它们按照自己的执行路线并发工作,独立完成各自的功能,互相不干扰。9.处于新建状态的线程有自己的内存空间,通过调用_start_方法进入就绪状态。10.处于就绪状态的线程一旦获得CPU,线程就进入运行状态并自动调用自己的_run_方法。11.处于运行状态的线程在某些情况下,如执行了_sleep_(睡眠)方法,或等待I/O设备等资源,让出CPU并暂时停止自己的运行,进入阻塞状态。12.死亡状态是线程生命周期中的最后一个阶段。线程死亡的原因有两个:一个是正常运行的线程完成了它的全部工作,另一个是线程被强制性地终止,如通过stop()或_destroy_方法来终止一个线程。13.在Java程序中要访问网络资源,需要用import语句引入java._net_包中的相应类。15、设有程序如下,请填写完整. import java.sql.*; public class UseJDBC public static void main(String args) throws SQLException,ClassNotFoundException Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection conn=DriverManager.getConnection(jdbc:odbc:PhoneBook); Statement stmt=conn.createStatement(); ResultSet rset=stmt._(select * from telnum);while(rset.next() System.out.println(姓名:+rset.getString(name)+t+电话:+rset.getString(telnum); rset.close(); stmt.close(); conn.close(); 16、设有程序如下,请填写完整. import java.sql.*; public class UseJDBC3 public static void main(String args) throws SQLException,ClassNotFoundException Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection conn=DriverManager.getConnection(jdbc:odbc:PhoneBook); Statement stmt=conn.createStatement(); stmt._(update flower set 价格=5 where 名称=rose ); stmt.close(); conn.close(); 1、设有程序如下,请填写完整. import java.sql.*; public class UseJDBC2 public static void main(String args) throws SQLException,ClassNotFoundException Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection conn=DriverManager.getConnection(jdbc:odbc:PhoneBook); Statement stmt=conn.createStatement(); stmt._executeUpdate_(insert into flower values(rose,1.5); stmt.close(); conn.close(); 2、设有程序如下,请填写完整. import java.sql.*; public class UseJDBC4 public static void main(String args) throws SQLException,ClassNotFoundException Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection conn=DriverManager.getConnection(jdbc:odbc:PhoneBook); Statement stmt=conn.createStatement(); stmt._ executeUpdate_(delete from flower where 名称=rose ); stmt.close(); conn.close(); 一、加载图像和显示图像的方法1.使用Toolkit.getDefaultToolkit().getImage()方法import javax.swing.JFrame;import java.awt.*;import java.awt.event.*;public class TestLoadImage public static void main(String args) JFrame f=new JFrame(); MyCanvas mc=new MyCanvas(); Image image=Toolkit.getDefaultToolkit().getImage(a.PNG); mc.setImage(image); f.add(mc); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(400,550); f.setVisible(true); class MyCanvas extends Canvas private Image in; private int image_width; private int image_height; public void setImage(Image in) this.in=in; public void paint(Graphics g) g.drawImage(in,0,0,this.getWidth(),this.getHeight(),this); 2.使用BufferedImage类加载,BufferedImage类基础了Image类/ Graphics类的drawImage()方法介绍import java.awt.*;import java.awt.image.*;import javax.swing.JFrame;import java.io.*;import javax.imageio.*;public class TestBufferedImage extends Canvas public static void main(String args) JFrame f=new JFrame(); MyCanvas mc=new MyCanvas(); f.add(mc); try File file=new File(a.PNG); BufferedImage bi=ImageIO.read(file); mc.setImage(bi); catch(Exception e) e.printStackTrace(); mc.repaint(); f.setSize(400,550); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); class MyCanvas extends Canvas private BufferedImage bi; private Image im; private int image_width; private int image_height; public void setImage(BufferedImage bi) this.bi=bi; this.zoom(); public void paint(Graphics g) g.drawImage(im,0,0,this.getWidth(),this.getHeight(),this); public void zoom() image_width=bi.getWidth(); image_height=bi.getHeight(); im=bi.getScaledInstance(image_width,image_height,Image.SCALE_SMOOTH); 3.在Applet中,通过getImage()方法来实现对图像的载入public Image getImage(URL url);public Image getImage(URL url, String name);Applet类中提供的getCodeBase()方法返回一个URL对象package firstapplet;import java.awt.*;import java.applet.*;public class Picture extends Applet Image flowermycar;/Construct the appletpublic Picture()/Initialize the appletpublic void init() setBackground(Color.red );flowermycar =getImage(getCodeBase(),flower1 car.jpg);/draw the imagepublic void paint(Graphics screen)screen.drawImage(flowermycar,10,10,this);二、利用Applet的play()方法和AudioClip.play()方法播放声音;Java提供两种在Applet中播放声音的机制:Applet类的play方法和AudioClip接口的play方法。public void play(URL url);public void play(URL url, String name);调用Applet类的getAudioClip()方法得到AudioClip对象public AudioClip getAudioClip(URL url);public AudioClip getAudioClip(URL url, String name);play、loop、stop将声音作为背景音乐播放。/ AUSoundpackage firstapplet;import java.awt.*;import java.applet.*;public class AUSound extends Applet AudioClip audioClip;/Construct the appletpublic AUSound() /Initialize the appletpublic void init() audioClip=getAudioClip(getCodeBase(),backSound.au);/只播放一遍/audioClip.play();/循环播放audioClip.loop() ;/Stoppublic void stop()audioClip.stop();/paintpublic void paint(Graphics screen)screen.setColor(Color.green );screen.fillRect(0,0,200,100);screen.setColor(Color.red );screen.drawString(Playing sounds.,40,50);小结:Applet中通过getImage()方法来实现对图像的载入,而要显示图像则可调用Graphics类的drawImage()方法。播放声音可以使用两种方法:Applet类的play方法和AudioClip接口的play方法。Applet类的play方法可以装入声音文件并将其播放一次,当播放完毕后,它被标记为垃圾而被回收。AudioClip类接口可以循环播放某声音作为背景音乐,调用Applet类的getAudioClip()方法得到AudioClip对象,play方法播放声音,loop方法用来重复播放,stop方法则停止播放。三、利用JMF播放音频和视频文件JMF,全名为Java Media Framework,它可以在java applet和application中使用音频,视频或者其他基于时间的多媒体。JMF所支持的多媒体格式如下:AIFF(.aiff),AVI(.avi),GSM(.gsm),HotMedia(.mvr),MID(.mid),MPEG-1(.mpg)(即常见的VCD文件),MPEG-2(.mp2)(即常见的DVD文件),QuickTime(.mov),Sun Audio(.au),Wave(.wav)等。JMF下载地址:/products/java-media/jmf/2.1.1/download.html直接执行该文件,即进入JMF安装向导,安装时应注意选择路径为jdk安装路径(C:jdk1.6),因为JMF要有JDK的支持。我下载的是JMF2.1,从SUN

温馨提示

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

评论

0/150

提交评论