




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java期末復(fù)習(xí)題一、判斷題1、在Java程序中發(fā)生異常時(shí),JVM會(huì)找到每個(gè)符合條件的catch都執(zhí)行一次。 ( F )2、在Java程序中異常分為運(yùn)行時(shí)異常和非運(yùn)行時(shí)異常,非運(yùn)行異常必須進(jìn)行處理( F )3、異常處理的try-catch塊后必須有finally塊。 ( F )4、異常處理器的排列次序影響處理異常的方法。( T )5、用catch(Exception exception)語句可以捕獲所有異常和錯(cuò)誤。( F )6、啟動(dòng)多線程必須調(diào)用start()方法,如果調(diào)用run()方法則沒有啟動(dòng)新的線程 ( T )7、run()方法是運(yùn)行線程的主體,若run方法運(yùn)行結(jié)束,線程就消亡了。( T
2、 )8、線程可以用yield()方法使同優(yōu)先級(jí)的線程運(yùn)行。( T )9、一個(gè)線程創(chuàng)建并啟動(dòng)后,它將執(zhí)行自己的run()方法。 ( T )10、線程可以用yield()方法使較低優(yōu)先級(jí)的線程運(yùn)行。( F )11、每個(gè)Java線程的優(yōu)先級(jí)都設(shè)置在常數(shù)112之間,默認(rèn)的優(yōu)先級(jí)設(shè)置為常數(shù)6。(F )12、JFrame,JPanel,JApplet和JButton四種組件都屬于容器組件.( F )13、BorderLayout是面板(JPanel)的缺省布局管理器。( F )14、BorderLayout最多可以使用5個(gè)組件。( T )15、一個(gè)面板(JPanel)不能被加入另一個(gè)面板(JPanel)中
3、。( F )16、菜單需要一個(gè)JMenuBar對象,以使他們能被添加到JFrame。( T )17、標(biāo)簽(JLabel)可以在屏幕上顯示一個(gè)字符或一幅圖片。( T )18、BorderLayout是容器javax.swing.JFrame默認(rèn)的布局管理器。(T )19、JTextArea可以用來接收多行文本的輸入。( T )20、在Java坐標(biāo)系統(tǒng)中,X值從左向右增加。( T )21、BorderLayout布局管理器把組件排列在北、南、東、西和中間區(qū)域。( T )22、邊界布局管理器(BorderLayout)把容器分成5個(gè)區(qū)域,每個(gè)區(qū)域只能放一個(gè)組件。( T )23、一個(gè)組件可以注冊一個(gè)或
4、多個(gè)事件監(jiān)聽器。( T )24、通過類.URL中的成員方法可獲得網(wǎng)絡(luò)資源定位器的相關(guān)信息( T )25、Socket的實(shí)例對象調(diào)用其成員方法getInputStream來獲得該Socket所對應(yīng)的輸入流。( T )26、數(shù)據(jù)報(bào)(DatagramPacket)傳輸是不可靠的,無法保證包按順序到達(dá)。(T )27、當(dāng)Socket連接上面的傳輸結(jié)束后,服務(wù)器執(zhí)行Socket的shutdown方法來關(guān)閉連接。( F )二、選擇題1、下說法中錯(cuò)誤的一項(xiàng)是( A)。A、線程一旦創(chuàng)建,則立即自動(dòng)進(jìn)行B、線程創(chuàng)建后需要調(diào)用start()方法,將線程置于可運(yùn)行狀態(tài)C、調(diào)用線程的start()方法后,線程也不一定能
5、立即執(zhí)行D、線程處于可運(yùn)行狀態(tài),意味著它可以被調(diào)度2、下列說法中不正確的一項(xiàng)是( A )。A、Thread類中沒有義run()方法 B、可通過繼承Thread類來創(chuàng)建線程C、Runnable 接口中定義了run()方法 D、可以通過實(shí)現(xiàn)Runnable接口來創(chuàng)建線程3、下列說法中,正確的一項(xiàng)是( C )A、線程可以不運(yùn)行于程序中 B、一個(gè)程序中只能有一個(gè)線程C、線程必須運(yùn)行于程序中 D、線程本身就是程序4、線程開始運(yùn)行時(shí),是從下列哪一個(gè)方法開始執(zhí)行的( B )A、main() B、start() C、run() D、init()5、Runnable接口中定義的方法是( C )A、start()
6、 B、init() C、run() D、Runnable()6、下列說法中不正確的一項(xiàng)是( B )。A、多線程并發(fā)執(zhí)行時(shí),各個(gè)線程中語句的執(zhí)行順序是確定的B、多線程并發(fā)執(zhí)行時(shí),線程之間的相對執(zhí)行順序是確定的C、線程執(zhí)行順序的不確定性會(huì)導(dǎo)致執(zhí)行結(jié)果的不確定性D、線程執(zhí)行順序的不確定性會(huì)破壞共享數(shù)據(jù)的一致性7、下列是繼承Thread類后得到的子類,請選擇正確的一項(xiàng)。( C )A、class A4 extends Thread B、class A4 implements Thread void run( )public void run() /. /. C、class A4 extends Thre
7、ad D、class A4 extends Thread public void run( ) run( ) / / 8、下面那一個(gè)函數(shù)是線程的入口函數(shù)? ( B )A)private void run()B)public void run()C)public void start()D)public void begin()9、下列方法中可以用來創(chuàng)建一個(gè)新線程的是_C_。A)實(shí)現(xiàn)java.lang.Runnable 接口并重寫 start()方法B)實(shí)現(xiàn)java.lang.Runnable 接口并重寫 run()方法C)繼承java.lang.Thread 類并重寫 run()方法D)實(shí)現(xiàn)j
8、ava.lang.Thread 類并實(shí)現(xiàn) start()方法10、Thread類中能運(yùn)行線程體的方法是 ( D )A)start() B)resume() C)init() D)run()11、在java程序中,下列關(guān)于線程的說法錯(cuò)誤的是( D )A、線程啟動(dòng)調(diào)用start方
9、法B、線程的主體是run方法C、線程運(yùn)行中調(diào)用sleep方法可以進(jìn)入阻塞狀態(tài)D、在java中,優(yōu)先級(jí)的數(shù)值為1的線程可以搶占優(yōu)先級(jí)為5的線程的資源12、若編譯和運(yùn)行下列代碼,出現(xiàn)的結(jié)果將是 ( A )public class MyAdd extends Thread static int total = 10; int n; public MyAdd(int n) this.n=n; public void run() try sleep(n); total=total+n; System.out.println(total);catch(Exception e)
10、System.out.println(“EXCEPTION!”); public static void main(String args) MyAdd t1 = new MyAdd(3000); MyAdd t2 = new MyAdd(1000); t1.start(); t2.start(); A、1010, 4010 B、3010, 4010C、1010, 3010 D、3010, 101013、若編譯和運(yùn)行下列代碼,出現(xiàn)的結(jié)果將是_
11、D_public class MyThread implements Runnable String myString = "Yes " public void run() this.myString = "No " public static void main(String args) MyThread t = new MyThread(); new Thread(t).start(); for (
12、int i=0; i < 10; i+) System.out.print(t.myString); A、打印 yes yes yes yes yes yesyes yes yes yesB、打印 no no no no no no no no nonoC、打印 yes no yes no yes no yes no yes no D、打印結(jié)果無法確定14、下面關(guān)于Java中線程的說法不正確的是( C )?A)調(diào)用join()方法可能拋出異常InterruptedException。B)sleep()方法是Thread類的靜態(tài)方法。C
13、)調(diào)用Thread類的sleep()方法可終止一個(gè)線程對象。D)線程啟動(dòng)后執(zhí)行的代碼放在其run方法中。15、下列關(guān)于try和catch子句的描述中,錯(cuò)誤的一項(xiàng)是( A )。A、不同的catch代碼段是不同的作用域,但是可以訪問相互之間定義的局部變量B、如果沒有異常產(chǎn)生,則所有的catch代碼段都被略過不執(zhí)行C、try代碼段后跟有一個(gè)或多個(gè)catch代碼段D、異常總是由距離產(chǎn)生異常最近的匹配catch代碼段處理16、下列關(guān)于拋出異常的描述中,錯(cuò)誤的一項(xiàng)是( C )。A、異??梢杂蓆ry代碼段中的語句拋出B、異常可以從被try代碼段中調(diào)用的方法中拋出C、異常的拋出并不影響代碼段的執(zhí)行順序D、異常
14、還可能產(chǎn)生于數(shù)組下標(biāo)越界及Java虛擬機(jī)內(nèi)部的錯(cuò)誤等17、下列描述中,正確的一項(xiàng)是( D )。A、異常機(jī)制可以用于流程控制B、finally代碼段在發(fā)生異常時(shí)不一定必須執(zhí)行C、在catch代碼段中可以使用return語句來返回到異常拋出點(diǎn)D、可以把catch到的異常對象再次拋出,使上層trycatch結(jié)構(gòu)繼續(xù)處理該異常事件18、下列描述中,哪一項(xiàng)不屬于finally語句應(yīng)該執(zhí)行的功能( C )A、釋放資源 B、關(guān)閉文件 C、分配資源D、關(guān)閉數(shù)據(jù)庫19、如果一個(gè)程序段中有多個(gè)catch,則程序會(huì)按如下哪種情況執(zhí)行? ( C )A、找到合適的異常類型后繼續(xù)執(zhí)行后面的catchB、找到每個(gè)符合條件的
15、catch都執(zhí)行一次C、找到合適的異常類型后就不再執(zhí)行后面的catchD、對每個(gè)catch都執(zhí)行一次20、對于異常處理語句trycatch,下面那句話不正確? ( A )A、一個(gè)符合條件的catch的處理語句中沒有break語句,則執(zhí)行后會(huì)繼續(xù)執(zhí)行后續(xù)catchB、不管有沒有捕獲異常,finally部分都會(huì)被執(zhí)行C、找到合適的異常類型后就不再執(zhí)行后面的catchD、應(yīng)該先處理子異常類,再處理父異常類。21、下列哪種操作不會(huì)拋出異常?( B )A) 浮點(diǎn)數(shù)除0 B) 浮點(diǎn)數(shù)乘0C) 打開不存在的文件 D) 用負(fù)數(shù)索引訪問數(shù)組22、程序員將可能發(fā)生異常的代碼放在( )塊中,后面緊跟著一個(gè)或多個(gè)(
16、)塊。( B )A、catch、tryB、try、catchC、try、exceptionD、exception、try23、異常包含下列那些內(nèi)容?( C )A)程序中的語法錯(cuò)誤B)程序的編譯錯(cuò)誤C)程序執(zhí)行過程中遇到的事先沒有預(yù)料到的情況D)程序事先定義好的可能出現(xiàn)的意外情況24、有下列程序class TestExceptionclass MyException extends Exception public void testMethod() throws MyExceptionpublic void test() testMethod();在public void test()后加上哪
17、一句可以使編譯不出錯(cuò)。( B )A、throw MyExceptionB、throws MyExceptionC、throw new MyException()D、throws new MyException()25、設(shè)有以下程序段class TestExceptionpublic static void main(String args) tryreturn;finallySystem.out.println("finally");程序編譯并執(zhí)行,其結(jié)果將是( B )A、程序執(zhí)行,但沒有任何輸出B、程序輸出finallyC、程序編譯時(shí)出錯(cuò),提示缺少catchD、程序編譯時(shí)
18、出錯(cuò),提示finally語句無法訪問到。26、用文件字節(jié)輸出流對文件進(jìn)行寫操作時(shí),需要先創(chuàng)建文件輸出流對象,文件輸出數(shù)據(jù)流的構(gòu)造方法是 public FileOutputStream(String name,Boolean append) throws FileNotFoundException,當(dāng)參數(shù)append的值為true時(shí),表示( B )A、創(chuàng)建一個(gè)新文件B、在原文件的尾部添加數(shù)據(jù)C、覆蓋原文件的內(nèi)容D、在原文件的指定位置添加數(shù)據(jù)27、編譯和運(yùn)行下面的應(yīng)用程序,并在命令行界面輸入12345,則回車后屏幕輸出的結(jié)果是( A )。public class A public static v
19、oid main(String args) throws IOException BufferedReader buf=new BufferedReader( new InputStreamReader(System.in); String str=buf.readLine(); int x=Integer.parseInt(str); System.out.println(x%1000); A) 345 B)5 C) 123 D) 12345 28、下列說法中,錯(cuò)誤的一項(xiàng)是( B )。A、Java系統(tǒng)的標(biāo)準(zhǔn)輸入對象是System.in B、打開一個(gè)文件時(shí)不可能產(chǎn)生IOExceptionC、使
20、用File對象可以判斷一個(gè)文件是否存在 D、使用File對象可以判斷一個(gè)目錄是否存在29、下面的程序段的功能是( A )。File file1=new File("e:xxxyyy");file1.mkdir();A)在當(dāng)前目錄下生成子目錄:xxxyyy B)生成目錄:e:xxxyyy C)在當(dāng)前目錄下生成文件xxx.yyy D)以上說法都不對30、 下列敘述中,錯(cuò)誤的是( B )A)File類能夠存儲(chǔ)文件 B)File類能夠讀寫文件 C)File類能夠建立文件 D)File類能夠獲取文件目錄信息 31、下列哪個(gè)是JAVA程序和數(shù)據(jù)
21、庫連接的一種機(jī)制 ( B )A) URL B) JDBC C) SOCKET D) RMI32、關(guān)于JDBC訪問數(shù)據(jù)庫的說法錯(cuò)誤的是: ( D )A) 建立數(shù)據(jù)庫連接時(shí),必須加載驅(qū)動(dòng)程序,可采用Class.forName()實(shí)現(xiàn)B) 用于建立與某個(gè)數(shù)據(jù)源的連接可采用DriverManager類的getConnection方法C) 建立數(shù)據(jù)庫連接時(shí),必須要進(jìn)行異常處理D) JDBC中查詢語句的執(zhí)行方法必須采用Statement類實(shí)現(xiàn)33、定義Java.Applet程序時(shí),必須有的import語句是( C )。A、import java.awt.event; B、import java.util.
22、 * ;C、import java.applet.Applet; D、import java.1ang.* ;34、以下哪個(gè)方法不屬于Applet小程序生命周期中的方法?( B )A、initB、mainC、destroyD、stop35、下列說法中,錯(cuò)誤的一項(xiàng)是( C )。A、使用FlowLayout在容器中放置組件的策略是:從上到下、從左到右B、使用FlowLayout進(jìn)行布局管理時(shí),組件的大小采用的是其最佳尺寸C、使用FlowLayout進(jìn)行布局管理時(shí),不能調(diào)節(jié)組件之間的距離D、用FlowLayout管理的組件隨容器大小變化的變化規(guī)律是:組件大小不變,組件之間的相對位置改變36、在類中若
23、要處理ActionEvent事件,則該類需要實(shí)現(xiàn)的接口是 ( A )。A、ActionListener B、Runnable C、Serializable D、Event37、下列說法中,錯(cuò)誤的一項(xiàng)是( C )。A、內(nèi)部類是被定義于另一個(gè)類中的類B、使用內(nèi)部類實(shí)現(xiàn)監(jiān)聽器,在編程時(shí)比較容易實(shí)現(xiàn)C、內(nèi)部類對象可以訪問外部類的成員方法和變量,包括私有成員D、由于內(nèi)部類定義于另一個(gè)類,因此不適用于AWT的事件處理機(jī)制38、選擇正確的語句填入下列程序的橫線處。( C )import javax.swing.*;public class ex28 public static void main(Strin
24、gargs) JFrame f=new JFrame(“ex28”);JMenuBar mb=new JMenuBar( ); _JMenu ml=new JMenu(“menul”);JMenu m2=new JMenu(“menu2”);mb.add(m1); mb.add(m2);f.setSize(300,100); f.setVisible(true); A、setMenuBar(mB);B、mb.setMenuBar( );C、f.setMenuBar(mB);D、mb.setMenuBar(f);39、下列說法哪個(gè)是不正確的?( B )A、一個(gè)組件可以注冊多個(gè)事件監(jiān)聽器B、一個(gè)監(jiān)
25、聽器只能監(jiān)聽一個(gè)組件C、一個(gè)組件可以引發(fā)多種事件D、一個(gè)監(jiān)聽器可以監(jiān)聽處理多種事件40、下面說法錯(cuò)誤的是( D )A)單擊CheckBox (復(fù)選框)產(chǎn)生ItemEvent事件,并由ItemListener處理。B) 處理JButton和JTextField事件監(jiān)聽器接口都是ActionListener。C)一個(gè)面板(JPanel) 可以加入到另一個(gè)面板(JPanel)中。D)在BorderLayout中,添加到NORTH區(qū)的兩個(gè)按鈕將并排顯示。41、下面說法錯(cuò)誤的是:( C )A)單擊JCheckBox (復(fù)選框)產(chǎn)生ItemEvent事件,并由ItemListener處理。B)
26、處理JButton和JTextField事件監(jiān)聽器接口都是ActionListener。C) 處理鼠標(biāo)事件的事件監(jiān)聽器接口只有MouseListener。D) 在JTextField和JPasswordField中輸入數(shù)據(jù)后按Enter鍵會(huì)激發(fā)一個(gè)事件。42、下列說法哪個(gè)是不正確的?( B )A)一個(gè)面板(Jpanel) 能被加入到另一個(gè)面板(Jpanel)中B)一個(gè)監(jiān)聽器只能監(jiān)聽一個(gè)組件C)Frame,Panel,Applet都屬于容器組件。D)Button和TextField都可用ActionListener接口實(shí)現(xiàn)事件處理43、常規(guī)菜單是由()、()和菜單項(xiàng)組成。( D )A.
27、JMenuItem、JCheckBoxMenuItemB.JButton、JRadioButtonC.JPopupMenu、JMenuItemD.JMenuBar、JMenu44、下列哪一個(gè)方法是自動(dòng)調(diào)整窗口的大小 ( C )A、setSize()B、setDefaultClose()C、pack()D、setVisible()45、下列哪個(gè)布局管理器使容器中各個(gè)構(gòu)件呈網(wǎng)格布局,并且平均占據(jù)容器的空間?( A )GridLayoutCardLayoutBorderLayoutFlowLayout46、在AWT組建中用復(fù)選框組構(gòu)件CheckboxGroup實(shí)現(xiàn)單選框的功能,但在Swing中,JA
28、VA語言直接提供了一個(gè)單選框,它是( C )A) JButton B) JComboBox C) JRadioButton D) JCheckBox47、下列敘述中,不符合JAVA語言特點(diǎn)的選項(xiàng)是( C )A、可移植性和跨平臺(tái)的特點(diǎn)B、多線程的并發(fā)機(jī)制C、編譯器將JAVA源程序轉(zhuǎn)換成機(jī)器碼D、Applet是JAVA的特殊應(yīng)用程序,它嵌入到HTML中,隨主頁發(fā)布到互聯(lián)網(wǎng)上48、 JPanel和Applet的默認(rèn)布局管理器是( B )A)CardLayout B)FlowLayout C)BorderLayout D)GridLayout 49下列語句錯(cuò)誤的
29、是:( D )A、ServerSocket svrsocnew ServerSocket(8000);B、URL urlBase=new URL(“http:/www. ;C、File inFile = new File(“C:/ test.txt”); D、BufferedReader br = new BufferedReader(“C:/ test.txt”); 三、程序填空題1、通過TCP協(xié)議方式,定義一個(gè)服務(wù)器端,端口為5000,要求可以同時(shí)連接多個(gè)客戶端,并且每個(gè)客戶端在休眠10秒鐘之后退出連接;將下面的程序補(bǔ)齊:.*;importjava.io.*;public class Se
30、rverExample implements (1)_Runnable_private Socket m_socket;private int m_id; public (2)_ServerExample_(Socket s, int id) m_socket= s; m_id= id; public void (3)_run()_try (4)_Thread_. sleep(10000);System.out.println("Socket"+m_id+" is closing.");m_socket.close(); catch (Exception
31、 e) public static void main(String args)int n= 1;_(5)_ServerSocket server= null;tryserver= new (6)_ServerSocket _(5000);System.out.println( "Server start." ); catch (IOException e)while (true)trySystem.out.println("Wait NO. "+n+" connection." );(7)_Socket_ s= server.acc
32、ept( );ServerExample t=new ServerExample(s, n+);(8)_Thread_ th =new Thread(t);(9)_th _.start( ); catch (IOException e) / End of loop: while / End of method: main2、下面是一個(gè)支持多個(gè)客戶端交互的程序,請根據(jù)注釋要求補(bǔ)充、完成代碼:importjava.io.*;(1)_.*;_ /加載網(wǎng)絡(luò)API包public class ServerThread extends Thread Socket socket=null; int clien
33、tnum; publicServerThread(Socket socket,int num) this.socket=socket;clientnum=num+1; public void run() try String line;InputStream in=(2)socket.getInputStream(); /得到socket的輸入流BufferedReader is=new BufferedReader(new InputStreamReader(in);PrintWriter os=new PrintWriter(socket.getOutputStream(); /由系統(tǒng)標(biāo)準(zhǔn)
34、輸入設(shè)備構(gòu)造BufferedReader對象BufferedReader sin=new BufferedReader(newInputStreamReader(System.in);System.out.println("Client-"+ clientnum +":" +is.readLine();line=sin.readLine(); while(!line.equals("bye") os.println(line); /刷新輸出流,使Client馬上收到該字符串(4)os.flush();System.out.printl
35、n("Server:"+line); System.out.println("Client-"+ clientnum +":" +is.readLine();line=sin.readLine(); os.close();/關(guān)閉Socket輸出流is.close(); /關(guān)閉Socket輸入流socket.close(); /關(guān)閉Socket對象catch(Exception e)System.out.println("Error:"+e.toString(); 3、定義類ThdTest,其父類為Thread類;并
36、在主方法中創(chuàng)建一個(gè)ThdTest的對象,同時(shí)啟動(dòng)該線程對象。/聲明類ThdTest,其父類為Thread類(1)class ThdTest extends Threadpublic void run()for(int i = 0; i < 10; i+)(2)_System.out.println(Thread.currentThread().getName()+i);_/輸出當(dāng)前線程的名字和i的值try(3)_Thread.sleep(100);_/讓當(dāng)前線程休眠100mscatch(Exception e) e.printStackTrace ();public class Demo
37、public static void main(String args)(4)ThdTest t=new ThdTest_;_/創(chuàng)建一個(gè)ThdTest的對象(5)_t.start();_/啟動(dòng)線程對象,使其進(jìn)入就緒狀態(tài)4、下面的程序利用線程輸出從a到z的26個(gè)字母,每隔一秒鐘輸出一個(gè)字母,程序不完整,請閱讀程序代碼,根據(jù)注釋要求在劃線處補(bǔ)充完成代碼。public class Test4 implements RunnablecharcharArray=new char26;public Test4() for(int i = 0; i<charArray.length; i+) char
38、Arrayi=(char)(i+'a'); public void run() tryfor (int i = 0; i <charArray.length; i+) (1)_Thread.sleep(1000);_/休眠一秒鐘System.out.print(charArrayi); catch (InterruptedException e) e.printStackTrace(); public static void main(String args) Thread t = _(2)new Thread(new Test4();_/實(shí)例化線程對象(3)_t.sta
39、rt();_/啟動(dòng)線程 5、定義類ThdDemo,實(shí)現(xiàn)接口Runnable;并在主方法中創(chuàng)建一個(gè)ThdDemo的對象td,然后使用對象td創(chuàng)建一個(gè)線程對象,同時(shí)啟動(dòng)該線程對象。/聲明類ThdDemo,實(shí)現(xiàn)接口Runnable(1)_class TheDemo implements Runnable_class ThdDemo implements Runnablepublic void run()for(int i = 0; i < 10; i+) /輸出當(dāng)前線程的名字和i的值System.out.println(Thread.currentThread().getName() + “:
40、” + i);try(2)_Thread.sleep(100);_/讓當(dāng)前線程休眠100mscatch(Exception e) e.printStackTrace ();public class Demopublic static void main(String args)_(3)_ThdDemo td=new ThdDemo();_/創(chuàng)建一個(gè)ThdDemo的對象td_(4)_Thread t=new Thread(td);_/使用td創(chuàng)建線程對象_(5)_t.start();_/啟動(dòng)線程對象,使其進(jìn)入就緒狀態(tài)6、制作一個(gè)Applet小應(yīng)用程序,設(shè)置其布局為BorderLayout,定義一
41、個(gè)按鈕和多行文本框并分別放到 “North”區(qū)域和“Center”區(qū)域。創(chuàng)建網(wǎng)頁文件運(yùn)行這個(gè)Applet程序。importjava.applet.*;importjavax.swing.*;(1)class AppletDemo extends_Applet implements ActionListener/聲明AppletDemo類,其父類為Applet,并實(shí)現(xiàn)接口ActionListenerJbutton btn;JTextArea txt;public void init()(2) setLayout(new BorderLayout();/設(shè)置其布局為BorderLayoutbtn
42、= new JButton(“Show Msg”);txt = new JTextArea(3, 20);_add(btn,”North”);_ /把按鈕btn放到“North”區(qū)域,txt放到“Center”區(qū)域(3)_add(txt,”Center”);_ _(4)_btn.addActionListener(this);_/給按鈕注冊監(jiān)聽器 public void actionPerformed(ActionEvent e)txt.append(btn.getText();網(wǎng)頁文件為:<BODY><applet code="_(5)AppletDemo.cla
43、ss"width="300" height="200"></applet></BODY>7、編寫程序?qū)崿F(xiàn)窗口,包含一個(gè)標(biāo)簽、一個(gè)文本框和一個(gè)按鈕,當(dāng)用戶單擊按鈕時(shí),程序把文本框中的內(nèi)容提制到標(biāo)簽中。(使用AWT)(1)import java.awt.*;/引入相關(guān)包publicMyFramepublicMyFrame() Frame fr = new Frame();/設(shè)置窗體的布局為FlowLayout(2) fr.addLayout(new FlowLayout(); Label lbl = new Label
44、(“Init info”);TextField txt = new TextField(30);Button btn = new Button(“Sure”);fr.add(lbl);fr.add(txt);fr.add(btn);/給按鈕注冊監(jiān)聽器(3)Btn.addActionListner(new Monitor();/使用窗體可見,并設(shè)置大小 (3)fr.setSize(400,400);fr.setVisible(true); /定義內(nèi)部類監(jiān)聽ActionEvent事件(4)class Monitor implements ActionEventpublic void a
45、ctionPerformed(ActionEvent e)lbl.setText(txt.getText(););public static void main(String args)newMyFrame();8、設(shè)計(jì)程序?qū)崿F(xiàn)帶菜單的窗口,包含“File”和“Edit”二個(gè)菜單,在“File”下又包含“New”, “Open”, “Exit”三個(gè)菜單項(xiàng),選擇“Exit”項(xiàng)時(shí)退出應(yīng)用程序。(提示:涉及到的類有MenuBar, Menu, MenuItem)importjava.awt.*;importjava.awt.event.*;public class MenuTest /定義各菜單項(xiàng)M
46、enuItem newItem = new MenuItem(“New”);MenuItem openItem = new MenuItem(“Open”);MenuItem exitItem = new MenuItem(“Exit”);public MenuTest() Frame fr = new Frame(); /定義菜單 Menu fileMenu = new Menu(“File”); Menu editMenu = new Menu(“Edit”);/往File菜單中添加菜單項(xiàng)newItem, openItem, exitItem (1)_fileMenu.add(newIte
47、m); fileMenu.add(openItem); fileMenu.add(exitItem);/定義菜單條,并添加菜單fileMenu, editMenu (2)_MenuBar bar=new MenuBar(); bar.add(fileMenu); bar.add(editMenu); /給窗口添加菜單條fr.setMenuBar(bar);/給exitItem注冊事件(3)_exitItem.addActionListener(newMenuHandler();_/設(shè)置窗口的可見性fr.setSize(200,200);/fr.setVisible(true);/定義內(nèi)部類處理
48、菜單事件class MenuHandler implements ActionListenerpublic void actionPerformed(ActionEvent e)/如果用戶點(diǎn)擊了exit菜單項(xiàng)則退出程序(4)_if(e.getSource()=exitItem)_System.exit(0);/定義main方法(5) public static void main(String args) new MenuTest();_9、寫程序?qū)崿F(xiàn)包括一個(gè)復(fù)選框的窗體,并處理用戶選取事件。importjava.awt.*;importjava.awt.event.*;(1) _class
49、MyCheck extends _Frame_/類聲明,類名為MyCheck,繼承自Frame類 /類體public MyCheck() (2)_Panel p=new Panel(); p.setLayout(new FlowLayout();_ /創(chuàng)建Panel的一個(gè)實(shí)例,并設(shè)置其布局為FlowLayout Checkbox cbx = new Checkbox(“isPassed”); (3)_p.add(cbx);_ _cbx.addActionListener(new Mt();_/向面板中加入組件cbx,并為組件注冊監(jiān)聽器add(p); (4)_setVisible(true);_
50、setSize(400,400);_ /把窗體設(shè)為可見,并設(shè)置大小public static void main(String args)newMyCheck();/定義內(nèi)部類實(shí)現(xiàn)監(jiān)聽,相應(yīng)的監(jiān)聽接口為ItemListener(5) _class Mt implements ItemListener_/內(nèi)部類的聲明public void itemStateChanged(ItemEvent e)System.out.println(e);10、制作一個(gè)窗體,包括一個(gè)帶圖標(biāo)的按鈕(JButton類對象),并設(shè)置邊框,當(dāng)用戶點(diǎn)擊按鈕時(shí),彈出一個(gè)確認(rèn)對話框。importjavax.swing.*;i
51、mportjavax.swing.border.*;importjava.awt.*;class ViewDemoJFrame fr;public ViewDemo() /用ImageIcon類包裝一張圖片(java.gif),/該圖片在當(dāng)前目錄的img子目錄下 (1)ImageIcon ii=new ImageIcon(“java.gif”);/創(chuàng)建一個(gè)帶有圖標(biāo)的按鈕btn(2) JButton btn =new JButton(ii);/*使用線形邊框類的構(gòu)造方法LineBorder(Color c, int n),*創(chuàng)建一個(gè)邊框?qū)ο骲d,其中c為邊框的顏色,n為邊框的粗細(xì)。*/(3)_LineBorder bd =new
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國消毒耗材行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國海藻酸鋰行業(yè)市場現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030中國海水淡化器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國浴室扶手行業(yè)市場現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030中國洪水保險(xiǎn)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國潔面皂行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國油性涂料行業(yè)市場現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025年度4月份離婚后量子計(jì)算云服務(wù)權(quán)限協(xié)議
- 理解系統(tǒng)架構(gòu)設(shè)計(jì)師考試的行業(yè)協(xié)作與合作模式試題及答案
- 2025-2030中國沙拉自動(dòng)販賣機(jī)行業(yè)市場現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 小學(xué)食品安全會(huì)議記錄(全面完整版)
- 變電站間間隔施工方案
- 倫理學(xué)考試題庫及答案
- GB/T 32963-2016鋅鋁合金鍍層鋼絲纜索
- 《路德維希 費(fèi)爾巴哈和德國古典哲學(xué)的終結(jié)》
- 北醫(yī)安全法規(guī)考試題
- 中國地理的區(qū)域差異
- 安全生產(chǎn)教育培訓(xùn)制度管理辦法
- SJG 114-2022 建筑信息模型數(shù)據(jù)存儲(chǔ)標(biāo)準(zhǔn)
- 抽油井檢泵作業(yè)課件
- 2022年06月2022年廣東肇慶廣寧縣司法局招考聘用政府雇員名師點(diǎn)撥卷V答案詳解版(3套版)
評(píng)論
0/150
提交評(píng)論