Java語言程序設計考試題庫及答案(三)_第1頁
Java語言程序設計考試題庫及答案(三)_第2頁
Java語言程序設計考試題庫及答案(三)_第3頁
Java語言程序設計考試題庫及答案(三)_第4頁
Java語言程序設計考試題庫及答案(三)_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、以下文件名后綴中,只有(C)不是靜態網頁的后綴。A、.htmlB、.htmC.JSPD、.shtml2、以下文件名后綴中,只有(B)不是動態網頁的后綴。A、.jspB、.htmlC、.aspxD、php)屬性是可以在頁面中重復的屬性。在page指令中(3、C)屬性是可以在頁面中重復的屬性。在page指令中(3、C一、選擇題A、break語句A、break語句B、while語句C、if語句D、forA、languageB、bufferC、importD、autoflush4、JSP的結構由(B)組成(多選)。A、指令B、注釋C、腳本元素D、操作5、以下選項中,那一項不是JSP指令(B)。A、pageB、importC、includeD、taglib6、下面哪種數據類型是基本類型(D)。A、classB、interfaceC、數組D、char7、下面哪種數據類型是引用類型(C)。A、booleanB、intC、interfaceD、long8、下面哪一個運算符具有3個操作數(D)。A、*B、++C、&&D、?:9、下面那個運算符只有一個操作數(A)。A、~B、||C、<<D、/,10、下面那個語句是條件語句(C)。語句11、類中的成員默認的訪問修飾符是(A)。A、privateA、privateB、protectedC、publicD、空(B(B)表示響應信息是HTMLB.text/htmlD.D)getservletContext()addCookie(Cookiecook)B)B、getServerInfo()D、getServerPort()12、常量使用(C)進行修飾D、staticA、privateB、abstractC、final13、包含Servlet發回到客戶端信息的ServletResponse對象是由D、static(C)創建的。客戶端的瀏覽器Web服務器的HTTP引擎Web服務器的Servlet容器Servlet對象14、對于標準的Web網頁,通常使用格式的文本文件。:ext/cssC.application/vnd.ms-excelapplication/msword15、下面哪個方法不屬于sessioi對象(A、getAttributeNames()B、C、invalidate()D、16、下面哪個方法不屬于request對象(A、getServerName()C、getServletPath()17、能夠獲取當前頁信息并調用頁面方法的對象是(B)A、requestB、pageD、session18、以下操作中,(A)是與使用B、pageD、session18、以下操作中,(A)是與使用JavaBean無關的。A、jsp:includeB、jsp:useBeanC、jsp:setPropertyD、jsp:getProperty19、下面哪個不是jsp:setProper掾作的屬性(D)。A、nameBA、nameB、paramC、propertyD、scope20、以下方法中,哪一個方法不是HTTPServlet^的方法(B)。A、doGetA、doGetB、doServiceC、doPostD、doDelete21、以下類中,哪一個類不是javax.servl和tjavax.servlet.h包七中提供的類或接(B)。A、ServletB、BaseServletA、ServletC、GenericServletD、HTTPServlet22、與C、GenericServletD、HTTPServlet22、與JSP同類型的技術有)。A.CGIB.C/C++C.ASPD.C#23、下面(D)不是JDK的開發包。A.JavaSEB.JavaMEC.JavaEED.JavaBean24、Tomcat的默認端是(BA.JavaSEB.JavaMEC.JavaEED.JavaBean24、Tomcat的默認端是(B)。A.71B.8080C.80D.11225、下面不是JSP本身以加載的基本類的是(AB.java.io.*java.lang.*B.java.io.*javax.servlet.*D.javax.servlet.jsp*26、對于預定義<%!預定義%>的說法錯誤的是(C)。—次可以聲明多個變量和方法,只要以分毫(;)結尾就行—個聲明僅在一個頁面中有效聲明的變量將作為局部變量在預定義中聲明的變量將在JSP頁面初始化時初始化27、在JSP中使用<jsp:getPropert標記時,不會出現的屬性是(C)。nameB.propertyC.valueD.以上皆不會出現28、page指令用于定義JSP文件中的全局屬性,下列關于該指令用法的描述不正確的是(D)。<%@page%>作用于整個JSP頁面可以再一個頁面中使用多個<%如age%>指令為增強程序的可讀性,建議將<%如age%>指令放在JSP文件的開頭,但不是必須的<%如age%>指令中的屬性只能出現一次29、不能再不同用戶之間共享數據的方法是(A)。A.通過CookieB.利用文件系統C.利用數據庫D.通過ServletContex對象30、在JSP中調用JavaBean時不會用到的標記是(A)。A.<JavaBean>B.<jsp:usebean>C.<jsp:setproperty>D.<jsp:getproperty>31、下列屬于JSP中注釋的有(AD)多項選擇)A.<%--與--%>B./C./**與**/D.<!--與-->32、page對象屬于(C類對象。入.輸入輸出B.作用域通信對象C.ServletD.錯誤33、下列不是JSP作用域的通信對象的有(D)。A.sessionB.applicationC.pageContextD.out34、下列可以解決在JSP中的中文問題的方法有(ACDE)。侈項選擇)。A.在頁面設置charsetB.系統自動設置利用過濾器對所有的請求進行轉碼對request和response進行轉碼設置在頁面設置pageEncoding35、下面(D)不是core標記庫的條件處理標記。A<c:choose>B.<c:when>C.<c:otherwise>D.<c:catch>36、下面(D)不是<fmt:setBundle標記所有具有的屬性。A.basenameB.varC.scopeD.bundle37、下面(B)標記是用來設置時區的。A.<fmt:setLocale>B.<fmt:setTimeZone>C.<fmt:formatData>D.<fmt:parseData>C.<fmt:formatData>D.<fmt:parseData>38、下列選項中,(C)是正確的并且客戶端不能查看到的JSP注釋。A.<--注釋-->B.<!-注釋-->C.<%--注釋--%>D.<%!—注釋--%>39、JSP網頁文件的拓展名是(A)A、.jspB、.aspC、.aspxD、php40、javax.servlet.tagext.J接H的兩個子接分別是(AB)。A.SimpleTagB.TagC.HardTagD.DiffTag41、下面(A)是Tag接開發自定義標記程序3個步驟第1步。A.開發標記處理類B.編寫標記描述符C.在web.xml中指定標記庫的引用D.在頁面引用該Tag42、下面(D)不是TLD文件中的內容。標準的XML聲明和一個DOCTYPE聲明<taglib元素Ulib-versiOn!'<jsp:include><jsp-versi(元素43、<tag>元素不包含下面(D)屬性。<name>B.<tag-class>C.<body-content>D.<info>44、<jsp:setPropert中>^^property="*代表(A)。入.所有請求參數的所有值使用request中的一個參數值來指定JavaBean中的一個屬性值表示使用指定的值來設定JavaBean屬性值可以是字符串45、Servle程序的入點是(A)。A.init()B.main()C.service()D.doGet()46、Cookie.setMaxAge(60*6的作用是(B)。將Cookie的保存時間設置為一分鐘將Cookie的保存時間設置為一個小時將Cookie的保存時間設置為60個小時將Cookie的保存時間設置為一天47、下面(A)是重寫的URL。A.重寫超鏈接B.Form表單的Action屬性C.From的隱藏域保存用戶狀態信息D.使用Cookie48、下面(A)不是Cookie的屬性讀取方法。A.getHostName()B.getComment()C.getMaxAge()D.getPath()49、下面選項中,(B)不是MVC模式的優勢。MVC模式使應用程序的結構更加清晰,通過將代碼按照層次劃分為業務邏輯、數據層、用戶界面和應用流程控制這三個層次,能夠增強代碼的穩定性MVC模式實現了很好的分布式組件架構對于項目開發而言,MVC三層的分離有利于在項目小組內按照小組成員各自的擅長進行分工,有利于三個部分并行開發、加快項目進度MVC模塊功能的劃分有利于在代碼修改過程中進行模塊的隔離,而不需要把具有不同功能的代碼混雜在一起造成混亂50、對于標準的Web網頁,通常使用(B)表示響應信息是HTML格式的文本文件。A.text/cssB.text/htmlC.application/vnd.ms-excelD.application/msword51、JAVAWeb應用的部署描述文件總是放在Web應用的(C)目錄下。A.META-INFB.META-CFGC.WEB-INFD.WEB-CFG52、有關C/S、B/S結構下列說法錯誤的是(D)。在C/S結構,即客戶端/服務器結構中,有專門的數據庫服務器,但客戶端還要運行客戶端應用程序,這也叫做胖客戶端。在B/S結構中,客戶端在瀏覽器中只負責表示層邏輯的實現,業務邏輯和數據庫都在服務器端運行。也就是說,應用程序部署在服務器端,客戶端通過瀏覽器訪問應用程序。通常B/S結構中,客戶端發送HTTP請求消息傳給服務器,服務器將請求傳遞給Web應用程序,Web應用程序處理請求,并把相應的HTML頁面傳給客戶端。Web應用是基于C/S結構的,也就是客戶端/服務器結構。53、JSPEL表達式的語法為(C)。!JSPexpressionB.@{JSPexpression}C.${JSPexpression}D.#{JSPexpression}54、關于在Web應用中于一個Servlet關聯的過濾器數量,正確的說法是(A)。A-可以為一個Servlet部署多個過濾器類每個Servlet必須至少有一個過濾器類每一個過濾器類必須部署到至少一個Servlet。.以上說法都不正確55、pageContext的范圍是(D)。A.contextB.sessionC.applicationpage56、下面(C)不是重寫的URL。A.重寫超鏈接B.Form表單的Action屬性C.使用CookieD.From的隱藏域保存用戶狀態信息57、下面(D)不是config的方法。getInitParameter()getInitParameters()getServletName()D.getHostName()58、下面(C)不是Servlet的技術特點。A.防崩潰B.跨平臺C.多次請求D.跨服務器59、下面(D)不是簡單的自定義標記的元素構成。A.JavaBeansB.JSP頁面上的標記庫聲明C.標記處理D.config.xml60、EL表達式中的“.”運算起(B)作用。A.動態取值B.訪問JavaBean對象的屬性C.檢索數組D.檢索集合的元素二、填空題1、JSP使用Java語言實現動態顯示。2、在JSP中,對象的作用域有page、request、sessio和applicati3、JSP的注釋類型有<!--和—<%----%>4、JSP指令控制對整個頁面的處理,目前有page、include和taglib-三種。5、JSP頁面由--HTML代碼和嵌入其中的Java代碼所組成。6、JSP技術就是--JavaE技術中的一個組成部分。7、Tomcat是JSP運行的--引擎。8、MyEclipse是--可視化的開發工具。9、JSP頁面是由傳統的頁面HTML文件中加入--Java腳本片斷--和-JSP標記_所構成的。10、在JSP頁面中,除了普通的HTML代碼,還有以下3種:―腳本元素一一、一一指令一一和一一動作一一重要的組成部分。11、JSP指令(在―<%@―和__%>__之間)用來設置和整個JSP頁面相關的屬性。12、在JSP文件中,可以在<%和%>標記間直接嵌入任何有效的—Java語言代碼一一。13、JSP引擎管理JSP頁面生命周期的兩個階段:_轉換和___執行。14、在JSP頁面中可以聲明變量和方法,但是僅在一當前頁面____內有效。15、___JSP指令用來設置整個JSP頁面相關的屬性。16、JSP頁面可以通過—include指令來包含其他文件。17、jsp:forwar動作用于從一個JSP文件向另一個文件傳遞一個包含用戶請求的__request對象。18、Jsp:attribute動作主要有name和trim兩個屬性。19、request對象包含所有——請求———的信息,如___請求的來源、標頭、Cookies和____請求相關的參數值等。20、pageContext對象可以獲取當前頁面的其他__JSP隱含對象21、__exception對象可以輸出錯誤信息。22、<c:otherwise>標記等價于__else語句。23、__<c:forEach>標記和<c:forTokens>標記的作用是循環控制。24、<x:out>標記是通過__XPath技術(定位XML元素的一種技術)來實現的。25、_fn:endsWith函數用來判斷源字符串是否符合一連串特定詞尾。26、fn:toLowerCase函數允許將源字符串中的字符全部轉換成一——小寫一―字符。27、JavaBean是描述(Java)的___軟件組件模型。28、JavaBean通過__java編譯器可以得到正確的執行。29、JavaBean類似于Microsoft的COM組件。30、JavaBean類必須有一個___沒有參數的構造函數。31、__<jsp:setProperty>和__<jsp:getProperty>標記用來訪問JavaBean的屬性值。32、Servle是運行在服務器端的Java應用程序。33、Servle的生命周期分為3個時期:--裝載Servlet--、__創建實例-和-銷毀實例。34、ServletRequest接定義一個Servlet引擎產生的對象,通過這個對象Servlet可以獲得客戶端請求的數據。35、Cookie能夠幫助Web服務器保存-訪問者的相關信息。36、--狀態支持機制必須允許服務器將狀態信息發送到客戶端,并保存這條信息會隨請求一起返回到服務器。37、JSP開發網站的兩種模式分為一_JSP+JavaBean__一和―JSP+Servlet+JavaBean。38、_事務處理____模塊包含應用程序在數據運算中使用的各種食物規則和操作方法。39、采用__N層應用模式可以將問題細化,可集中精力解決每個單獨的層。40、MVC是一種設計模式,它由一一一視圖控制器和一―模型三部分組成。41、web.xml文件是Web應用的必備組件。42、在Tomcat啟動Web應用時,該應用中所有的JSP頁面將被編譯成Servlet類文件。43、每當傳遞請求或響應時調用Filter的doFilter()方法。44、維護用戶會話的三種基本技術是URL重寫技術、__cookie技術―和隱藏表單域。45、HTTP是一個____無狀態協議。46、在HTTP協議中,用于發送大量數據的方法是--POST。47、在J2EE的Web層主要有兩種技術方案:Servlet技術和--JSP技術。48、-Web頁面和-UI屏幕是表示模塊的典型例子。49、一個典型的關系數據庫通常由一個或多個被稱作表格的對象組成,數據庫中的所有數據或信息都保存在這些表格中。50、__SQL語句的主要功能就是同各種關系數據庫建立連接并進行操作,它作為關系數據庫管理系統的標準語言。51、__JDBC是用于Java應用程序連接數據庫的標準方法,簡單說就是用訪問數據庫的。52、在加載Driver類時,它應該創建自己的實例并向__DriverManager注冊該實例。53、數據庫連接池的基本思想就是為數據庫連接建立一個一_緩沖池o三、簡答題1、請簡述JSP的執行過程一個JSP頁面的執行過程可以分為以下幾個步驟:⑴瀏覽器客戶端向JSP引擎發出對JSP頁面的請求2)JSP引擎將對應JSP頁面轉換成JavaServlet源代碼JSP引擎編譯JavaServlet源代碼,生成.class文件JSP引擎加載運行對應的.class文件,生成響應的結果頁面⑸JSP引擎把響應的輸出結果發送到瀏覽器客戶端2、簡述<jsp:include>動作與include指令的區別include指令的作用是在JSP頁面出現該指令的位置處,靜態插入一個文件,即JSP頁面和插入的文件合并成一個新的JSP頁面,然后JSP引擎再將這個新的JSP頁面轉譯成Java文件。因此,插入文件后,必須保證新合并成的JSP頁面符合JSP語法規則,即能夠成為一個JSP頁面文件。<jsp:include>動作則是動態加載一個文件,不把JSP頁面中動作指令include所指定的文件與原JSP頁面合并一個新的JSP頁面,而是告訴Java解釋器,這個文件在JSP運行時才被處理。如果包含的文件是普通的文本文件,就將文件的內容發送到客戶端,由客戶端負責顯示;如果包含的文件是JSP文件,JSP引擎就執行這個文件,然后將執行的結果發送到客戶端,并由客戶端負責顯示這些結果。3、JSP有哪些內置對象?作用分別是什么?request:用戶端請求,此請求會包含來自get/post請求的參數response:網頁傳回用戶端的回應pageContext:當前JSP頁面的上下文信息session:與請求有關的會話信息application:服務器servlet上下文信息out:用來傳送回應的輸出config:表示JSP頁面的servlet配置信息以及Web應用配置描述文件page:JSP頁面本身exception:處理異常信息4、簡述Servlet和JSP的關系JSP是以另外一種方式實現的Servlet,Servlet是JSP的早期版本,在JSP中,更加注重頁面的表現,而在Servlet中則更注重業務邏輯的實現。因此,當編寫的頁面顯示效果比較復雜時,首選是JSP,或者在開發過程中,HTML代碼經常發生變化,而Java代碼則相對比較固定時,可以選擇JSP。而在處理業務邏輯時,首選則是Servlet。同時,JSP只能處理瀏覽器的請求,而Servlet則可以處理一個客戶端的應用程序請求。因此,Servlet加強了Web服務器的功能。5、簡述JSP中的作用域的分類頁作用域,只允許在所建的JSP頁面中訪問⑵請求作用域,在相應的請求的生命周期內有效,就是說對象在創建它的頁面內有效,以及請求被轉發或被包含的頁面內有效⑶會話作用域,范圍比請求作用域大,參與會話的所有頁面都可以訪問(4)應用程序作用域,在Web應用程序活動期間,應用程序對象在應用的整個生命周期內都是有效的,特定的應用程序組件都可以訪問這些對象6、請簡述Servlet的基本運行流程。客戶端(一般是Web瀏覽器)通過HTTP協議向Web服務器發送請求Web服務器接收該請求并將其發給Servleto如果Servlet尚末被加載,Web服務器將把它加載到Java虛擬機并且執行它Servlet接收該HTTP請求并執行相應的處理Servlet向Web服務器返回應答Web服務器將從Servlet收到的應答發送給客戶端7、簡述JavaBean具有哪些特征?JavaBean類必須有一個沒有參數的構造函數JavaBean內的屬性都應定義為私有的屬性值通過getXxx和setXxx來操作8、請寫出7個JSP的動作并寫出其作用?<jsp:param>被用來以“名-值”對的形式為其他標記提供附加信息<jsp:include>用于在當前頁面中包含靜態或動態的資源<jsp:forward>用于將請求轉發到另一個JSP、Servlet或者靜態資源文件<jsp:useBean>用來在JSP頁面中創建一個JavaBean實例并指定他的名字以及作用范圍<jsp:setProperty>用于設定JavaBean的屬性值<jsp:getProperty>用于獲取JavaBean中的屬性值<jsp:plugin>用于在生成的HTML頁面中包含對象,如(Applet或JavaBean)Java語言程序設計試題及答案第六章圖形界面設計6.1設計一個面板,該面板中有四個運動項目選擇框和一個文本區。當某個選擇項目被選中時,在文本區中顯示該選擇項目。程序運行結果:源文件:Work6_1.javaimportjavax.swing.*;importjava.awt.*;importjava.awt.event.*;/***@author段智敏*/publicclassWork6_1extendsJFrame{privatestaticfinallongserialVersionUID=1L;privateMyPanel6_1panel;//此面板publicWork6_1(){panel=newMyPanel6_1();this.add(panel);this.setBounds(1,1,4,150);this.setVisible(true);this.validate();this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);)});)publicstaticvoidmain(Stringargs[]){newWork6_1();))/***需要設計的面板類*/classMyPanel6_1extendsJPanelimplementsItemListener{privateprivateprivatestaticfinallongJCheckBoxJTextAreaserialVersionUID=1L;box1,box2,box3,box4;textArea;public{MyPanel6_1()textAreabox1box2box3box4box1box2box3box4thisthisthisthisthisnewnewnewnewJCheckBox(JCheckBox(JCheckBox(JCheckBox(=new.addItemListener(.addItemListener(.addItemListener(.addItemListener(.add(.add(.add(.add(.add(box1box2box3box4););););JTextArea(5,10);"足球");"排球");"籃球");"臺球");););););thisthisthisthistextArea);this.setBackground(Color.cyan);publicvoiditemStateChanged(ItemEvente){JCheckBoxbox=(JCheckBox)e.getSource();if(box==box1&&box.isSelected())textArea.append(box1elseif(box==box2&&textArea.append(box2elseif(box==box3&&textArea.append(box3elseif(box==box4&&textArea.append(box4.getText()+"\n"box.isSelected()).getText()+"\n"box.isSelected()).getText()+"\n"box.isSelected()).getText()+"\n"););););6.2擇項目被選中時,在文本框中顯示該選擇項目。設計一個面板,該面板中有四個運動項目單選框和一個文本框。當某個選程序運行結果:源文件:Work6_2.javaimportjavax.swing.*;importjava.awt.event.*;/****@author段智敏*/publicclassWork6_2extendsJFrame{privatestaticfinallongserialVersionUID=1L;privateMyPanel6_2panel;publicWork6_2(){super("第六章,第二題");panel=newMyPanel6_2();this.add(panel);this.setBounds(1,1,4,150);this.setVisible(true);this.validate();this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);)});)publicstaticvoidmain(Stringargs[]){newWork6_2();))面板類源文件:MyPanel6_2.java/***需要設計的面板類*/classMyPanel6_2extendsJPanelimplementsItemListener{privatestaticfinallongserialVersionUID=1L;privateJCheckBoxbox1,box2,box3,box4;privateButtonGroupgroup;privateJTextFieldtextField;publicMyPanel6_2(){textField=newJTextField(5);group=newButtonGroup();box1=newJCheckBox("足球");box2=newJCheckBox("排球");box3=newJCheckBox("籃球");box4=newJCheckBox("臺球");box1.addItemListener(this);box2.addItemListener(this);box3.addItemListener(this);box4.addItemListener(this);group.add(box1);group.add(box2);group.add(box3);group.add(box4);this.add(boxl);this.add(box2);this.add(box3);this.add(box4);this.add(textField);)publicvoiditemStateChanged(ItemEvente){JCheckBoxbox=(JCheckBox)e.getSource();if(box==box1)textField.setText(box1.getText()+"\n");elseif(box==box2)textField.setText(box2.getText()+"\n");elseif(box==box3)textField.setText(box3.getText()+"\n");elseif(box==box4))textField.setText(box4.getText()+"\n");6.3設計一個面板,該面板中有四個運動項目單選按鈕和一個文本框。當某個選擇項目被選中時,在文本框中顯示該選擇項目。程序運行結果:源文件:Work6_3.javaimportjavax.swing.*;importjava.awt.*;importjava.awt.event.*;/***@author段智敏*/publicclassWork6_3extendsJFrame{privatestaticfinallongserialVersionUID=lL;privateMyPanel6_3panel;publicWork6_3(){super("第六章,第三題");panel=newMyPanel6_3();this.add(panel);this.setBounds(1,1,4,150);this.setVisible(true);this.validate();this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);)});)publicstaticvoidmain(Stringargs[]){newWork6_3();))面板類源文件:MyPanel6_3.java/***需要設計的面板類*/classMyPanel6_3extends{classMyPanel6_3extends{privateprivateprivateprivatestaticfinalJRadioButtonButtonGroupJTextFieldlongserialVersionUIDstaticfinalJRadioButtonButtonGroupJTextFieldbox1,box2,box3,box4;group;textField;publicMyPanel6_3(){textField=newJTextField(5);group=newButtonGroup();box1=newJRadioButton("足球");box2=newJRadioButton("排球");box3=newJRadioButton("籃球");box4=newJRadioButton("臺球");TOC\o"1-5"\h\zbox1.addItemListener(this);box2.addItemListener(this);box3.addItemListener(this);box4.addItemListener(this);group.add(box1);group.add(box2);group.add(box3);group.add(box4);this.add(box1);this.add(box2);this.add(box3);this.add(box4);this.add(textField);this.setBackground(Color.cyan);)publicvoiditemStateChanged(ItemEvente){JRadioButtonbox=(JRadioButton)e.getSource();if(box==box1)textField.setText(elseif(box==box2)textField.setText(elseif(box==box3)textField.setText(elseif(box==box4)box1.getText()+"\n");box2.getText()+"\n");box3.getText()+"\n");"\n");textField.setText(box4"\n");6.4設計一個窗,取默認布局BorderLayout布局。北面添加一個列表,有4門課程選項。中心添加一個文本區,當選擇列表中的某門課程后,文本區顯示相應課程的介紹;(JList沒有addActionListener方法)程序運行結果:源文件:Work6_4.java程序運行結果:源文件:Work6_4.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;/***@author段智敏*/publicclassWork6_4extendsJFrame{privatestaticfinallongserialVersionUID=1L;privateJListlist;privateJTextAreatextArea;privateStringnames[]={"大學英語","Java語言程序設計","操作系統""數據結構"};privateStringintroduce[]={"英語為本科一、二年級的最重要的基礎課之一,為期一年,教學時間15周,總共14學分。","Java先修課程為程序設計基礎、網絡基礎、數據庫基礎、操作系統;為期辦年。教學時間15周,總共4學分(上機1學分)。","操作系統講述如何管理計算機系統資源和控制程序執行。為期辦年,教學時間15周,總共5學分(上機1學分)。","數據結構是計算機學科的核心課程之一,是一門專業基礎課。對于訓練學生程序設計能力和編程水平有重要作用。為期辦年,教學時間15周,總共5學分(上機學分)");privateStringtimes[]={"9月1日","9月2日","9月30日","9月12日"};publicWork6_4(){super("第六章,第四題");textArea=newJTextArea(5,10);list=newJList(names);list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//單選模式/**鼠標監控,單擊事件,雙擊事件*/MouseListenerml=newMouseAdapter()publicvoidmousePressed(MouseEvente){intindex=list.getSelectedIndex();if(index!=-1){if(e.getClickCount()==1){mySingleClick(index);}elseif(e.getClickCount()==2){myDoubleClick(index);}}}};list.addMouseListener(ml);textArea.setBackground(Color.cyan);textArea.setLineWrap(true);this.add(list,BorderLayout.NORTH);this.add(textArea,BorderLayout.CENTER);this.setBounds(50,50,5,3);this.setVisible(true);this.validate();this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}/***單擊事件@paramselectValue-list被選擇的單元索引*/publicvoidmySingleClick(intselectValue){textArea.setText(""+introduce[selectValue]);}/***雙擊事件@paramselectValue-list被選擇的單元索引*/publicvoidmyDoubleClick(intselectValue){textArea.setText(names[selectValue]+",開課時間為:"+times[selectValue]);}publicstaticvoidmain(Stringargs[]){newWork6_4();6.5設計一個窗,取默認布局BorderLayout布局,北面添加一個組合框,組合框有多門課程選項。中心添加一個文本框,當在組合框中選定一門課程后,文本框顯示相應課程。程序運行結果:源文件:Work6_5.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;/***@author段智敏*/publicclassWork6_5extendsJFrameimplementsItemListener{privatestaticfinallongserialVersionUID=1L;privateStringnames[]={"數學","物理","語文","化學"};privateJComboBoxcomboBox;privateJTextFieldtextField;publicWork6_5(){super("第六章,第五題");comboBox=newJComboBox(names);comboBox.addItemListener(this);textField=newJTextField(10);textField.setBackground(Color.cyan);add(comboBox,BorderLayout.NORTH);this.add(textField,BorderLayout.CENTER);this.setBounds(1,1,3,2);this.setVisible(true);this.validate();this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}publicvoiditemStateChanged(ItemEvente){textField.setText(comboBox.getSelectedItem().toString());}publicstaticvoidmain(Stringargs[]){newWork6_5();6.6設計一個JFrame窗,窗中心添加一個文本區。另添加4個菜單,每個菜單都有菜單項,每個菜單項都有對應快捷鍵,選擇某個菜單項時,窗中心的文本區顯示相應信息。程序運行結果:立件(E)編輯IE)格式(0)WKj(H)幫助主題(H)被選3自動換行四單詞為界(與字體舊…源文件:Work6_6.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;/***@author段智敏*/publicclassWork6_6extendsJFrameimplementsActionListener{privatestaticfinallongserialVersionUID=1L;/**文本區*/privateJTextAreatextArea;/**菜單條*/privateJMenuBarmenubar;/**菜單:文件、編輯、格式、幫助*/privateJMenufile_menu,edit_menu,format_menu,help_menu,style_menu;/**添加的文件菜單上的菜單項:新建、打開、保存、另存為、退出*/privateJMenuItemitem_newFile,item_openFile,item_saveFile,item_saveAsFile,item_Exit;/**添加到編輯菜單的菜單項:剪切、復制、粘貼、刪除;查找、查找下一個、替換;全選、時間/日期*/privateJMenuItemitem_cut,item_copy,item_paste,item_delete,item_find,item_findNextitem_replace,item_selectAll,item_insertNowTime;/**添加到格式菜單的菜單項:自動換行,換行時候,是否讓整個單詞在一行,設置字體*/privateJMenuItemitem_setLineWrap,item_setWrapStyleWord,item_setFont;/**幫助菜單項:幫助主題,關于記事本*/privateJMenuItemitem_help,item_about;publicWork6_6(){super("第六章,第六題");textArea=newJTextArea();menubar=newJMenuBar();this.init_menu();this.setJMenuBar(menubar);this.add(textArea,BorderLayout.CENTER);this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);)});this.setBounds(1,1,5,4);this.setVisible(true);this.validate();)/***初始化菜單項菜單條并添加快捷鍵,然后都添加到主菜單條上*/publicvoidinit_menu(){menubar=newJMenuBar();file_menu=newJMenu("文件(F)");edit_menu=newJMenu("編輯(E)");format_menu=newJMenu("格式(O)");help_menu=newJMenu("幫助(H)");style_menu=newJMenu("風格(G)");item_newFileitem_openFileitem_saveFileitem_saveAsFileitem_Exit=item_cut=item_copy=item_pasteitem_deleteitem_find=item_findNextitem_replaceitem_selectAllitem_insertNowTimeitem_setLineWrapitem_setWrapStyleWordfalse);item_setFontitem_helpitem_about//設置當前模型上的鍵盤助記符file_menufile_menuedit_menuedit_menuformat_menu.setMnemonic(KeyEvent.format_menu.setDisplayedMnemonicIndex(3);help_menuhelp_menustyle_menustyle_menu//設置各個菜單項上的鍵盤助記符,和下劃線item_newFileitem_newFileitem_openFileitem_openFilenew=newJMenuItem(=newJMenuItem(=newJMenuItem(=newJMenuItem(newJMenuItem(newJMenuItem(newJMenuItem(=newJMenuItem(=newJMenuItem(newJMenuItem(=newJMenuItem(=newJMenuItem(newJMenuItem(=newJMenuItem(=newJCheckBoxMenuItem(newJCheckBoxMenuItem("新建(N)");"打開(O)...");"保存(S)");"另存為(A)...");"退出(X)");"剪切(T)");"復制(C)");"粘貼(P)");"刪除(L)");"查找(F)");"查找下一個(N)");"替換(R)");"全選(A)");"時間/日期(D)");"自動換行(W)",false);"單詞為界(S)",=newJMenuItem("字體(F)...");newJMenuItem("幫助主題(H)");newJMenuItem("關于記事本(A)");.setMnemonic(KeyEvent.VK_F);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_E);.setDisplayedMnemonicIndex(3);VK_O);.setMnemonic(KeyEvent.VK_H);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_G);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_N);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_O);.setDisplayedMnemonicIndex(3);item_saveFileitem_saveFileitem_saveAsFileitem_saveAsFileitem_Exititem_Exititem_cutitem_cutitem_copyitem_copy.setMnemonic(KeyEvent.VK_S);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_A);.setDisplayedMnemonicIndex(4);item_pasteitem_pasteitem_deleteitem_delete.setMnemonic(KeyEvent.VK_X);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_T);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_C);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_P);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_L);.setDisplayedMnemonicIndex(3);item_find.setMnemonic(KeyEvent.VK_F);item_find.setDisplayedMnemonicIndex(3);item_findNextitem_findNextitem_replaceitem_replaceitem_selectAllitem_selectAllitem_insertNowTimeitem_insertNowTimeitem_setLineWrapitem_setLineWrap.setMnemonic(KeyEvent.VK_N);.setDisplayedMnemonicIndex(6);.setMnemonic(KeyEvent.VK_H);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_A);.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_D);.setDisplayedMnemonicIndex(6);.setMnemonic(KeyEvent.VK_W);.setDisplayedMnemonicIndex(5);.setMnemonic(KeyEvent.VK_S.setDisplayedMnemonicIndex(5);VK_F);item_setWrapStyleWorditem_setWrapStyleWorditem_setFont.setMnemonic(KeyEvent.item_setFontitem_helpitem_helpitem_aboutitem_about.setDisplayedMnemonicIndex(3);.setMnemonic(KeyEvent.VK_H);.setDisplayedMnemonicIndex(5);.setMnemonic(KeyEvent.VK_A);.setDisplayedMnemonicIndex(6);item_newFile.addActionListener(item_openFile.addActionListener(item_saveFile.addActionListener(item_saveAsFile.addActionListener(item_Exit.addActionListener(item_cut.addActionListener(item_copy.addActionListener(item_paste.addActionListener(item_delete.addActionListener(item_find.addActionListener(item_findNextthisthis);this);this);this););this);this);this);this);this););this);this);this);.addActionListener(this);.addActionListener(item_replace.addActionListener(item_selectAll.addActionListener(item_insertNowTimeitem_setLineWrap.addActionListener(this);.addActionListener(this);item_setFont.addActionListener(item_help.addActionListener(item_setWrapStyleWordthis);this););item_about.addActionListener(this//設置各個菜單項的快捷鍵item_newFile.setAccelerator(KeyStroke.KeyEvent.CTRL_MASK));getKeyStroke(KeyEvent.item_openFile.setAccelerator(KeyStroke.KeyEvent.CTRL_MASK));getKeyStroke(KeyEvent.VK_NVK_Oitem_saveFile.setAccelerator(KeyStroke.KeyEvent.CTRL_MASK));item_cut.setAccelerator(KeyStroke.KeyEvent.CTRL_MASK));item_copy.setAccelerator(KeyStroke.KeyEvent.CTRL_MASK));item_paste.setAccelerator(KeyStroke.KeyEvent.CTRL_MASK));item_delete.setAccelerator(KeyStroke.item_find.setAccelerator(KeyStroke.KeyEvent.CTRL_MASK));getKeyStroke(KeyEvent.VK_SgetKeyStroke(KeyEvent.VK_XgetKeyStroke(KeyEvent.VK_CgetKeyStroke(KeyEvent.VK_VgetKeyStroke("DELETE"));getKeyStroke(KeyEvent.VK_Fitem_findNext.setAccelerator(KeyStroke.getKeyStroke("F3"));item_replace.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_RKeyEvent.CTRL_MASK));//替換快捷鍵應該是ctrl+h,可是這個是JTextArea的默認快捷鍵是刪除前一個字符,所以只能換一個了item_selectAll.setAccelerator(KeyStroke.A,KeyEvent.CTRL_MASK));getKeyStroke(KeyEvent.VK_item_insertNowTime.setAccelerator(KeyStroke.//把各個菜單項添加到相應的菜單中file_menufile_menufile_menufile_menufile_menufile_menuedit_menuedit_menuedit_menuedit_menuedit_menuedit_menuedit_menuedit_menuedit_menuedit_menuedit_menuformat_menuformat_menuformat_menugetKeyStroke("F5"));.add(.add(.add(.add(.addSeparator();.add(.add(.add(.add(.add(.addSeparator();.add(item_find);.add(item_findNext);.add(item_replace);.addSeparator();.add(item_selectAll);.add(item_insertNowTime);.add(item_setLineWrap);.add(item_setWrapStyleWord.add(item_setFont);help_menu.add(item_helphelp_menu.add(item_aboutfile_menu);edit_menu);format_menuhelp_menu);item_newFile);item_openFile);item_saveFile);item_saveAsFile);item_Exit);item_cut);item_copy);item_paste);item_delete););););menubarmenubarmenubarmenubar}.add(.add(.add(.add();publicvoidactionPerformed(ActionEvente){textArea.setText(e.getActionCommand()+}被選中\n");publicstaticvoidmain(Stringargs[]){newWork6_6();6.7設計一個窗,窗有兩個依賴于它的對話框,一個對話框負責求園的面積;另一個負責求三角形的面積。窗中一個菜單負責打開這兩個對話框。幾個圖形的數據通過對話框輸入。程序運行結果:源文件:Work6_7.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;/***@author段智敏*/publicclassWork6_7extendsJFrameimplementsActionListener{privatestaticfinallongserialVersionUID=1L;privateJMenuBarbar;//菜單條privateJMenumenu;//菜單privateJMenultemiteml,item2;//菜單項privateCirclecircle;privateTriangletriangle;publicWork6_7(){super("第六章,第七題");circle=newCircle(this,"計算圓形面積:",true);triangle=newTriangle(this,"計算三角形面積:",true);bar=newJMenuBar();menu=newJMenu("菜單(F)");iteml=newJMenuItem("圓形面積(C)");item2=newJMenuItem("三角形面積(T)");//設置菜單項上的鍵盤助記符和下劃線,及其快捷鍵menu.setMnemonic(KeyEvent.VK_F);menu.setDisplayedMnemonicIndex(3);item1.setMnemonic(KeyEvent.VK_C);iteml.setDisplayedMnemonicIndex(5);item2.setMnemonic(KeyEvent.VK_T);item2.setDisplayedMnemonicIndex(6);iteml.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_AKeyEvent.CTRL_MASK));item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_BKeyEvent.CTRL_MASK));item1.addActionListener(this);item2.addActionListener(this);//添加菜單menu.add(item1);menu.add(item2);bar.add(menu);this.setJMenuBar(bar);this.setVisible(true);this.setBounds(3,1,4,2);this.validate();this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);)});)publicvoidactionPerformed(ActionEvente){if(e.getSource()==item1)circle.setVisible(true);elseif(e.getSource()==item2)triangle.setVisible(true);)publicstaticvoidmain(Stringargs[]){newWork6_7();))圓的對話框源文件:Circle.java/***計算圓面積的對話框*@author段智敏*/classCircleextendsJDialogimplementsActionListener//{privatestaticfinallongserialVersionUID=1L;privateJTextFieldinput_text;privateJTextFieldresult_text;privateJButtonbutton;privateJLabellabel1,label2;public{Circle(JFramef,Strings,booleanmode)super(f,s,mode);//對話框依賴于f,標題為s,模式為modelabel1=newJLabel("請輸入半徑:");label2=newJLabel("圓的面積為:");input_text=newJTextField(5);result_text=newJTextField(15);button=newJButton("確定");button.addActionListener(this);input_text.addActionListener(this);this.setLayout(newFlowLayout());this.add(labell);this.add(input_text);this.add(button);this.add(label2);this.add(result_text);this.setBounds(60,60,260,150);this.validate。;this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){setVisible(false);)});)publicvoidactionPerformed(ActionEvente)try{doubler=Double.parseDouble(input_text.getText());doublearea=Math.PI*r*r;result_text.setText(""+area);)catch(Exceptionee){result_text.setText("請輸入正確的數字字符");)))三角形對話框源文件:Triangle.java/***計算三角形面積的對話框*@author段智敏*/classTriangleextendsJDialogimplementsActionListener//{privatestaticfinallongserialVersionUID=1L;privateJTextFieldinputSideA_text,inputSideB_text,inputSideC_textresult_text;privateJButtonbutton;publicTriangle(JFramef,Strings

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論