版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2009級(jí)城市學(xué)院網(wǎng)絡(luò)編程技術(shù)實(shí)驗(yàn)指導(dǎo)書(shū)實(shí)驗(yàn)一、application與applet程序調(diào)試運(yùn)行實(shí)驗(yàn)?zāi)康模菏煜に孟到y(tǒng)的上機(jī)方法與步驟。實(shí)驗(yàn)環(huán)境:安裝windows 2000或windows xp計(jì)算機(jī)和jdk編譯器。實(shí)驗(yàn)內(nèi)容:編寫(xiě)一個(gè)java application和一個(gè)applet程序,輸出以下信息: hello,java world!java程序分為java application(java 應(yīng)用程序)和java applet(java小應(yīng)用程序)兩種。1、java applicationapplication是在本地獨(dú)立運(yùn)行的完整的java程序。application與網(wǎng)絡(luò)的聯(lián)系不如a
2、pplet那樣密切,它一般存儲(chǔ)在本地機(jī),運(yùn)行時(shí)也不需要瀏覽器,而是由獨(dú)立的java解釋器來(lái)解釋執(zhí)行。application的程序特點(diǎn)是它包含一個(gè)含有main()方法的主類(lèi),這個(gè)main()方法就是整個(gè)程序的執(zhí)行入口點(diǎn)。下面是用application寫(xiě)的程序,它完成的功能是在屏幕上輸出一個(gè)字符串“hello,java world!”。由于application無(wú)法借助瀏覽器的窗口系統(tǒng),所以字符串“hello,java world!”是直接顯示在字符界面中的。application編譯生成的字節(jié)碼文件存儲(chǔ)在本地,不需要網(wǎng)絡(luò)下載,由本地的獨(dú)立解釋器解釋執(zhí)行,因此它的安全性限制沒(méi)有applet那么嚴(yán)格
3、,與本地普通的應(yīng)用程序相當(dāng)。但同時(shí),由于不能像applet那樣充分利用瀏覽器系統(tǒng)提供的窗口系統(tǒng),application必須創(chuàng)建和管理自己的圖形界面,乃至整個(gè)程序。由于application的可靠性好,編程自由度大和功能較強(qiáng),它較多用于網(wǎng)絡(luò)的服務(wù)器端的應(yīng)用編程。2、 java applet java applet是嵌入在html文件中運(yùn)行的java小程序,它的程序結(jié)構(gòu)特點(diǎn)是程序中必然包含一個(gè)繼承了系統(tǒng)applet類(lèi)的子類(lèi),這個(gè)子類(lèi)用來(lái)在解釋執(zhí)行applet的瀏覽器中建立一個(gè)java的工作區(qū),顯示有關(guān)信息,接受用戶(hù)命令。java applet程序也是一個(gè)類(lèi),其編譯方式與java applicati
4、on完全一樣。java applet的執(zhí)行方式與java application完全不同,java applet程序必須嵌入到html文件中才能夠執(zhí)行,因此必須編寫(xiě)相應(yīng)的html文件。 下面是一個(gè)最簡(jiǎn)單的java applet程序:這個(gè)程序的功能是在瀏覽器的java applet工作區(qū)中顯示字符串“hello, java world!”。這個(gè)程序由一個(gè)類(lèi)組成,類(lèi)名為helloworld ,它是系統(tǒng)類(lèi)applet的子類(lèi)。類(lèi)helloworld包含了一個(gè)方法paint(),這個(gè)方法負(fù)責(zé)在工作區(qū)的指定位置顯示字符串,由解釋執(zhí)行applet的瀏覽器自動(dòng)調(diào)用執(zhí)行。 applet沒(méi)有main( )方法,它
5、必須嵌在超文本文件中,在瀏覽器中進(jìn)行運(yùn)行。所有的applet程序都是applet類(lèi)的子類(lèi),applet程序是從方法init( )開(kāi)始執(zhí)行的。 applet不能獨(dú)立運(yùn)行,必須依賴(lài)一個(gè)特殊的環(huán)境框架瀏覽器。這一特殊的運(yùn)行機(jī)制對(duì)安全性也提出了較高的要求,所以需applet可以執(zhí)行的操作權(quán)限做相應(yīng)的限制。該程序編譯后生成helloworld.class文件,為了運(yùn)行這個(gè)程序,需要編寫(xiě)一個(gè)html文件來(lái)調(diào)用它,html文件和其放在同一目錄,下面為helloworld.html文件的內(nèi)容: 然后可以通過(guò)jdk所提供的命令“appletviewer”,在命令行下面執(zhí)行java applet程序。如果是在wi
6、ndows操作系統(tǒng)中,就可以在命令提示符下敲入appletviewer helloeducation.html“。applet還可以采用另外一種方式運(yùn)行,就是直接在瀏覽器中打開(kāi)helloeducation.html程序,在主流的瀏覽器如ie、netscape中都包含有java虛擬機(jī),負(fù)責(zé)解釋執(zhí)行java applet程序。 實(shí)驗(yàn)二 java語(yǔ)法基礎(chǔ)實(shí)驗(yàn)?zāi)康模菏煜っ嫦驅(qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言java語(yǔ)言的語(yǔ)法基礎(chǔ)。實(shí)驗(yàn)環(huán)境:安裝windows 2000或windows xp計(jì)算機(jī)和jdk編譯器。實(shí)驗(yàn)內(nèi)容: 一、java語(yǔ)言基礎(chǔ)1編譯和運(yùn)行下面程序,寫(xiě)出執(zhí)行結(jié)果2分析程序,掌握f(shuō)or控制語(yǔ)句,寫(xiě)出執(zhí)行結(jié)果
7、。 3用三種循環(huán)語(yǔ)句來(lái)分別實(shí)現(xiàn)輸出1050之間的3的倍數(shù)。4打印以下圖案(每行打5個(gè)星號(hào),每個(gè)星號(hào)之間空兩個(gè)空格)。 * * * * * * * * * * * * * * * * * * * * * * * * *5用swith語(yǔ)句實(shí)現(xiàn)從鍵盤(pán)讀如1,2,3時(shí),屏幕提示不同信息。 二、類(lèi)的定義及使用修飾符 class 類(lèi)名 extends 父類(lèi)名 implements 接口列表 / 類(lèi)體 說(shuō)明: 1)類(lèi)修飾符分類(lèi): 訪(fǎng)問(wèn)修飾符:缺省(默認(rèn)方式)、public 非訪(fǎng)問(wèn)修飾符:abstract、final ,不能同時(shí)修飾一個(gè)類(lèi) 2) extends : 實(shí)現(xiàn)繼承 3) implements : 實(shí)
8、現(xiàn)接口1下面給出了一個(gè)矩形類(lèi)rectangle,其中含有多個(gè)構(gòu)造方法。上機(jī)編譯并運(yùn)行此程序,觀(guān)察運(yùn)行結(jié)果,體會(huì)其中不同構(gòu)造方法的設(shè)計(jì)和使用。 2編譯并運(yùn)行下面的程序,觀(guān)察分析運(yùn)行結(jié)果,體會(huì)程序中super和this的用法,進(jìn)一步理解變量隱藏和方法重寫(xiě)的概念。3. 編譯并運(yùn)行下面的程序,分析運(yùn)行結(jié)果,體會(huì)其中方法重載的用法,進(jìn)一步理解方法重載的概念。 三、 java的接口1、接口的基本概念java中的接口在語(yǔ)法上有些類(lèi)似于類(lèi),它定義了若干的抽象方法和常量,形成一個(gè)屬性集合,該屬性集合通常代表了某一功能的實(shí)現(xiàn)。它的主要作用是可以幫助我們實(shí)現(xiàn)類(lèi)似于類(lèi)的多重繼承的功能。java中各類(lèi)獲取某一接口定義的
9、功能,并不是通過(guò)直接繼承這個(gè)接口中的域和方法來(lái)實(shí)現(xiàn)的,因?yàn)榻涌谥械挠蚨际浅A?,接口中的方法都是沒(méi)有方法體的抽象方法,也就是說(shuō),接口定義的僅僅是實(shí)現(xiàn)某一特定功能的功能接口和規(guī)范,而并沒(méi)有真正的實(shí)現(xiàn)這個(gè)功能,這個(gè)功能的真正實(shí)現(xiàn)實(shí)在“繼承”了這個(gè)接口的各個(gè)類(lèi)中完成的,有這些類(lèi)來(lái)具體定義接口中各抽象方法的方法體。故在java中,通常把對(duì)接口功能的“繼承”稱(chēng)為實(shí)現(xiàn)。2、接口的聲明java中聲明接口的語(yǔ)法如下:public interface 接口名 extends 父接口名列表 /接口體:/ 常量域聲明public static final 域類(lèi)型 域名=常量值;/ 抽象方法聲明public abstr
10、act native 返回值 方法名(參數(shù)列表)throw 異常列表;3、接口的實(shí)現(xiàn)某個(gè)類(lèi)為接口中的抽象方法書(shū)寫(xiě)語(yǔ)句并定義實(shí)在的方法體,稱(chēng)為該類(lèi)實(shí)現(xiàn)可這個(gè)接口。示例如下:四、包的定義和使用l 創(chuàng)建自定義包mypackage 在存放源程序的文件夾中建立一個(gè)子文件夾 mypackage。例如,在“e:java程序”文件夾之中創(chuàng)建一個(gè)與包同名的子文件夾 mypackage(e:java程序mypackage),并將編譯過(guò)的 class 文件放入該文件夾中。注意:包名與文件夾名大小寫(xiě)要一致。再添加環(huán)境變量 classpath 的路徑,例如:e:j2sdk1.4.2_01lib; e:java程序 l
11、在包中創(chuàng)建類(lèi)ymd.java 程序功能:在源程序中,首先聲明使用的包名mypackage,然后創(chuàng)建ymd 類(lèi),該類(lèi)具有計(jì)算今年的年份并輸出一個(gè)帶有年月日的字符串的功能。源代碼如下 編譯test_ymd.java文件,然后將test_ymd.class文件存放到mypackage文件夾中。 l 編寫(xiě)使用包mypackage中test_ymd類(lèi)的程序 ymd_2.java程序功能:給定某人姓名與出生日期,計(jì)算該人年齡,并輸出該人姓名,年齡,出生日期。程序使用了test_ymd 的方法來(lái)計(jì)算年齡。源代碼如下 編譯并運(yùn)行程序。實(shí)驗(yàn)三、異常處理程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模毫私鈐ava中異常處理(exception
12、)的作用及常用的異常類(lèi),掌握異常處理的設(shè)計(jì)方法。實(shí)驗(yàn)環(huán)境:安裝windows 2000或windows 98計(jì)算機(jī)和jdk編譯器。實(shí)驗(yàn)要求:理解系統(tǒng)異常處理的機(jī)制和創(chuàng)建自定義異常的方法。實(shí)驗(yàn)內(nèi)容:在已實(shí)現(xiàn)的方法中,加入出錯(cuò)處理異常(exception),又稱(chēng)例外,是特殊的運(yùn)行錯(cuò)誤,對(duì)應(yīng)著java語(yǔ)言特定的運(yùn)行機(jī)制。由于java程序是在網(wǎng)絡(luò)環(huán)境中運(yùn)行的,安全成為需要首先考慮的首要因素之一。為了能夠及時(shí)有效的處理程序中的運(yùn)行錯(cuò)誤,java中引入了異常和異常類(lèi)。作為面向?qū)ο蟮恼Z(yǔ)言,異常與其它語(yǔ)言要素一樣,是面向?qū)ο笠?guī)范的一部分,是異常類(lèi)的對(duì)象。異常類(lèi)結(jié)構(gòu)與組成:java的異常類(lèi)是處理運(yùn)行是錯(cuò)誤的特殊
13、類(lèi),每一種異常類(lèi)對(duì)應(yīng)一種特定的運(yùn)行錯(cuò)誤。所有的java異常類(lèi)都是系統(tǒng)類(lèi)庫(kù)中的exception類(lèi)的子類(lèi)。其類(lèi)繼承結(jié)構(gòu)如下圖:exception類(lèi)error類(lèi)throwable類(lèi)throwable類(lèi)是java.lang包中的一個(gè)類(lèi),它派生了兩個(gè)子類(lèi):exception和error。其中error類(lèi)由系統(tǒng)保留,而exception類(lèi)則供應(yīng)用程序使用。系統(tǒng)定義的運(yùn)行異常:exception類(lèi)有若干子類(lèi),每一個(gè)子類(lèi)代表了一種特定的運(yùn)行錯(cuò)誤。這些子類(lèi)有些是系統(tǒng)事先定義好包含在java類(lèi)庫(kù)中的,稱(chēng)為系統(tǒng)定義的運(yùn)行異常。系統(tǒng)定義的運(yùn)行異常通常對(duì)應(yīng)著系統(tǒng)運(yùn)行錯(cuò)誤。由于這種錯(cuò)誤可能導(dǎo)致操作系統(tǒng)錯(cuò)誤,甚至是整個(gè)系
14、統(tǒng)的癱瘓,所以需要定義異常來(lái)特別處理。用戶(hù)自定義的異常:系統(tǒng)定義的異常主要用來(lái)處理系統(tǒng)可以預(yù)見(jiàn)的較常見(jiàn)的運(yùn)行錯(cuò)誤,對(duì)于某個(gè)應(yīng)用所特有的錯(cuò)誤,則需要用戶(hù)程序自己創(chuàng)建用戶(hù)自定義異常。這種用戶(hù)自定義異常主要用來(lái)處理用戶(hù)程序中特定的邏輯運(yùn)行錯(cuò)誤。用戶(hù)自定義異常用來(lái)處理程序中可能產(chǎn)生的邏輯錯(cuò)誤,使得這種錯(cuò)誤能夠被系統(tǒng)及時(shí)識(shí)別并處理。因此用戶(hù)自定義異??梢允褂脩?hù)程序更為強(qiáng)健,使整個(gè)系統(tǒng)更加安全穩(wěn)定。異常的拋出:java程序在運(yùn)行時(shí)如果引發(fā)了一個(gè)可識(shí)別的錯(cuò)誤,就會(huì)產(chǎn)生一個(gè)與該錯(cuò)誤相對(duì)應(yīng)的異常類(lèi)的對(duì)象,這個(gè)過(guò)程被稱(chēng)為異常的拋出。異常的拋出根據(jù)異常類(lèi)的不同,拋出的方法也不同。所有的系統(tǒng)定義的異常都可以由系統(tǒng)自動(dòng)
15、拋出;用戶(hù)程序自定義的異常必須借助于throw語(yǔ)句來(lái)定義何種情況算是產(chǎn)生了此種異常對(duì)應(yīng)的錯(cuò)誤,并應(yīng)該拋出這個(gè)異常的新對(duì)象。異常的處理:當(dāng)一個(gè)異常被拋出時(shí),應(yīng)有專(zhuān)門(mén)的語(yǔ)句來(lái)接受這個(gè)被拋出的異常對(duì)象,這個(gè)過(guò)程被稱(chēng)為捕捉異常。當(dāng)一個(gè)異常類(lèi)被捕捉或接收后,用戶(hù)程序就會(huì)發(fā)生跳轉(zhuǎn),系統(tǒng)中止當(dāng)前的流程而跳轉(zhuǎn)至專(zhuān)門(mén)的異常處理語(yǔ)句塊,或直接跳出當(dāng)前程序和java虛擬機(jī)回到操作系統(tǒng)。在java程序里,異常處理語(yǔ)句的格式如下:try /用try語(yǔ)句來(lái)選定捕獲異常的范圍 catch /異常處理語(yǔ)句 finally /總是會(huì)被執(zhí)行的代碼 1、用try-catch-finally結(jié)構(gòu)實(shí)現(xiàn)異常處理。 編譯并運(yùn)行程序,寫(xiě)出程
16、序運(yùn)行結(jié)果。2、編譯并運(yùn)行程序,寫(xiě)出程序運(yùn)行結(jié)果。3、輸入并運(yùn)行下面的程序,寫(xiě)出程序運(yùn)行結(jié)果。4、請(qǐng)看下面的定義string s=null;if (s!=null) &(s.length()0);if(s!=null)&(s.length()0);if (s=null)|(s.length()0);if(s=null)|(s.length()0);在上面4個(gè)語(yǔ)句中,哪個(gè)能引發(fā)異常?是哪種類(lèi)型的異常?請(qǐng)說(shuō)明理由。實(shí)驗(yàn)四 多線(xiàn)程程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模豪斫饩€(xiàn)程的概念、線(xiàn)程的生命周期,掌握多線(xiàn)程的編程:繼承thread類(lèi)與使用runnable接口。實(shí)驗(yàn)環(huán)境:安裝windows 2000或windows 9
17、8計(jì)算機(jī)和jdk編譯器實(shí)驗(yàn)要求:1、掌握兩種創(chuàng)建線(xiàn)程的方法:一種是創(chuàng)建用戶(hù)自己的線(xiàn)程子類(lèi),另一種是在用戶(hù)自己的類(lèi)中實(shí)現(xiàn)runable接口。2、掌握線(xiàn)程優(yōu)先極。3、掌握線(xiàn)程的同步方法。實(shí)驗(yàn)內(nèi)容:多線(xiàn)程是指同時(shí)存在的幾個(gè)執(zhí)行體,按幾條不同的執(zhí)行線(xiàn)索共同工作的情況。java語(yǔ)言的一個(gè)重要功能特點(diǎn)就是內(nèi)置對(duì)多線(xiàn)程的支持,踏實(shí)的編程人員可以很方便的開(kāi)發(fā)出具有多現(xiàn)成功能,能同時(shí)處理多個(gè)任務(wù)的功能強(qiáng)大的應(yīng)用程序。java中編程實(shí)現(xiàn)多線(xiàn)程應(yīng)用有兩種途徑:一種是創(chuàng)建用戶(hù)自己的線(xiàn)程子類(lèi),另一種是在用戶(hù)自己的類(lèi)中實(shí)現(xiàn)runable接口。無(wú)論那種方法,都需要使用到j(luò)ava基礎(chǔ)類(lèi)庫(kù)中的thread類(lèi)及其方法。創(chuàng)建thr
18、ead類(lèi)的子類(lèi):在這個(gè)途徑中,用戶(hù)程序需要?jiǎng)?chuàng)建自己的thread類(lèi)的子類(lèi),并在子類(lèi)中重新定義自己的run()方法,這個(gè)run()方法中包含了用戶(hù)線(xiàn)程的操作。這樣在用戶(hù)程序需要建立自己的線(xiàn)程時(shí),他只需要?jiǎng)?chuàng)建一個(gè)一定已定義好的thread子類(lèi)的實(shí)例就可以了。實(shí)現(xiàn)runnable接口:在這個(gè)途徑中,已經(jīng)有了一個(gè)父類(lèi)的用戶(hù)類(lèi)可以已通過(guò)實(shí)現(xiàn)runable()接口的方法來(lái)定義用戶(hù)線(xiàn)程的操作。我們知道,runable接口只有一個(gè)方法run(),實(shí)現(xiàn)這個(gè)接口,就必須要定義run()方法的具體內(nèi)容。用戶(hù)新建現(xiàn)成的操作也有這個(gè)方法來(lái)決定。定義好run()方法后,當(dāng)用戶(hù)程序需要建立新線(xiàn)程時(shí),只要以這個(gè)實(shí)現(xiàn)了runn
19、able()方法的類(lèi)為參數(shù)創(chuàng)建系統(tǒng)類(lèi)thread的對(duì)象,就可以把用戶(hù)實(shí)現(xiàn)的run()方法繼承過(guò)來(lái)。l 1、用創(chuàng)建thread類(lèi)的子類(lèi)的方法實(shí)現(xiàn)多線(xiàn)程:2、用實(shí)現(xiàn)runnable接口的方法實(shí)現(xiàn)多線(xiàn)程。 編譯并運(yùn)行程序。3、線(xiàn)程優(yōu)先級(jí)的作用:用繼承thread類(lèi)和執(zhí)行runnable接口的方法創(chuàng)建兩個(gè)線(xiàn)程,并測(cè)試這兩個(gè)線(xiàn)程的同時(shí)運(yùn)行情況。 a. 將兩個(gè)線(xiàn)程設(shè)為同優(yōu)先級(jí),比較運(yùn)行情況。 b. 將兩個(gè)線(xiàn)程設(shè)為同優(yōu)先級(jí), 比較線(xiàn)程調(diào)用sleep()/yeild()方法后出現(xiàn)什么情況。 c.將兩個(gè)線(xiàn)程設(shè)為不同優(yōu)先級(jí),比較以上兩種情況。4、線(xiàn)程的同步:編寫(xiě)兩個(gè)線(xiàn)程,一個(gè)線(xiàn)程向數(shù)組中存數(shù)據(jù),一個(gè)線(xiàn)程向數(shù)組中取
20、數(shù)據(jù)。練習(xí)如何實(shí)現(xiàn)線(xiàn)程的同步。實(shí)驗(yàn)五:系統(tǒng)i/o程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模豪斫鈹?shù)據(jù)流的概念、java流的層次結(jié)構(gòu)及文件的概念;熟悉圖形用戶(hù)界面基本組件的使用方法,熟悉如何使用布局管理器對(duì)組件進(jìn)行管理及如何使用java的事件處理機(jī)制。實(shí)驗(yàn)要求:1、掌握字節(jié)流和字符流的基本使用方法。2、能夠創(chuàng)建、讀寫(xiě)、更新文件。3、掌握在applet容器中添加組件的方法,掌握使用布局管理器對(duì)組件進(jìn)行管理的方法。4、理解 java 的事件處理機(jī)制,掌握為不同組件編寫(xiě)事件處理程序的方法。5、掌握編寫(xiě)?yīng)毩⑦\(yùn)行的窗口界面的方法。6、了解對(duì)話(huà)框及java swing 組件的使用方法。實(shí)驗(yàn)內(nèi)容:1、創(chuàng)建標(biāo)準(zhǔn)數(shù)據(jù)流的應(yīng)用程序標(biāo)準(zhǔn)數(shù)據(jù)流
21、指在字符方式下(如dos 提示符)程序與系統(tǒng)進(jìn)行輸入輸出的方式,鍵盤(pán)和顯示器屏幕是標(biāo)準(zhǔn)輸入輸出設(shè)備,數(shù)據(jù)輸入的起點(diǎn)為鍵盤(pán),數(shù)據(jù)輸出的終點(diǎn)是屏幕,輸出的數(shù)據(jù)可以在屏幕上顯示出來(lái)。程序功能:將鍵盤(pán)上輸入的字符在屏幕上顯示出來(lái),源代碼如下編譯運(yùn)行該程序,寫(xiě)出運(yùn)行結(jié)果(應(yīng)至少包括3次輸入及相應(yīng)運(yùn)行結(jié)果)。2、使用文件輸入輸出流的應(yīng)用程序1)程序功能:讀入一個(gè)文件的內(nèi)容拷貝到另一個(gè)文件中去,源代碼如下import java.io.*;寫(xiě)出該程序功能及運(yùn)行結(jié)果(需注明輸入或用到的原文件內(nèi)容)。2)從一個(gè)文本文件以流的形式輸出文件內(nèi)容import java.io.*; 3、創(chuàng)建圖形用戶(hù)界面圖形用戶(hù)界面(gr
22、aphic user interface ,簡(jiǎn)稱(chēng)gui)是為方便用戶(hù)使用設(shè)計(jì)的窗口界面,在圖形用戶(hù)界面中用戶(hù)可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。組件(component)是構(gòu)成gui 的基本要素,通過(guò)對(duì)不同事件的響應(yīng)來(lái)完成和用戶(hù)的交互或組件之間的交互。組件一般作為一個(gè)對(duì)象放置在容器(container)內(nèi),容器是能容納和排列組件的對(duì)象,如applet、panel(面板)、frame(窗口)等。通過(guò)容器的add 方法把組件加入到容器中。awt類(lèi)庫(kù)中的各種操作被定義成在一個(gè)并不存在的“抽象窗口”中進(jìn)行的。它抽取不同軟硬件平臺(tái)中所實(shí)現(xiàn)的窗口的公共特性。使所設(shè)計(jì)的
23、界面獨(dú)立于具體的界面實(shí)現(xiàn),并且提供與機(jī)器無(wú)關(guān)的基本gui標(biāo)準(zhǔn)組件。例如:選擇類(lèi)組件: 單選按鈕、復(fù)選框、下拉選單、列表框文字處理類(lèi)組件: 標(biāo)簽、文本框、編輯框。命令類(lèi)組件:按鈕、工具欄、菜單等。l 在applet 中添加標(biāo)簽、按鈕并使用網(wǎng)格布局程序功能:在applet 容器中添加組件標(biāo)簽、按鈕,并使用網(wǎng)格布局管理器排列組件在容器中的位置。源代碼如下:import java.awt.*;import java.applet.applet;編譯程序,編寫(xiě)顯示applet 的html頁(yè)面文件。l 在面板中添加組件程序功能:在applet 中添加面板容器,并分別在applet、面板容器中添加組件并使用
24、不同的布局管理方式。源代碼如下:編譯程序,編寫(xiě)顯示applet 的html頁(yè)面文件。awt有關(guān)的所有事件類(lèi)都由java.awt.awtevent類(lèi)派生 ,awt事件共有10類(lèi),可以歸為兩大類(lèi):低級(jí)事件和高級(jí)事件。低級(jí)事件:componentevent(組件事件:組件尺寸的變化,移動(dòng))containerevent(容器事件:組件增加,移動(dòng))windowevent(窗口事件:關(guān)閉窗口,窗口閉合,圖標(biāo)化)focusevent(焦點(diǎn)事件:焦點(diǎn)的獲得和丟失)keyevent(鍵盤(pán)事件:鍵按下、釋放)mouseevent(鼠標(biāo)事件:鼠標(biāo)單擊,移動(dòng))高級(jí)事件(語(yǔ)義事件)actionevent(動(dòng)作事件:按鈕
25、按下,textfield中按enter鍵)adjustmentevent(調(diào)節(jié)事件:在滾動(dòng)條上移動(dòng)滑塊以調(diào)節(jié)數(shù)值)itemevent(項(xiàng)目事件:選擇項(xiàng)目,不選擇項(xiàng)目)textevent(文本事件,文本對(duì)象改變)event :事件,就是發(fā)生在用戶(hù)界面上的用戶(hù)交互行為所產(chǎn)生的一種效果。event source:產(chǎn)生事件的對(duì)象。event handler:接收事件對(duì)象并對(duì)其進(jìn)行處理的方法。在java中對(duì)于某種類(lèi)型的事件xxxevent,要想接收并處理這類(lèi)事件,必須定義相應(yīng)的事件監(jiān)聽(tīng)器類(lèi),該類(lèi)需要實(shí)現(xiàn)針對(duì)特定事件的特定接口xxxlistener;事件源中產(chǎn)生事件后,必須注冊(cè)相應(yīng)于該類(lèi)事件的監(jiān)聽(tīng)器,使用
26、addxxxlistener(xxxlistener )方法來(lái)注冊(cè)監(jiān)聽(tīng)器。下面是一些處理時(shí)間的例子:1)偵察鍵盤(pán)事件import java.awt.event ;import java.awt.graphics ;import java.applet.*;2)偵察鼠標(biāo)事件:import java.awt.*;import java.applet.* ;4、從標(biāo)準(zhǔn)設(shè)備中輸入若干行英文句子,直到輸入bye結(jié)束,將這些字符串寫(xiě)入文件。5、編程完成下列功能:建立兩個(gè)文件myfiel.txt和myfile2.txt,對(duì)文件myfile1.txt輸入內(nèi)容:“i am a student.”,并將其內(nèi)容拷貝
27、給myfile2.txt。6、實(shí)現(xiàn)一個(gè)計(jì)算器,界面類(lèi)似windows中的界面,包括09十個(gè)數(shù)字、加、減、乘、除四種運(yùn)算符號(hào)和一個(gè)用于輸入及顯示結(jié)果的文本框,單擊每個(gè)按鈕都能完成相應(yīng)的功能。實(shí)驗(yàn)六:url網(wǎng)絡(luò)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模赫莆誹rl類(lèi)的使用:url的概念和編程。實(shí)驗(yàn)要求:1、掌握網(wǎng)絡(luò)編程的基本概念。2、掌握url類(lèi)的簡(jiǎn)單應(yīng)用。3、利用url類(lèi)與urlconnection類(lèi)獲取資源。 實(shí)驗(yàn)內(nèi)容:1、用java實(shí)現(xiàn)底層網(wǎng)絡(luò)通訊下面的語(yǔ)句利用主機(jī)名找到網(wǎng)絡(luò)中相應(yīng)的計(jì)算機(jī)的ip地址并打印出來(lái) 。程序中用到了inetaddress類(lèi),它主要用來(lái)區(qū)分計(jì)算機(jī)網(wǎng)絡(luò)中的不同節(jié)點(diǎn),即不同的計(jì)算機(jī)并對(duì)其尋址。編譯
28、并運(yùn)行該程序,寫(xiě)出程序運(yùn)行結(jié)果。2、獲取url信息,源代碼如下:編譯并運(yùn)行程序,寫(xiě)出程序運(yùn)行結(jié)果。3、利用url類(lèi)獲取網(wǎng)絡(luò)資源,源代碼如下:import .*; import java.io.*; public class urlreader public static void main(string args) throws exception 編譯并運(yùn)行程序,寫(xiě)出運(yùn)行結(jié)果。4、利用urlconnection對(duì)url資源的讀取,源代碼如下:編譯并運(yùn)行程序,寫(xiě)出運(yùn)行結(jié)果。5、掌握urlconnection對(duì)url資源的寫(xiě)入,源代碼如下:import java.io.*; 編譯并運(yùn)行程序,寫(xiě)出
29、運(yùn)行結(jié)果。實(shí)驗(yàn)七:使用tcp協(xié)議的socket網(wǎng)絡(luò)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模赫莆誷ocket通訊機(jī)制,掌握socket和serversocket類(lèi)和相關(guān)方法。實(shí)驗(yàn)要求:通過(guò)socket編程,掌握網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)方法;掌握利用java提供的基本組件進(jìn)行網(wǎng)絡(luò)傳輸;掌握java提供的多線(xiàn)程機(jī)制,異常處理機(jī)制和低層對(duì)協(xié)議的通信機(jī)制,通過(guò)socket編程,掌握網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)方法。 實(shí)驗(yàn)內(nèi)容:1、創(chuàng)建服務(wù)器和客戶(hù)程序,在運(yùn)行客戶(hù)程序的計(jì)算機(jī)上輸入的內(nèi)容,可以在服務(wù)器屏幕上看到。l 服務(wù)器端源程序/服務(wù)器線(xiàn)程 catch(exception e) system.out.println(e.tostring()
30、; l 客戶(hù)端源程序 編譯并運(yùn)行程序。2、使用serversocket類(lèi)和socket類(lèi)實(shí)現(xiàn)按如下協(xié)議通信的服務(wù)器端和客戶(hù)端程序。服務(wù)器程序的處理規(guī)則如下:1) 向客戶(hù)端程序發(fā)送verifying server!。2) 若讀口令次數(shù)超過(guò)3次,則發(fā)送illegal user!給客戶(hù)端,程序退出。否則向下執(zhí)行步驟3)。3) 讀取客戶(hù)端程序提供的口令。4) 若口令不正確,則發(fā)送password wrong!給客戶(hù)端,并轉(zhuǎn)步驟2),否則向下執(zhí)行步驟5)。5) 發(fā)送registration successful!給客戶(hù)端程序??蛻?hù)端程序的處理規(guī)則如下:1) 讀取服務(wù)器反饋信息。2) 若反饋信息不是ver
31、ifying server!,則提示server wrong!,程序退出。否則向下執(zhí)行步驟3)3) 提示輸入password并將輸入的口令發(fā)送給服務(wù)器。4) 讀取服務(wù)器反饋信息。5) 若反饋信息是illegal user!,則提示illegal user!,程序退出。否則向下執(zhí)行步驟6)6) 若反饋信息是password wrong!,則提示password wrong!,并轉(zhuǎn)步驟3),否則向下執(zhí)行步驟。7) 輸出registration successful!。實(shí)驗(yàn)八:使用udp協(xié)議的socket網(wǎng)絡(luò)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模赫莆誷ocket通訊機(jī)制,掌握datagramsocket和datagra
32、mpacket類(lèi)和相關(guān)方法。實(shí)驗(yàn)要求:通過(guò)socket編程,掌握網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)方法;掌握利用java提供的基本組件進(jìn)行網(wǎng)絡(luò)傳輸;掌握java提供的多線(xiàn)程機(jī)制,異常處理機(jī)制和低層對(duì)協(xié)議的通信機(jī)制,通過(guò)socket編程,掌握網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)方法。實(shí)驗(yàn)內(nèi)容:1、服務(wù)器接收客戶(hù)端發(fā)來(lái)的空數(shù)據(jù)包,由接收的數(shù)據(jù)包獲得客戶(hù)端的ip地址和端口號(hào),然后將服務(wù)器端的當(dāng)前時(shí)間以數(shù)據(jù)包的形式發(fā)送給客戶(hù)端。當(dāng)超過(guò)10個(gè)客戶(hù)端請(qǐng)求后,服務(wù)器端自動(dòng)關(guān)閉??蛻?hù)端首先發(fā)送請(qǐng)求數(shù)據(jù)包,然后等待接收服務(wù)器端傳回來(lái)的帶有服務(wù)器當(dāng)前時(shí)間的數(shù)據(jù)包,顯示服務(wù)器端發(fā)送的時(shí)間之后關(guān)閉。代碼如下:服務(wù)器端程序:客戶(hù)端程序:new udpc
33、lient().run();system.out.println(客戶(hù)器端已獲得服務(wù)器當(dāng)前時(shí)間,自動(dòng)關(guān)閉!);catch (ioexception e)e.printstacktrace();編譯并運(yùn)行程序。2、使用udp編程,客戶(hù)機(jī)發(fā)送數(shù)據(jù)到服務(wù)器,服務(wù)器將接收到的數(shù)據(jù)返回給客戶(hù)機(jī)。實(shí)驗(yàn)九:applet應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模毫私鈇pplet運(yùn)行機(jī)制,掌握java applet程序結(jié)構(gòu)和開(kāi)發(fā)過(guò)程,了解applet與瀏覽器的通信。實(shí)驗(yàn)要求:1、了解applet運(yùn)行機(jī)制以及applet與瀏覽器的通信。2、掌握java applet程序結(jié)構(gòu)和開(kāi)發(fā)過(guò)程。3、學(xué)會(huì)編寫(xiě)applet對(duì)應(yīng)的html文件,掌握從html文件向applet傳遞參數(shù)的方法。4、掌握在applet圖形界面設(shè)計(jì)。實(shí)驗(yàn)內(nèi)容:1、顯示welcome
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025農(nóng)村信用合作社聘用合同樣本
- 二零二五年度國(guó)際貨物出口合同范文:非洲新興市場(chǎng)合作項(xiàng)目
- 2025年度公廁工程承包合同書(shū)(含社區(qū)共建)3篇
- 二零二五年度公司施工隊(duì)鋼結(jié)構(gòu)工程施工合作協(xié)議3篇
- 二零二五年度全新高空橋梁施工意外事故免責(zé)責(zé)任書(shū)3篇
- 二零二五年度智能倉(cāng)儲(chǔ)物流系統(tǒng)采購(gòu)合同模板2篇
- 二零二五年度消防隊(duì)伍后勤保障服務(wù)合同3篇
- 2025年度農(nóng)村出租房租賃與農(nóng)村電子商務(wù)運(yùn)營(yíng)服務(wù)合同
- 2025年度智慧城市建設(shè)項(xiàng)目合同2篇
- 二零二五年度農(nóng)村集體土地房屋產(chǎn)權(quán)轉(zhuǎn)讓合同下載
- 2024年凈化車(chē)間工程的合同
- 2024年山東省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 122首初中文言古詩(shī)文艾賓浩斯背誦表
- 2024年時(shí)政考點(diǎn)大全(135條)
- 咳嗽的診斷與治療指南(2021版)解讀
- 機(jī)動(dòng)車(chē)駕駛員考試《科目一》試題與參考答案(2024年)
- 2024年四年級(jí)英語(yǔ)上冊(cè) Module 8 Unit 2 Sam is going to ride horse說(shuō)課稿 外研版(三起)
- 高中地理人教版(2019)必修第一冊(cè) 全冊(cè)教案
- 2024年新人教版七年級(jí)上冊(cè)地理課件 第二章 地圖 第二節(jié) 地形圖的判讀
- 2024至2030年中國(guó)汽摩配行業(yè)發(fā)展?fàn)顩r及競(jìng)爭(zhēng)格局分析報(bào)告
- 濰柴天然氣發(fā)動(dòng)機(jī)結(jié)構(gòu)及工作原理
評(píng)論
0/150
提交評(píng)論