Java Applet 编程技巧实例专辑
Java最初奉献给世人的就是Applet,随即它吸引了全世界的目光,Applet运行于浏览器上,可以生成生动美丽的页面,进行友好的人机交互,同时还能处理图像、声音、动画等多媒体数据。Applet在Java的成长过程中起到不可估量的作用,到今天Applet依然是Java程序设计最吸引的人之一。在本期专题中我将向读者介绍Applet编程的一些技巧。
Java Applet 是用Java 语言编写的一些小应用程序,这些程序是直接嵌入到页面中,由支持Java的浏览器(IE 或 Nescape)解释执行能够产生特殊效果的程序。它可以大大提高Web页面的交互能力和动态执行能力。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。
当用户访问这样的网页时,Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络浏览器。由于Applet是在用户的计算机上执行的,所以它的执行速度不受网络带宽或者Modem存取速度的限制,用户可以更好地欣赏网页上Applet产生的多媒体效果。
Applet 小应用程序的实现主要依靠java.applet 包中的Applet类。与一般的应用程序不同,Applet 应用程序必须嵌入在HTML页面中,才能得到解释执行;同时Applet可以从Web页面中获得参数,并和We b页面进行交互。
含有Applet的网页的HTML文件代码中必须带有<applet>和</applet>这样一对标记,当支持Jav a的网络浏览器遇到这对标记时,就将下载相应的小程序代码并在本地计算机上执行该Applet小程序。
Applet是一种Java的小程序,它通过使用该Applet的HTML文件,由支持Java的网页浏览器下载运行。也可以通过java开发工具的appletviewer来运行。Applet 程序离不开使用它的HTML文件。这个HT ML文件中关于Applet的信息至少应包含以下三点:
1)字节码文件名(编译后的Java文件,以.class为后缀)
2)字节码文件的地址
3)在网页上显示Applet的方式。
一个HTML文件增加Applet有关的内容只是使网页更加富有生气,如添加声音、动画等这些吸引人的特征,它并不会改变HTML文件中与Applet无关的元素。
(一) Applet程序开发步骤
Applet程序开发主要步骤如下:
1)选用EDIT或Windows Notepad等工具作为编辑器建立Java Applet源程序。
2)把Applet的源程序转换为字节码文件。
3)编制使用class 的HTML文件。在HTML文件内放入必要的<APPLET>语句。
下面举一个最简单的HelloWorld 例子来说明Applet程序的开发过程:
(1) 编辑Applet 的java源文件
创建文件夹C:\ghq,在该文件夹下建立 HelloWorld.java
文件的源代码如下:
import java.awt.*;
import java.applet.*;
public class HelloWorld extends Applet //继承Appelet类,这是Appelet Java程序的特点
{
public void paint(Graphics g )
{
g.drawString("Hello World!",5,35);
}
}
保存上述程序在C:\ghq\HelloWorld.java文件里。
(2)编译Applet
编译HelloWorld.java源文件可使用如下JDK命令:
C:\ghq\>javac HelloWorld.java<Enter>
注意:如果编写的源程序违反了Java编程语言的语法规则,Java编译器将在屏幕上显示语法错误提示信息。源文件中必须不含任何语法错误,Java编译器才能成功地把源程序转换为appletviewer和浏览器能够执行的字节码程序。
成功地编译Java applet之后生成响应的字节码文件HelloWorld.class的文件。用资源管理器或DIR 命令列出目录列表,将会发现目录C:\ghq中多了一个名为HelloWorld.class的文件。
(3)创建HTML文件
在运行创建的HelloWorld.class 之前,还需创建一个HTML文件,appletviewer或浏览器将通过该文件访问创建的Applet。为运行HelloWorld.class, 需要创建包含如下HTML语句的名为HelloWorld.html 的文件。
<HTML>
<TITLE>HelloWorld! Applet</TITLE>
<APPLET
CODE="JavaWorld.class"
WIDTH=200
HEIGHT=100>
</APPLET>
</HTML>
本例中,<APPLET>语句指明该Applet字节码类文件名和以像素为单位的窗口的尺寸。虽然这里HTM L文件使用的文件名为HelloWorld.HTML,它对应于HelloWorld.java的名字,但这种对应关系不是必须的,可以用其他的任何名字(比如说Ghq.HTML)命名该HTML文件。但是使文件名保持一种对应关系可给文件的管理带来方便。
(4)执行 HelloWorld.html
如果用appletviewer运行HelloWorld.html,需输入如下的命令行:
C:\ghq\>appletviewer JavaWorld.html<ENTER>
可以看出,该命令启动了appletviewer并指明了HTML文件,该HTML文件中包含对应于HelloWorld 的<APPLET>语句。
如果用浏览器运行HelloWorld Applet,需在浏览器的地址栏中输入HTML文件URL地址。
至此,一个Applet程序的开发运行整个过程结束了(包括java源文件、编译的class文件、html文件以及用appletviewer或用浏览器运行)。
(二) Applet类
Applet类是所有Applet应用的基类,所有的Java小应用程序都必须继承该类。如下所示。
import java. applet.*;
public class OurApplet extends Applet
{
......
......
}
Applet类的构造函数只有一种,即:public Applet()
Applet实现了很多基本的方法,下面列出了Applet类中常用方法和用途。
public final void setStub(AppletStub stub)
//设置Applet的stub.stub是Java和C之间转换参数并返回值的代码位,它是由系统自动设定的。
public boolean isActive();// 判断一个Applet是否处于活动状态。
public URL getDocumentBase();// 检索表示该Applet运行的文件目录的对象。
public URL getCodeBase();// 获取该Applet 代码的URL地址。
public String getParameter(String name);// 获取该Applet 由name指定参数的值。
public AppletContext getAppletContext();// 返回浏览器或小应用程序观察器。
public void resize(int width,int height);// 调整Applet运行的窗口尺寸。
public void resize(Dimension d);// 调整Applet运行的窗口尺寸。
public void showStatus(String msg);// 在浏览器的状态条中显示指定的信息。
public Image getImage(URL url); // 按url指定的地址装入图象。
public Image getImage(URL url,String name);// 按url指定的地址和文件名加载图像。
public AudioClip getAudioClip(URL url);// 按url指定的地址获取声音文件。
public AudioClip getAudioClip(URL url, String name);// 按url指定的地址和文件名获取声音。
public String getAppletInfo();// 返回Applet应用有关的作者、版本和版权方面的信息;
public String[][] getParameterInfo();
// 返回描述Applet参数的字符串数组,该数组通常包含三个字符串:参数名、该参数所需值的类型和该参数的说明。
public void play(URL url);// 加载并播放一个url指定的音频剪辑。
public void destroy();//撤消Applet及其所占用的资源。若该Applet是活动的,则先终止该Applet的运行。
(1) Applet运行状态控制基本方法
Applet类中的四种基本方法用来控制其运行状态:init()、start()、stop()、destroy()
init()方法
这个方法主要是为Applet的正常运行做一些初始化工作。当一个Applet被系统调用时,系统首先调用的就是该方法。通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。
start()方法
系统在调用完init()方法之后,将自动调用start()方法。而且,每当用户离开包含该Applet的主页后又再返回时,系统又会再执行一遍start()方法。这就意味着start()方法可以被多次执行,而不像ini t()方法。因此,可把只希望执行一遍的代码放在init()方法中。可以在start()方法中开始一个线程,如继续一个动画、声音等。
stop()方法
这个方法在用户离开Applet所在页面时执行,因此,它也是可以被多次执行的。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果Applet中不包含动画、声音等程序,通常也不必实现该方法。
destroy()方法
与对象的finalize()方法不同,Java在浏览器关闭的时候才调用该方法。Applet是嵌在HTML文件中的,所以destroty()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。在destroy()方法中一般可以要求收回占用的非内存独立资源。(如果在Applet仍在运行时浏览器被关闭,系统将先执行st op()方法,再执行destroy()方法。
(2) Applet应用的有关参数说明
利用Applet来接收从HTML中传递过来的参数,下面对这些参数作一简单说明:
* CODE标志
CODE标志指定Applet的类名;WIDTH和HEIGHT标志指定Applet窗口的像素尺寸。在APPLET语句里还可使用其他一些标志。
* CODEBASE 标志
CODEBASE标志指定Applet的URL地址。Applet的通用资源定位地址URL,它可以是绝对地址,如w https://www.doczj.com/doc/6d3184000.html,。也可以是相对于当前HTML所在目录的相对地址,如/AppletPath/Name。如果HTML文件不指定CODEBASE 标志,浏览器将使用和HTML文件相同的URL。
* ALT 标志
虽然Java在WWW上很受欢迎,但并非所有浏览器都对其提供支持。如果某浏览器无法运行Java Appl et,那么它在遇到APPLET语句时将显示ALT标志指定的文本信息。
* ALIGN 标志
ALIGN标志可用来控制把Applet窗口显示在HTML文档窗口的什么位置。与HTML<LMG>语句一样,A LIGN标志指定的值可以是TOP、MIDDLE或BOTTOM。
* VSPACE与HSPACE 标志
VSPACE和HSPACE标志指定浏览器显示在Applet窗口周围的水平和竖直空白条的尺寸,单位为像素。如下例使用该标志在Applet窗口之上和之下各留出50像素的空白,在其左和其右各留出25像素的空白:
* NAME 标志
NAME标志把指定的名字赋予Applet的当前实例。当浏览器同时运行两个或多个Applet时,各Apple t可通过名字相互引用或交换信息。如果忽略NAME标志,Applet的名字将对应于其类名。
* PARAM 标志
通用性是程序设计所追求的目标之一。使用户或者程序员能很方便地使用同一个Applet完成不同的任务是通用性的具体表现。从HTML文件获取信息是提高Applet通用性的一条有效途径。
假设编制了一个把某公司的名字在屏幕上卷动的Applet。为了使该Applet更加通用,则可以使该Ap plet从HTML文件获取需要卷动的文本信息。这样,若想显示另一个公司的名字,用不着修改Java Apple t本身,只需修改HTML文件即可。
PARAM 标志可用来在HTML文件里指定参数,格式如下所示:
PARAM Name="name" Value="Liter"
Java Applet可调用getParameter方法获取HTML文件里设置的参数值。
显示文字是Java中最基本的功能,使用非常简单的方式来支持文字的显示,只要使用类Graphics中的dr awString()函数就能实现。我们来看最简单的ghq例子:
//ghq.java
import java.awt.*;
import java.applet.*;
public class ghq extends Applet
{
String text="ghq is a student!";
public void paint(Graphics g)
{
g.drawString(text,20,20);
} //在坐标20,20 处显示text的内容
}
这是最基本的Java Applet,运行的时候仅显示“ghq is a student!”。Java支持Unicode,因此中文也能在Java中很好地显示出来,我们把“ghq is a student!”改成“你好!欢迎参观!”,同样可以显示(如果无法正确显示,则是浏览器的Bug,如用的IE4.0 就存在这样的问题,请改用Netscape 或IE5.
0 以上版本)。值得注意的是,在Java中每个字符用16位来表示,而不是8位,这与C语言是不同的。与用户的交互是Java的主要作用,也正是Java吸引人的原因,用户可以通过鼠标和键盘与Java Applet 程序对话
与用户的交互是Java的主要作用,也正是Java吸引人的原因,用户可以通过鼠标与Java Applet程序对话。我们先来看响应鼠标的例子:
//Mouse.java
import java.awt.*;
import java.applet.*;
public class Mouse extends Applet
{
String text="";
public void paint(Graphics g)
{
}
public boolean mouseDown(Event evt,int x,int y)//鼠标按下处理函数 {
text="Mouse Down";
repaint();
return true;
}
public boolean mouseUp(Event evt,int x,int y)//鼠标松开处理函数
{
text="";
repaint();
return true;
}
}
当用户点击程序时,程序将显示"Mouse Down",说明程序对鼠标作出了响应。然而要注意Java并不区分鼠标的左右键。
我们再来看对键盘响应的例子:
//Keyboard.java
import java.awt.*;
import java.applet.*;
public class Keyboard extends Applet
{
String text="";
public void paint(Graphics g)
{
public boolean keyDown(Event evt,int x)//键盘被按下的处理函数
{
text="Key Down";
repaint();
return true;
}
public boolean keyUp(Event evt,int x)//键盘被松开的处理函数
{
text="";
repaint();
return true;
}
}
}
当键盘被按下时,程序就会显示"Key Down",键盘松开时清除文字。利用这些函数,我们就可以用鼠标和键盘函数与用户交互
Java Applet常用来显示存储在GIF文件中的图像
Java Applet常用来显示存储在GIF文件中的图像。Java Applet装载GIF图像非常简单,在Applet内使用图像文件时需定义Image对象。多数Java Applet使用的是GIF或JPEG格式的图像文件。Applet使用getImage 方法把图像文件和Image对象联系起来。
Graphics类的drawImage方法用来显示Image对象。为了提高图像的显示效果,许多Applet都采用双缓冲技术:首先把图像装入内存,然后再显示在屏幕上。
Applet可通过imageUpdate方法测定一幅图像已经装了多少在内存中。
装载一幅图像
Java把图像也当做Image对象处理,所以装载图像时需首先定义Image对象,格式如下所示:
Image picture;
然后用getImage方法把Image对象和图像文件联系起来:
picture=getImage(getCodeBase(),"ImageFileName.GIF");
getImage方法有两个参数。第一个参数是对getCodeBase方法的调用,该方法返回Applet的URL地址,如https://www.doczj.com/doc/6d3184000.html,/Applet。第二个参数指定从URL装入的图像文件名。如果图文件位于Applet之下的某个子目录,文件名中则应包括相应的目录路径。
用getImage方法把图像装入后,Applet便可用Graphics类的drawImage方法显示图像,形式如下所示:
g.drawImage(Picture,x,y,this);
该drayImage方法的参数指明了待显示的图像、图像左上角的x坐标和y坐标以及this。
第四个参数的目的是指定一个实现ImageObServer接口的对象,即定义了imageUpdate方法的对象(该方法随后讨论)。
显示图像(ShowImage.java)
//源程序清单
import java.awt.*;
import java.applet.*;
public class ShowImage extends Applet
Image picure; //定义类型为Image的成员变量
public void init()
{
picture=getImage(getCodeBase(),"Image.gif"); //装载图像
}
public void paint(Graphics g)
{
g.drawImage(picture,0,0,this); //显示图像
}
}
为此,HTML文件中有关Applet的语句如下:
<HTML>
<TITLE>Show Image Applet</TITLE>
<APPLET
CODE="ShowImage.class" //class文件名为ShowImage.class
WIDTH=600
HEIGHT=400>
</APPLET>
</HTML>
编译之后运行该Applet时,图像不是一气呵成的。这是因为程序不是drawImage方法返回之前把图像完整地装入并显示的。与此相反,drawImage方法创建了一个线程,该线程与Applet的原有执行线程并发执行,它一边装入一边显示,从而产生了这种不连续现象。为了提高显示效果。许多Applet都采用图像双缓冲技术,即先把图像完整地装入内存然后再显示在屏幕上,这样可使图像的显示一气呵成。
双缓冲图像
为了提高图像的显示效果应采用双缓冲技术。首先把图像装入内存,然后再显示在Applet窗口中。
使用双缓冲图像技术例子(BackgroundImage.java)
//源程序清单
import java.awt.*;
import java. applet.*;
public class BackgroundImage extends Applet //继承Applet
{
Image picture;
Boolean ImageLoaded=false;
public void init()
{
picture=getImage(getCodeBase(),"Image.gif"); //装载图像
Image offScreenImage=createImage(size().width,size().height);
//用方法createImage创建Image对象
Graphics offScreenGC=offScreenImage.getGraphics(); //获取Graphics对象
offScreenGC.drawImage(picture,0,0,this); //显示非屏幕图像
}
public void paint(Graphics g)
{
if(ImageLoaded)
{
g.drawImage(picture,0,0,null); //显示图像,第四参数为null,不是this
showStatus("Done");
}
else
showStatus("Loading image");
}
public boolean imageUpdate(Image img,int infoflags,int x,int y,int w,int h)
{
if(infoflags= =ALLBITS)
{
imageLoaded=true;
repaint();
return false;
}
else
reture true;
}
}
分析该Applet的init方法可知,该方法首先定义了一个名为offScreenImage的Image对象并赋予其createImage方法的返回值,然后创建了一个名为offScreenGC的Graphics对象并赋予其图形环境——非屏幕图像将由它来产生。因为这里画的是非屏幕图像,所以Applet窗口不会有图像显示。
每当Applet调用drawImage方法时,drawImage将创建一个调用imageUpdate方法的线程。Applet可以在imageUpdate方法里测定图像已有装入内存多少。drawImage创建的线程不断调用imageUpdate方法,直到该方法返回false为止。
imageUpdate方法的第二个参数infoflags使Applet能够知道图像装入内存的情况。该参数等于ImageLoaded设置为true并调用repaint方法重画Applet窗口。该方法最终返回false,防止drawImage的执行线程再次调用imageUpdate方法。
该Applet在paint方法里的操作是由ImageLoaded变量控制的。当该变量变为true时,paint方法便调用drawImage方法显示出图像。paint方法调用drawImage方法时把null作为第四参数,这样可防止drawImage 调用imageUpdate方法。因为这时图像已装入内存,所以图像在Applet窗口的显示可一气呵成。
使用Applet播放声音时需首先定义AudioClip对象,GetAudioClip方法能把声音赋予AudioClip对象使用Applet播放声音时需首先定义AudioClip对象,GetAudioClip方法能把声音赋予AudioClip对象,如果仅想把声音播放一遍,应调用AudioClip类的play方法,如果想循环把声音剪辑,应选用AudioClip类的loop方法。
(1) 播放声音文件
图像格式各种各样,如BMP、GIF和JPEG等。声音文件也一样,WA V和AU是最常用的两种声音文件。目前Java仅支持AU文件,但Windows环境下常用的却是WA V文件,所以最好能有一个可把WA V 文件转换为AU文件的工具。
* 播放声音的AudioClip类
AudioClip类用来在Java Applet内播放声音,该类在java.Applet包中有定义。
下面演示了如何利用AudioClip类播放声音。
装入一个名为Sample.Au的声音文件并播放(SoundDemo.java)
//源程序清单
import java.awt.*;
import java.applet.*
public class SoundDemo extends Applet
{
public void paint(Graphics g)
{
AudioClip audioClip=getAudioClip(getCodeBase(),”Sample.AU”);
//创建AudioClip对象并用//getAudioClip方法将其初始化。
g.drawstring("Sound Demo! ",5,15);
audioClip.loop();//使用AudioClip类的loop方法循环播放
}
}
需把如下的HTML语句放入SoundDemo.HTML文件,为运行该Applet做准备。
<HTML>
<TITLE>SoundDemo Applet</TITLE>
<APPLET CODE="SoundDemo.class" WIDTH=300 HEIGHT=200>
</APPLET>
</HTML>
编译并运行该Applet,屏幕上将显示出一个Applet窗口并伴以音乐。关闭Applet时音乐终止。
在Java中实现动画有很多种办法,但它们实现的基本原理是一样的,即在屏幕上画出一系列的帧来造成运动的感觉
Java 不仅提供了对图形、图像的支持,还允许用户实现连续的图像播放,即动画技术。Java 动画的实现,首先用Java.awt 包中的 Graphics 类的drawImage()方法在屏幕上画出图像,然后通过定义一个线程,让该线程睡眠一段时间,然后再切换成另外一幅图像;如此循环,在屏幕上画出一系列的帧来造成运动的感觉,从而达到显示动画的目的。
为了每秒钟多次更新屏幕,必须创建一个线程来实现动画的循环,这个循环要跟踪当前帧并响应周期性的屏幕更新要求;实现线程的方法有两种,可以创建一个类Thread 的派生类,或附和在一个Runnable 的界面上。
* 动画技巧
在编写动画过程时,遇到最常见的问题是屏幕会出现闪烁现象。闪烁有两个原因:一是绘制每一帧花费的时间太长(因为重绘时要求的计算量大);二是在每次调用Pain()前,Java 会用背景颜色重画整个画面,当在进行下一帧的计算时,用户看到的是背景。
有两种方法可以明显地减弱闪烁:重载 update()或使用双缓冲。
(1) 重载 update()
当AWT接收到一个applet的重绘请求时,它就调用applet的 update(),默认地,update() 清除ap plet的背景,然后调用 paint()。重载 update(),将以前在paint()中的绘图代码包含在update()中,从而避免每次重绘时将整个区域清除。下面是 update()方法的原始程序代码:
public void update(Graphics g)
{
//首先用背景色来绘制整个画面
g.setColor(getBackGround());
g.fillRect(0,0,width,height);
//接着设置前景色为绘制图像的颜色,然后调用paint()方法
g.setColor(getForeGround());
paint(g);
}
所以要消除画面闪烁就一定要改写 update() 方法,使该方法不会清除整个画面,只是消除必要的部分。
(2) 使用双缓冲技术
另一种减小帧之间闪烁的方法是使用双缓冲,它在许多动画Applet中被使用。其主要原理是创建一个后台图像,将需要绘制的一帧画入图像,然后调用DrawImage()将整个图像一次画到屏幕上去;好处是大部分绘制是离屏的,将离屏图像一次绘至屏幕上比直接在屏幕上绘制要有效得多,大大提高做图的性能。
双缓冲可以使动画平滑,但有一个缺点,要分配一张后台图像,如果图像相当大,这将需要很大一块内存;当你使用双缓冲技术时,应重载 update()。
下面举一个时钟的例子来说明如何处理动画
//AnimatorDemo.java
import java.util.*;
import java.awt.*;
import java.applet.*;
import java.text.*;
public class AnimatorDemo extends Applet implements Runnable
{
Thread timer; // 用于显示时钟的线程
int lastxs, lastys, lastxm,
lastym, lastxh, lastyh;
SimpleDateFormat formatter; //格式化时间显示
String lastdate; // 保存当前时间的字符串
Font clockFaceFont; //设置显示时钟里面的数字的字体
Date currentDate; // 显示当前时间
Color handColor; // 用于显示时针、分针和表盘的颜色
Color numberColor; // 用于显示秒针和数字的颜色
public void init()
{
int x,y;
lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;
formatter = new SimpleDateFormat ("yyyy EEE MMM dd hh:mm:ss ");
currentDate = new Date();
lastdate = formatter.format(currentDate);
clockFaceFont = new Font("Serif", Font.PLAIN, 14);
handColor = Color.blue;
numberColor = Color.darkGray;
try {
setBackground(new Color(Integer.parseInt(getParameter("bgcolor
"),16)));
} catch (Exception E) { }
try {
handColor = new Color(Integer.parseInt(getParameter("fgcolor1 "),16));
} catch (Exception E) { }
try {
numberColor = new Color(Integer.parseInt(getParameter("fgcolor 2"),16));
} catch (Exception E) { }
resize(300,300); // 设置时钟窗口大小
}
// 计算四分之一的圆弧
public void plotpoints(int x0, int y0, int x, int y, Graphics g) {
g.drawLine(x0+x,y0+y,x0+x,y0+y);
g.drawLine(x0+y,y0+x,x0+y,y0+x);
g.drawLine(x0+y,y0-x,x0+y,y0-x);
g.drawLine(x0+x,y0-y,x0+x,y0-y);
g.drawLine(x0-x,y0-y,x0-x,y0-y);
g.drawLine(x0-y,y0-x,x0-y,y0-x);
g.drawLine(x0-y,y0+x,x0-y,y0+x);
g.drawLine(x0-x,y0+y,x0-x,y0+y);
}
// 用Bresenham算法来画圆,其中(x0,y0)是圆的中心,r为圆半径
public void circle(int x0, int y0, int r, Graphics g)
{
int x,y;
float d;
x=0;
y=r;
d=5/4-r;
plotpoints(x0,y0,x,y,g);
while (y>x) {
if (d<0) {
d=d+2*x+3;
x++;
}
else {
d=d+2*(x-y)+5;
x++;
y--;
}
plotpoints(x0,y0,x,y,g);
}
}
public void paint(Graphics g)
{
int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycen ter;
String today;
currentDate = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("s",Locale.get Default());
try {
s = Integer.parseInt(formatter.format(currentDate));
} catch (NumberFormatException n) {
s = 0;
}
formatter.applyPattern("m");
try {
m = Integer.parseInt(formatter.format(currentDate));
} catch (NumberFormatException n) {
m = 10;
}
formatter.applyPattern("h");
try {
h = Integer.parseInt(formatter.format(currentDate));
} catch (NumberFormatException n) {
h = 10;
}
formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");
today = formatter.format(currentDate);
//设置时钟的表盘的中心点为(80,55)
xcenter=80;
ycenter=55;
// a= s* pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00)
// x = r(cos a) + xcenter, y = r(sin a) + ycenter
xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter); ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter); xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter);
第一节杠杆 (一)学习目标 1、知识与技能 (1)认识杠杆,能从常见的工具和简单机械中识别杠杆。 (2)知道杠杆的平衡。 2、过程和方法 (1)通过观察和实验,了解杠杆的结构; (2)通过探究,了解杠杆的平衡条件。 3、情感、态度与价值观 通过了解杠杆,进一步认识物理是来自于生活的,认识到物理是有用的。 (二)教学重难点 (1)重点:理解杠杆的平衡条件 (2)难点:从常见的工具和简单机械中识别杠杆,理解力臂的概念。 (三)教学准备 杠杆支架、钩码、刻度尺、线 (四)教学过程 一、引入新课 请学生阅读教材引言部分,使学生了解简单机械在生产、生活中有广泛的应用,认识到学好这部分知识具有实际的意义,自然引入杠杆一节的学习内容。 二、什么是杠杆? 出示一些实物,象瓶起子,剪刀等并演示如何使用。 请学生归纳其相同点。 1、定义:一根硬棒,在力的作用下,如果能绕着固定点转动,这根硬棒就叫杠杆。 请学生介绍生活中还有哪些物体可以看作杠杆? 要点:(1)硬棒 (2)绕着固定点转动 三、几个名词 1、动力:使杠杆转动的力F1 2、阻力:阻碍杠杆转动的力F2 3、支点:绕着转动的那个点O 4、动力臂:从支点到动力作用线的距离l1 5、阻力臂:从支点到阻力作用线的距离l2 PS:力的作用线指的是经过力的作用点沿力的方向所在的直线。 力臂不是支点到力的作用点的距离! 学生练习:作图P68动手动脑学物理第3小题。 四、探究杠杆的平衡条件 1、什么叫杠杆的平衡 杠杆静止或匀速转动状态称为杠杆的平衡。 2、小实验:请一个大同学和一个小同学做推门比赛。(大同学推靠近门轴方向,小 同学推远离门轴方向) 通过亲自动手,感受平衡时应与力的大小和作用点等因素有关。为下面探究中的 猜想做铺垫。 3、探究过程 (1)提出问题:杠杆的平衡条件是什么?
《杠杆》 知识技能目标: 1、认识杠杆。认识有关杠杆的几个概念、 2、能从常见的工具中和简单机械中识别出杠杆。 3、知道杠杆的平衡条件及其杠杆的应用。 过程能力目标: 1、经历绘制杠杆示意图的过程,体会科学抽象的方法; 2、观察和操作杠杆,体会杠杆的作用,学生形成的观察力、抽象概括力。 3、通过实验探究,了解杠杆的平衡条件,掌握初步的科学探究方法。 情感态度目标: 1、关心生活、生产、自然现象中杠杆的使用,体验科学源自生活,提高对生活的关注和对科学的学习兴趣; 2、乐于在周围生活中发现和分析各种杠杆,具有利用杠杆方便自己工作的意识。 教学重点 杠杆的概念、杠杆的五要素、杠杆的示意图、杠杆的平衡条件 教学难点 1、力臂的确定及做法 2、杠杆的平衡条件应用 教学环节 1、趣味游戏激发悬念 (2)主持游戏:老师这里有一个罐头要打开,哪位同学愿意来帮老师把它打开? 学生参与游戏:直接用手打开罐头 (2)老师这里可以提供一些工具,这位同学再试着去打开这个罐头瓶,然后告诉同学你的感受。这是为什么呢? 用铁棒打开罐头;用起子打开罐头,其他学生观看后重复 认识杠杆及其五要素 2、认识杠杆 教师:大家看图回答问题①撬棒、抽水机摇柄发生了怎样的运动? ②它们在什么情况下才能这样运动?
③它们有什么共同之处? 学生带着问题观察图片,通过小组讨论,回答教师问题系。 3、实验探究杠杆的平衡条件 教师::大家都看见卖水果要用杆秤来称,哪一位同学上来演示一下。你为什么要这样称? 教师:其实至运用了杠杆品哼哼的条件,那干干平衡的条件是什么呢?有什么因素影响着它的? 学生:阻力、动力、力臂。 教师:要探究这种杠杆平衡条件除了铁架台、杠杆外,还需要什么器材? 学生设计实验并操作 老师巡视提问:探究杠杆平衡条件如何做?各组分别把自己的方案讲出来,大家评议是否可行? 交流并得出结论:请有代表性做法的小组上台演示,说出他们观察到的现象及得出的结论。 教师引导:如果我们把表格左边的数据或者右边的数据任意地加减或乘除,看两边的结果会怎样? 4、应用杠杆 教师:我们学习物理知识的目的就是应用物理知识解决生活中遇到的实际问题,下面我们就来应用杠杆。请欣赏一段录相。 (教师放一段“应用杠杆”的影片。) 教师:通过观看影片你获得了哪些信息? 学生一:我知道了生活中的杠杆可分为省力杠杆、费力杠杆和等臂杠杆。 学生二:通过影片我知道省力杠杆的动力臂大于阻力臂,费力杠杆的动力臂小于阻力臂,等臂杠杆的力臂相等。 学生三:省力杠杆省力但费距离,费力杠杆费力但省距离。 学生四:生活中的羊角锤、铁皮剪、起子、钳子属于省力杠杆,船浆、镊子等属于费力杠杆,自行车上的车把、车闸、后货架上的货物夹等属于省力杠杆。7.1 《力》 【教材分析】 力是生活中常见的一种物理现象,力学是初中物理的重点知识。学好力的概念是今后
9月计算机二级考试JA V A章节知识:第一个javaapplet 2020年9月计算机二级考试JA V A章节知识:第一个javaapplet 1.4.5 第一个java applet java程序的另一种形式是java applet,applet没有main()方法,它必须嵌在超文本文件中,在浏览器中进行运行。下面这个程序将在浏览器中显示一行字符串。 //这是我们的第一个java applet,该程序保存在文件HelloEducation.java中 import java.awt.Graphics; //在进行显示输出时,需要用到类Graphics的对象; import java.applet.Applet; //Applet类是所有的java applet的父类; public class HelloEducation extends Applet { //程序员给这个类取名为HelloEducation //所有的applet程序都是Applet类的子类 public String s; public void init() { // s=new String(Welcome to Tongfang Education); //生成一个字符串对象 } public void paint(Graphics g){ g.drawString(s,25,25); //在浏览器中坐标为(25,25)的位置显示字符串s
} } applet程序是从方法init( )开始执行的,在该方法中完成了对字符串s的初始化工作,而显示功能是在方法paint( )中执行的。paint( )方法是类Applet的一个成员方法,其参数是图形对象Graphics g,通过调用对象g的drawString( )方法就可以显示输出。
l 1 2013年新人教版(走进中考) 第十二章 第1节:杠杆 (作图专题) 1.(12淮安)如图所示,画出杠杆所受动力F 的力臂。 答: 或 2.(12常州)如图所示,用螺丝刀撬图钉,O 为支点,请画出动力F 1的力臂l 1.(保留作图痕迹) 答: 3.(12盐城)如图所示,O 点为杠杆的支点,画出力F 1 的力臂.答: 4.(12泰州)如图是用开瓶扳手 打开瓶盖的示意图,O 为支点,画出动力F 1的力臂(l 1)和阻力(F 2)的示意 图. 答: 5.(12广东)如图,杠杆OB 可绕O 点转动,在力F 的作用下在水平位置平衡,画出力F 的力臂 L 。 答:如图 F 2 l 1 O F 1 l 1 O F 1 F l F l F
F O F O l 0 F 2 F 1 O L 1 6.(12来宾)如图所示,请画出力F 的力臂l 0 答: 7.(12成都)在图中:①标出支点O 的位置;②画出作用在撬棍 上的力F 1的力臂。 答: 8.(12娄底)如图所示为钓鱼竿钓鱼时的示意图,O 为支点,F 1表示手对钓鱼竿的作用力,请在图中画出鱼线对钓鱼竿拉力F 2的力臂L 2; 答: 9.(12荆州)如图所示为钓鱼竿钓鱼的示意图。O 为支点,A 为 手握鱼竿的作用点,请在图中画出鱼线对钓鱼竿拉力F 2的 力臂,最小的动力F 1及其力臂。 答: 10.(12梅州、河源)如图所示, F 2 F 1
粗细均匀的棒一端搁在地上,另一端与支点O连接。试作出地面对棒的支持力的力臂L和棒所受重力G的示意图。 答: 11.(12菏泽)如图所示,用裁纸刀裁纸。加在裁纸刀上的动力为F,支点在O点,请在图中画出其对应的动力臂L。 答: 12.(12兰州)如图所示的裁纸刀,O为支点,画出动力F的力臂L。 答:如图 13.(12绥化)如图所示,请画出F的力臂L 答: 14.(12哈尔滨)如图,工人用撬棍撬起石块,O为支点。(1)画 出阻力F2的力臂L2。(2)画出工人在A 点施加的最小动力F1的示 意图。 答: 15.( 12三明)请按要求完成下列作 图: (3)在图中画出力F1的力臂 l1。 答: 16.(12滨州)滨州黄河大桥如图甲所示。若将大桥斜拉部分的一半简化成图乙所示的杠杆模型,其中O点为支点,P为桥面部分的重心,请在图乙中画出拉索对桥面拉力F的力臂l和桥面所受重力G。 F L F l F1 l1 L
“Java程序设计基础”课程习题 一、填空 1.Java程序分两类____ applet __ 和application, Java Application类型的程序,程序从 …main___ 开始执行。 2.定义一个Java类时,通过关键字.extends _____ 指明该类的父类。一个类可以有____ 1 — 个父类。 3.用public修饰的类称为—公共类—。用public修饰的类成员称为公有成员。被说明为 public的内容可以被_所有的其他类_____ 使用。如果public类文件与使用它的类文件不在同一目录屮,需要通过_impon—语句引入。 4.用_private_修饰的类成员称为私有成员。私有成员只能在_本类—中使 用。 5.如果子类定义的成员变量与父类的成员变量同名,称为—覆盖—,要表明使用子类的成员 变量,可以在成员变量前加上关键字—this— o 6._Object—类是Java类库中所有类的父类。 7.Jav“字符使用—16—位的字符集,该字符集成为—UTF-I6—。 8.当子类中定义的方法与父类方法同名吋,称子类方法—重载______ 父类方法,子类默认 使用自己的方法。使用父类的同名方法,必须用关键字-super—说明。 9.Java源程序文件名的后缀是_。java _____ , Java字节码文件名的后缀是_。class ______ 。 10.Java类名的第一个字母通常要求_大写—o 11.Java程序由_类定义_____ 组成,每个程序有一个主类,Java程序文件名应与—主— 类的名称相同。 12.Java—application __ 类型的程序需要main()方法,程序从—main方法_____ 开始执行。 13.布尔型数据类型的关键字是-boolean—,占用位数是_1—,有—true_和 .false ____ 两种值。整型数可以采用_八进制—、—十进制—和_十六进制— 三种进制表示。 14.八进制整数以数字_o—开头。十六进制整数以—Ox—开头。 15.int整型数占用32 位内存。lon£整型数占用&4 位内存。 16.127L表示long类型常量。 17.根据占用内存长度将浮点常量分为floal 和double 两种。 18.单精度浮点常量占用32 位内存,双精度浮点常量占用一64—位内存。 19.在Java语言中,字符串“ABC\tD\bE中包括7 个字符。 20.数学关系4
《杠杆》教案 【教学目标】 1、知识与技能 (1)通过观察生活和生产劳动中的各种杠杆提取共同的特征,并能在杠杆上确认支点、动力、动力臂、阻力、阻力臂的位置。能准确地画出杠杆的动力臂和阻力臂。 (2)通过参与科学探究活动,能对杠杆平衡条件进行猜想和假设,并设计出验证方案,对获得的信息进行处理,得出杠杆平衡的条件。能应用杠杆平衡条件去分析解决简单的实际问题。 (3)能根据杠杆的特点,以及作用效果等进行分类。 2、过程与方法 (1)通过观察和实验、感知杠杆,培养观察能力 (2)通过实验探究,总结归纳出杠杆的平衡条件,培养初步的分析概括能力,收集信息和处理信息的能力。 (3)在对实例的调研、分析和解释中进一步理解和应用杠杆平衡条件,尝试应用已知的科学规律去解释某些具体问题。 3、情感、态度和价值观 (1)使学生感受到杠杆在生活中有广泛的应用,提高探究的乐趣。 (2)运用学过的科学知识解释生活中的杠杆,进一步感受到生活和科学的关系。 【教学重点、难点】 1、重点杠杆平衡条件 2、难点对力臂的引入和理解 【教学步骤】 1、引入新课 教师:1.出示图片展示生活中常见的杠杆,引导学生得出杠杆的定义。观察日常生活用的工具钳子、筷子、指甲钳、跷跷板它们有什么共同的特点? 学生:都是能够提供方便。 教师:这些能给我们提供方便的工具都称为机械。日常生活中见到的那些复杂的机械也都是由简单机械组合而成的。学习简单机械的知识是理解复杂机械的基础。
教师:现在,谁帮我一个忙,用这里几种不同的工具(羊角锤、硬棒、钳子)把木块中的钉子拔出来。(探究) 活动一:比较用羊角锤拔钉子,用钳子拔钉子,这两种情况用力一样吗?哪一种工具更省力呢?(实验后得到羊角锤拔钉子最省力) 教师:我们首先用羊角锤(或起子)钳住钉帽,然后锤身抵住木块,用力扳手柄,钉子就被拔出来了。那么,你知道羊角锤是根据什么原理制造的呢。实际上它是根据杠杆原理制造的。那杠杆是怎么一回事呢?今天大家就共同来探究杠杆(板书:探究杠杆)。首先,我们来认识什么是杠杆?(板书:一、什么是杠杆)。 2、杠杆的五要素的学习 教师:最简单的杠杆就是撬石头时用的撬棒。还有我们小时侯玩的跷跷板也是杠杆。活塞式抽水机的手柄工作时也是杠杆。生活中应用杠杆原理的机械有很多:那么,应用杠杆原理的机械都有什么共同点? 学生分组讨论,请组员回答: ①都是硬棒。(软的不行,直的弯的都可以) ②工作过程中都在转动,转动过程中有一点是不动的。 ③除固定不动的点外,还要受到两个力的作用,一个能使它转动,另一个阻碍它转动。 出示动画场景,针对撬石头时用的撬棒得出杠杆关键概念: 教师:在力的作用下能绕固定点转动的硬棒叫杠杆;得出:支点、动力、阻力的概念(板书出具体内容)。 (1)绕着固定点转动。固定点——杠杆的支点 (2)受到力的作用。动力和阻力 (3)支点O——杠杆绕着转动的点 (4)动力——使杠杆转动的力 (5)阻力——阻碍杠杆转动的力(板书) 回头再分析刚开始提出的各机械的支点和力臂(学生分组讨论后选代表回答): 展示一组图片,思考这些工具在工作过程中,是否是杠杆?若为杠杆,确定支点的位置、动力、阻力作用点和方向。 3、关于力臂的教学: 教师:动力的作用效果不是由支点到动力作用点间的长度决定,而是由支点到动力作用线间的距离决定。我们把从支点到动力作用线间的距离叫做动力臂。从支点到阻力作用线间
解决HMC在IE浏览器无法登录的问题(JavaApplet的使用问题) 管理IBM的小型机必须要用到HMC(Hardware Management Console),有时候在使用测试环境使用的时候我们会把HMC装到自己电脑上的虚拟机里面,然后管理小型机,但是在虚拟机里面使用HMC实在是太不方便了,不说那个蛋疼的字体,分辨率也不能调,而且不支持安装vmtools,鼠标点进去得来回切换,用起来很不舒服,所幸HMC还提供了一个web的界面,跟直接在虚拟机里面操作的界面完全一样,而且还有中文(不过点一下开放的可维护性事件之后就会出现乱码,不知何解?),反正总之各种方便,实乃IBM SA必备啊,不过问题却来了(本文以HMC7为例)。 其实HMC默认安装之后就已经是开通了web访问功能,直接在浏览器里面使用https://HMC ip地址就可以访问到了。HMC的IP地址查看方法是:点左边的HMC Management,然后点右边的Operations下面的Change Network Settings,在弹出的窗口里面选LAN Adapters就可以看到HMC的IP地址了。 在此之前还要安装JDK(JRE理论上也行,不过我没试过),因为在浏览器里面使用这个东西要用到Java Applet,不安装是不行的。还要注意,现在64位系统到处都是,如果你的浏览器是32位的,那么你必须要安装32位的JDK,只安装64位的JDK是无法在IE和其它32位的浏览器里面正常加载Java Applet的,所以如果是64位系统,可以把32和64位的JDK 都装上。 现在可以在IE浏览器里面使用https://192.168.2.126来登录到HMC了,问题也来了,所有按照默认的设置下面,很有可能会出现一系列的问题。现列举一下:1、出现证书错误。这
《§ 12.1杠杆》新课程导学案 班级:_______________ 姓名: __________________ 学习目标: 1、我能认识杠杆,认识有关杠杆的几个概念; 2、我能从常见工具和简单机器中识别出杠杆; 3、我能知道杠杆的平衡条件及其杠杆的一些应用。 【学习过程】 (一)课前导学 【学点一】:认识杠杆 1、这些工具在使用时,有什么共同特点?它们工作时,能绕_______________________ 转动。 我会归纳:在_________ 的作用下,能够绕着________________ 转动的____________ 叫杠杆。 一试身手:画出下面杠杆的动力臂与阻力臂(简记:一找点()___________、二画线(_______________ 、三作垂线段()) 温馨提示:不论动力、阻力,都是杠杆受的力。(二)课堂导学:
合作探究一:探究杠杆的平衡条件 1 、 提出问题: ___________________________________________________________ 2、猜想:_________________________________________________________ 。 3、思考:实验中需要测量__________________________________ ,需要的测量工具是__________________ 。 4、实验设计: ①如右图所示,调节杠杆左(右)端的平衡螺母,使杠杆在水平方向上平衡(为了便于 )。 ②杠杆两端挂上不同数量的钩码,移动钩码的位置,使杠杆水平平衡。将动力F i、阻力F2、动 力臂L i、阻力臂L2记录表格中。 ③改变阻力和阻力臂的大小,相应调节动力和动力臂的大小,再做几次实验。 分析表中的数据,找出它们之间的关系。 我会归纳:杠杆的平衡条件: 这个平衡条件就是5、自学P78例题。 一试身手: ;F i = i5N, F2= 75N, L i = i5cm, L2 = 2、如图所示的杠杆重不计,O为支点,AC= 0.2m,当在A点悬吊一重6N的物体,绳子的拉力F =3N时,杠杆在水平位置平衡,在图中画出拉力F的力臂L2,力臂L2为多少? 合作探究二:生活中的杠杆 实验 次数 动力 F i/N 动力臂 L i/m 阻力 F2/N 阻力臂 L2/m i 2 3 发现的杠杆原理。 1、L i = 3L2, F i 是F2 的倍;F i:F2= 2:5 , L i:L2 = L i:L 2= 4:3 , F2 = 60N, F i =
小应用程序Applet设计 一、课题内容和要求 内容:设计和编写一个可以用鼠标操作的Applet小应用程序和相应的HTML 页面,观察Applet的执行过程,测试程序鼠标用户交互操作的效果。 要求:要求学生能在学习和理解课堂学习内容中JAVA小应用程序的基础上,通过实验,培养学生将JAVA小应用程序相关知识点(包括JAVA Applet和低级事件处理模型)有机结合,设计基于WEB浏览器的小应用程序的能力。二、设计思路分析 class App:一个Java Applet计算器的主类 public void init():完成初始化applet public boolean action():实现事件处理的方法 public void doOperator():运算及运算结果输出操作 public void doForeScreen():数字和小数点输出到文本框操作 public void doClear():清空操作 三、概要设计 public class App extends Applet { TextField tfAnswer; Button b0, b1, b2, b3, b4, b5, b6, b7, b8, b9; Button bPoint, bEqual, bPlus, bMinus, bClear, bMulti, bDivision; String OperatorCurrent, OperatorPre; String ForeScreen, BackScreen; boolean isFloat = false; public void init(); public boolean action(Event e, Object o); public void doOperator() public void doForeScreen(String s); public void doClear(); }
第1节杠杆 一、选择题 1. 图中杠杆受力F,图中能表示力F力臂的是() A. OA段 B. OB段 C. OC段 D. AB段 2. 如图是开瓶盖的起子,可以看成是一个杠杆,能正确表示出杠杆的支点、动力和阻力的图是() A. B. C. D. 3. 如图所示,O点表示杠杆的支点,其中错误的是() A. B. C. D. 4. 关于杠杆,下列说法中正确的是( ) A. 动力臂一定等于支点到动力作用点的距离 B. 动力臂不仅与动力作用点的位置有关,而且跟动力的方向有关 C. 杠杆一定是直的 D. 使用杠杆时可以省力同时又省距离 5. 下列关于杠杆的说法中正确的是( ) A. 杠杆必须是一根直棒 B. 杠杆一定要有支点 C. 力臂必须在杠杆上 D. 力臂就是力的作用点到支点的距离
6. 如图所示,手持弹簧测力计竖直向上拉,使杠杆处于水平平衡状态,弹簧测力计的示数是5 N,OA=80 cm,AB=20 cm,则物体的重是( ) A. 20 N B. 4 N C. 1.25 N D. 条件不足,无法判断 7. 如图所示,杠杆处于平衡状态,下列说法中正确的是() A. 将支点两侧钩码都向右移动一格,杠杆仍平衡 B. 在支点两边的钩码下各增加一个钩码,杠杆仍平衡 C. 将支点左边加上二个钩码,右边加上一个钩码,杠杆仍平衡 D. 将支点左边的钩码向左移动两格,将支点右侧的钩码向右移动一格,杠杆仍平衡 8. 如图所示,一根直硬棒被细绳系在O点吊起.A处挂一实心金属块甲,B处挂一石块乙时恰好能使硬棒在水平位置平衡.不计硬棒与悬挂的细绳质量,下列推断合理的是() A. 甲的质量和密度都比乙大 B. O点绳子拉力一定等于甲、乙重力之和 C. 如果甲浸没在水中,硬棒会逆时针转动 D. 如果甲浸没在水中,要使硬棒水平平衡,可将乙向右移动 9. 在如图(1)所示的实验装置中,弹簧测力计的示数如图(2),那么每个砝码的重力为(g=10 N/kg)()
第1节杠杆 一、目标导引: 1、通过看书和讨论了解杠杆的相关概念。通过实例、实验、说明(用语言描述、画图等)杠杆的相关概念。 2、通过实验探究影响杠杆平衡的因素以及各因素之间的关系。会设计实验,会分析数据得出结论。 3、通过看书和讨论了解杠杆的三种类别及各自特点。能列举生活中三种杠杆的实例。 二、探究学习: (一)通过看书和讨论了解杠杆的相关概念。通过实例、实验、说明(用语言描述、画图等)杠杆的相关概念。 学习活动1:阅读课本P64页内容,认识杠杆及相关要素,知道什么叫杠杆的平衡,并能够用语言描述。 展示评价1:用语言描述什么叫杠杆,杠杆的五要素,什么叫杠杆的平衡。 学习活动2:观察课本上杠杆的示意图,能用示意图描述杠杆的五个要素。 展示评价2:画出用筷子撬动物体杠杆的示意图(要求标出五要素) 学习活动3:用钉锤拔钉子,观察钉锤的运动情况,讨论钉锤能否作为杠杆。 展示评价3:画出用钉锤拔钉子时,杠杆的示意图。(标出五要素) 学习活动4:讨论识别生活中的一些杠杆,能找出课桌上的杠杆。 展示评价4:列举生活中的实例: (二)、通过实验探究影响杠杆平衡的因素以及各因素之间的关系。会设计实验,会
分析数据得出结论。 学习活动5:通过实验初步感受杠杆平衡与哪些因素有关,猜想哪些因素可能影响杠杆平衡。 展示评价5:1、描述所使用杠杆的五要素 2、猜想杠杆平衡可能与哪些因素有关: 学习活动6:阅读教材P65页,自己设计实验探究杠杆平衡时,动力、动力臂、阻力、阻力臂应该满足怎样的关系? 展示评价6:我的设计方案: 学习活动7:进行实验与收集数据: 展示评价7:将收集的数据填在下表 学习活动8:依据实验数据,分析归纳得出结论。 展示评价8:我总结的结论是: (三)通过看书和讨论了解杠杆的三种类别及各自特点。能列举生活中三种杠杆的实例。 学习活动9:阅读课本杠杆的应用内容,描述三种杠杆的特点,体会说出它们的区别。 展示评价9:列举生活中三种杠杆的实例
javaApplet文件 import java.awt.*; import java.applet.*; public class Ycc5 extends Applet { Font f=new Font("华文新魏",Font.BOLD,18); public void paint(Graphics g) { g.setColor(Color.red); g.fillOval(200,100,100,100); g.drawOval(200,100,100,100);
g.setColor(Color.black); g.drawLine(170,80,200,110); g.drawLine(250,50,250,90); g.drawLine(340,80,300,110); g.drawLine(150,150,190,150); g.drawLine(170,210,200,190); g.drawLine(250,240,250,210); g.drawLine(340,210,300,190); g.drawLine(310,150,350,150); g.setColor(new Color(62,167,252)); int[]x={550,700,750,500,550}; int[]y={350,350,400,400,350}; g.drawPolygon(x,y,5); g.fillPolygon(x,y,5); g.drawRect(510,400,230,180); g.setColor(new Color(44,252,85)); g.drawRect(650,420,60,70); g.fillRect(650,420,60,70); g.setColor(Color.black); g.drawLine(650,455,710,455); g.drawLine(680,420,680,490); g.drawRect(560,300,20,80); g.setColor(Color.yellow); g.drawRect(560,500,50,79); g.fillRect(560,500,50,79); g.setColor(Color.blue);
例子1:运行,编译,网页中嵌入的例子 import java.applet.*; import java.awt.*; public class Example12_1 extends Applet { Button button1,button2; int sum; public void init() { setBackground(Color.gray); button1=new Button("yes"); button2=new Button("No"); add(button1); add(button2); } public void start() { sum=0; for(int i=1;i<=100;i++) { sum=sum+i; } } public void stop() { } public void paint(Graphics g) { g.setColor(Color.blue); g.drawString("程序设计方法",20,60); g.setColor(Color.red); g.drawString("sum="+sum,20,100); } } 例子2:网页向JavaApplet传值 import java.awt.*; import java.applet.*; public class Example12_2 extends Applet { int x=0,y=0; public void init() { String s1=getParameter("girl");//从html得到"girl"的值。 String s2=getParameter("boy");//从html得到"boy"的值。 x=Integer.parseInt(s1); y=Integer.parseInt(s2); } public void paint(Graphics g) { g.drawString("x="+x+","+"y="+y,90,120); } } Boy.html
第12章第1节杠杆同步练习 一、填空题 1.(2019湖北宜昌)如图所示,赛艇的船桨是一种杠杆,划船时它是一支力杠杆,手移动的距离(选填:大于、小于)桨在水中移动的距离。 2.(2019福建省)如图是我国古代劳动人民在工地上运送巨木的情景。架在支架上的横杆属于杠杆(选填“省力”“费力”或“等臂”);支架下面垫有面积较大的石块,是为了对地面的压强(选填“增大”或“减小”)。 3.(2019安徽省)如图,一轻杆AB悬于O点,其左端挂一重物,右端施加一个与水平方向成30°的力F,此时轻杆水平平衡。若重物质量m=3kg,BO=3AO,g取10N/kg。则力F 的大小为________N。 4.(2019山东泰安)一位泰山挑山工用一根长1.8m的扁担挑起货物,如图为扁担示意图,若在扁担的A端挂200N的物体,B端挂300N的物体,挑起重物时使扁担水平平衡,则挑山工肩膀需顶在距A端m远的位置(不计扁担的重力)。 5.如图所示,一根粗细均匀的硬棒AB被悬挂起来,已知AB=8AO,当在A处悬挂120N
的重物G时,杠杆恰好平衡,杠杠自身的重力为N,若在C处锯掉BC,留下AC杠杠,支点O不变,则需要在A端(选填“增加”或“减少”)重物,才能使杠杠仍保持水平平衡. 6.小明用一把缝衣剪刀剪布,如图所示,他为了省距离应将布放在剪刀的处,为了省力应将布放在剪刀的处(填A或B). 7.如图所示,一位母亲推着婴儿车行走,当前轮遇到障碍物时,母亲向下按扶把,若把婴儿车视为杠杆,这时杠杆的支点是;当后轮遇到障碍物时,母亲向上抬起扶把,这时婴儿车可视为杠杆(填“省力”或“费力”).
二、单项选择题 8.(2019四川南充)如图,用一个始终水平向右的力F,把杠杆OA从图示位置缓慢拉至水平的过程中,力F的大小将() A.变大B.不变C.变小D.不能确定 9.(2019山东临沂)各式各样的剪刀都是一对对杠杆。下列剪刀,最适合剪开较硬物体的是() A. B. C. D. 10.如图所示的四种情景中,所使用的杠杆为省力杠杆的是()
名 师 优 秀 教 案 执教者:xx 时间:20xx年
《杠杆》 知识技能目标: 1、认识杠杆。认识有关杠杆的几个概念、 2、能从常见的工具中和简单机械中识别出杠杆。 3、知道杠杆的平衡条件及其杠杆的应用。 过程能力目标: 1、经历绘制杠杆示意图的过程,体会科学抽象的方法; 2、观察和操作杠杆,体会杠杆的作用,学生形成的观察力、抽象概括力。 3、通过实验探究,了解杠杆的平衡条件,掌握初步的科学探究方法。 情感态度目标: 1、关心生活、生产、自然现象中杠杆的使用,体验科学源自生活,提高对生活的关注和对科学的学习兴趣; 2、乐于在周围生活中发现和分析各种杠杆,具有利用杠杆方便自己工作的意识。 教学重点 杠杆的概念、杠杆的五要素、杠杆的示意图、杠杆的平衡条件 教学难点 1、力臂的确定及做法 2、杠杆的平衡条件应用 教学环节 1、趣味游戏激发悬念 (2)主持游戏:老师这里有一个罐头要打开,哪位同学愿意来帮老师把它打开? 学生参与游戏:直接用手打开罐头 (2)老师这里可以提供一些工具,这位同学再试着去打开这个罐头瓶,然后告诉同学你的感受。这是为什么呢? 用铁棒打开罐头;用起子打开罐头,其他学生观看后重复 认识杠杆及其五要素 2、认识杠杆 教师:大家看图回答问题①撬棒、抽水机摇柄发生了怎样的运动? ②它们在什么情况下才能这样运动?
③它们有什么共同之处? 学生带着问题观察图片,通过小组讨论,回答教师问题系。 3、实验探究杠杆的平衡条件 教师::大家都看见卖水果要用杆秤来称,哪一位同学上来演示一下。你为什么要这样称? 教师:其实至运用了杠杆品哼哼的条件,那干干平衡的条件是什么呢?有什么因素影响着它的? 学生:阻力、动力、力臂。 教师:要探究这种杠杆平衡条件除了铁架台、杠杆外,还需要什么器材? 学生设计实验并操作 老师巡视提问:探究杠杆平衡条件如何做?各组分别把自己的方案讲出来,大家评议是否可行? 交流并得出结论:请有代表性做法的小组上台演示,说出他们观察到的现象及得出的结论。 教师引导:如果我们把表格左边的数据或者右边的数据任意地加减或乘除,看两边的结果会怎样? 4、应用杠杆 教师:我们学习物理知识的目的就是应用物理知识解决生活中遇到的实际问题,下面我们就来应用杠杆。请欣赏一段录相。 (教师放一段“应用杠杆”的影片。) 教师:通过观看影片你获得了哪些信息? 学生一:我知道了生活中的杠杆可分为省力杠杆、费力杠杆和等臂杠杆。 学生二:通过影片我知道省力杠杆的动力臂大于阻力臂,费力杠杆的动力臂小于阻力臂,等臂杠杆的力臂相等。 学生三:省力杠杆省力但费距离,费力杠杆费力但省距离。 学生四:生活中的羊角锤、铁皮剪、起子、钳子属于省力杠杆,船浆、镊子等属于费力杠杆,自行车上的车把、车闸、后货架上的货物夹等属于省力杠杆。
杠杆 一、选择题 1.关于杠杆,下列说法中正确的是() A.杠杆只有静止在水平位置才是处于平衡状态 B.杠杆平衡时,作用在杠杆上的两个力一定在支点的两侧 C.杠杆一定有支点 D.杠杆的支点一定在杠杆的正中间 答案:C 解析:杠杆平衡是指杠杆静止或匀速转动,所以杠杆平衡不一定静止在水平位置,故A错误。杠杆平衡时,作用在杠杆上的两个力不一定在支点的两侧,如铡刀的刀片就是杠杆,它的支点在一端,两个力就在支点的一侧,故B错误。由杠杆的定义可知,杠杆一定有支点,故C正确。杠杆的支点也可在一端,如我们用筷子时,支点就在上端,故D错误。 2.图1中,F的力臂表示正确的是() 图1 答案:D 解析:力臂是从支点到力的作用线的距离。选A是误认为力臂是支点到力的作用点的距离,选B是把力的作用点搞错了,选C是没有把支点搞准。 3.如图2,园艺师傅使用如图所示的剪刀修剪树枝时,常把树枝尽量往剪刀轴O处靠近,这样做的目的是为了() A.增大阻力臂,减小动力移动的距离 B.减小动力臂,减小动力移动的距离 C.增大动力臂,省力 D.减小阻力臂,省力
图2 答案:D 解析:把树枝尽量往剪刀轴处靠近,减小了阻力臂,在阻力、动力臂一定的情况下,由杠杆的平衡条件可知,减小了动力,将更省力。 4.杆秤是一种很古老但现在仍然在广泛使用的一种测量质量的工具。小林同学用一杆秤称一实心球的质量,如图3所示。当杆秤在水平位置平衡时,秤砣拉线正好压在4kg的刻度线上。根据秤砣拉线、提纽和称钩所在秤杆的位置之间的距离的粗略关系,可以估测出秤砣的质量大约是() A.10g B.400g C.1000g D.4000g 答案:C 解析:杆秤是利用杠杆的平衡条件工作的,杆秤平衡时满足。此时的F1、F2分别是实心球和秤砣对秤杆的拉力,其大小就等于它们受到的重力。秤砣拉线正好压在4kg的刻度线上,说明实心球的质量为4kg。当杆秤在水平位置平衡时,提纽到称钩所在秤杆位置的距离,及提纽到秤砣拉线的距离分别是L1、L2。根据图2估计L2=4L1。 5.地震中,滚滚的山石挡住了道路。增援人员要用撬棒撬开山石,分别沿如图4所示的四个方向用力,其中最省力的是() A.沿F1方向B.沿F2方向 C.沿F3方向D.沿F4方向 答案:C
杠杆 学习目标: 1、认识杠杆,知道杠杆的一些应用。 2、通过观察和实验,了解杠杆的结构。 3、通过探究,了解杠杆的平衡条件。 学案导学 【自主学习】 根据要求,阅读课本相关内容,先对下面问题独立探究,然后在组内交流,找出最佳解决方案。 任务一:认识简单机械——杠杆。 结合课本的插图阅读“杠杆”这一部分内容,回答下列问题。 1、杠杆的定义:一根__________在_________下能__________,这根硬棒就是杠杆,生活中常见的杠杆有:___________________________________。 2、杠杆的五要素分别是:_________、__________、____________、_________、_____ 3、_____________________叫支点,通常用_____表示。_____________________________叫动力,通常用______表示。_________________________________叫阻力,通常用_______表示。____________________________________叫动力臂,通常用_______表示。_______________________________________________叫阻力臂,通常用______________表示。 4、杠杆的平衡的标志是:当杠杆在力的作用下__________时,杠杆就平衡了。 任务二:力臂的作图。 结合图及动力臂、阻力臂的概念,试画出下列杠杆的动力臂L1和阻力臂L2,比一比,谁画的更准确。 【合作探究】
探究“杠杆的平衡条件”,组内交流探究解决下面问题,并将组内合作探究结果展示给全班同学。比一比,那些组完成的更好! (一)提出问题 当杠杆的动力、动力臂、阻力、阻力臂之间有什么关系时杠杆能够平衡? (二)猜想与假设 当__________________________________________杠杆平衡。 (三)实验设计 1.小组内讨论:要验证自己的猜想,将用哪些器材? 2.根据选择的器材,设计实验步骤,并展示给其它同学;相互交流补充,比一比哪个小组完成的最好!(四)进行实验 1.调节杠杆两端的螺母,使杠杆在不挂钩码时,保持水平并静止,达到平衡状态。为什么要这样做? 2.根据设计的实验方案进行实验,并将实验数据记录在下面表格中: 实验次数动力F1/N 动力臂L1(cm) 阻力F2/N 阻力臂L2(cm) 1 2 3 (五)分析和论证 根据表中数据进行分析,例如对它们进行加、减、乘、除等运算,找出它们之间的关系,对于开始提出的问题,你能得出什么结论? 杠杆平衡的条件是:____________________________________或写作:____________ 2. 如图所示,AOB为一机械设备的简化示意图,我们可以把它看成杠杆(自重不计),已知AO=2OB.固定O点,使OB 处于水平位置,此时B 端挂一重为40N 的物体,要使杠杆不发生转动,至少需在A 端施加F= _______ N 的力,在图上画出此时力F的方向. 结合平衡条件,自学“杠杆的应用”回答下面的问题。
第十二章第1节:杠杆 (选择题) 1.(包头)如图所示,一根木棒AB在O点被悬挂起来,AO=OC,在A、C两点分别挂有两个和三 个相同的钩码,木棒处于水平平衡。如在木棒的A、C两点各增加一个同样的钩码,则木棒C A.绕O点顺时针方向转动 B.绕O点逆时针方向转动 C.仍保持平衡 D.平衡被破坏,转动方向不定 2.(达州)如图所示,杠杆在水平位置处于平衡状态,杠杆上 每格均匀等距,每个钩码都相同。下列四项操作中,会使 杠杆右端下倾的是A (1)在杠杆两侧同时各减掉一个钩码; (2)在杠杆两侧钩码下同时各加挂一个钩码; (3)将杠杆两侧的钩码同时各向外移动一个小格; (4)将杠杆两侧的钩码同时各向内移动一个小格。 A.(1)(3)B.(2)(4) C.(2)(3)D.(1)(4) 3.(河南)如图所示,在调节平衡后的杠杆两侧,分别挂上相同规格的钩码,杠 杆处于平衡状态.如果两侧各去掉一个钩码,则A A.左端下降B.右端下降 C.仍然平衡D.无法判断 4.(眉山)按如图所示,是小丽在“研究杠杆平衡条件”的实验中,使杠 杆在水平位置平衡.如果在杠杆两边的钩码下面各增加一个大小相等 的钩码,则杠杆B A.仍然平衡 B.不平衡,左端下降 C.不平衡,右端下降 D.无法确定 5.(德州)如图是小龙探究“杠杆平衡条件”的实验装置,用弹簧测力 计在C处竖直向上拉,杠杆保持平衡。若弹簧测力计逐渐向右倾斜, 仍然使杠杆保持平衡,拉力F的变化情况是B A.变小B.变大 C.不变D.无法确定 6.(湘西)如图是研究杠杆平衡的实验装置,要使杠杆平衡,在A处钩 码应挂C · ·· A
A.6个B.3个 C.2个D.1个 7.(益阳)如图,在已调节水平位置平衡的杠杆的左边挂一个钩码,下列操作中能使杠杆在水平 位置重新平衡的是B A.在位置2挂6个相同的钩码 B.在位置4挂2个相同的钩码 C.在位置4挂4个相同的钩码 D.在位置6挂2个相同的钩码 8.(凉山)如图所示,杠杆AOB用细绳悬挂起来,当A端 挂重物G1,B端挂重物G2时,杠杆平衡,此时OA恰好出于水平位置。AO=BO,杠杆重力不计,则A A.G1<G2 B.G1>G2 C.G1=G2 D.无法确定 9.(朝阳)如图,杠杆处于平衡状态,当用电吹风水平 对右边水平悬挂的木板吹风时,以下说法正确的是 D A.对着木板上方吹风,杠杆向右倾斜 B.对着木板下方吹风,杠杆向左倾斜 C.无论对着木板上、下方吹风,杠杆总保持平衡 D.无论对着木板上、下方吹风,杠杆总不能保持平 衡 10.(玉林)某人用力F抬起放在水平地面上的一均质杠杆AB的B端,F方向始终竖直向上,如 图所示,则在抬起过程中C A.F逐渐变大B.F逐渐减小C.保持不变 D.无法确定 11.(湖州)如图,这款图钉来自于一个初中生的创意,翘起部分为我们预留下施力空间。图钉作为杠杆,其支点为C A.A点 B.B点 C.C点 D.D点 .(厦门)在图所示的四种剪刀中,正常使用时,动力作用点在阻力作用点和支点之间的是D A B F