Java程序設(shè)計(jì)實(shí)用教程_胡伏湘_清華大學(xué)出版社006習(xí)題答.doc_第1頁(yè)
Java程序設(shè)計(jì)實(shí)用教程_胡伏湘_清華大學(xué)出版社006習(xí)題答.doc_第2頁(yè)
Java程序設(shè)計(jì)實(shí)用教程_胡伏湘_清華大學(xué)出版社006習(xí)題答.doc_第3頁(yè)
Java程序設(shè)計(jì)實(shí)用教程_胡伏湘_清華大學(xué)出版社006習(xí)題答.doc_第4頁(yè)
Java程序設(shè)計(jì)實(shí)用教程_胡伏湘_清華大學(xué)出版社006習(xí)題答.doc_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Java程序設(shè)計(jì)精典教程習(xí)題答案編著:胡伏湘,雷軍環(huán)清華大學(xué)出版社第6章習(xí)題解答一、 簡(jiǎn)答題1說(shuō)明文本框和標(biāo)簽之間的區(qū)別?答:文本框定義了一個(gè)單行條形文本區(qū),可以輸出任何基于文本的信息,也可以接受用戶的輸入,并有事件響應(yīng)。標(biāo)簽可以顯示一行靜態(tài)的文本,它只起信息說(shuō)明作用,不接受用戶的輸入,無(wú)事件響應(yīng)。2試列舉Java中常用的基本控制組件。如果有二到三種取值可能,采用哪種組件合適?如果取值的可能大于5種,采用哪種組件合適? 答:基本控制組件是圖形用戶界面的最小單位之一,它里面不再包含其他成分?;究刂平M件的作用是完成與用戶的一次交互。目前常用的基本控制組件有:標(biāo)簽(Label)、文本編輯區(qū)(TextField、TextArea)、按鈕(Button)、復(fù)選框(Checkbox)、單選按鈕(CheckboxGroup、Checkbox)、下拉列表(List或Choice)。如果這兩到三種取值是互斥的話,采用單選按鈕表示比較合適,否則采用復(fù)選按鈕表示;如果5種以上的取值只能多選一的話,采用Choice下拉列表,否則采用List下拉列表。 3什么是選擇事件?可能產(chǎn)生選擇事件的GUI組件有哪些?答:選擇事件是當(dāng)選擇項(xiàng)的選中狀態(tài)發(fā)生變化時(shí)所引起的事件??赡墚a(chǎn)生選擇事件的GUI組件有下拉列表類(Choice)、列表類(List)復(fù)選按鈕類(CheckBox)、檢測(cè)盒菜單項(xiàng)(CheckboxMenuItem) 4設(shè)計(jì)一個(gè)菜單的步驟是什么?答:設(shè)計(jì)菜單的步驟是:n 用MenuBar構(gòu)造函數(shù)構(gòu)造菜單欄對(duì)象。n 用Menu構(gòu)造函數(shù)構(gòu)造菜單對(duì)象。n 用MenuItem構(gòu)造函數(shù)構(gòu)造菜單項(xiàng)對(duì)象。n 用Menu類的add方法將菜單項(xiàng)加入菜單中。n 用MenuBar類的add方法將菜單加菜單欄中。n 用Frame類的setMenuBar方法將菜單欄加入窗口中。5有模式的對(duì)話框最突出的特點(diǎn)是什么?如果一個(gè)對(duì)話框的目的在于警告或提醒用戶(例如刪除數(shù)據(jù)庫(kù)記錄的確認(rèn)),這個(gè)對(duì)話框應(yīng)該是有模式的還是無(wú)模式的?答:有模式對(duì)話框是指打開(kāi)后必須作出響應(yīng)的對(duì)話框。如果一個(gè)對(duì)話框的目的在于警告或提醒用戶,應(yīng)該為有模式的對(duì)話框。6Swing組件與AWT組件的區(qū)別是什么?答:AWT組件是JDK1.0和1.1平臺(tái)用于開(kāi)發(fā)GUI的工具,盡管Java2平臺(tái)仍然支持AWT組件,但是,使用Swing組件來(lái)開(kāi)發(fā)GUI已經(jīng)成為一種發(fā)展趨勢(shì)。為了標(biāo)識(shí)Swing組件,Swing組件的在其名稱前冠以J字母,例如,在AWT中的Button類,在Swing中為JButton。另外,AWT存在于java.awt包中,Swing組件存在于javax.swing包中。Swing組件與AWT組件的最大不同是:Swing組件完全由Java語(yǔ)言實(shí)現(xiàn),功能更強(qiáng)大,而AWT而不是。Swing組件還提供了AWT組件無(wú)法實(shí)現(xiàn)的功能:n Swing按鈕類和標(biāo)簽類除了顯示文本標(biāo)題,還可以顯示圖形標(biāo)題n Swing容器可以加邊框n Swing組件可以自動(dòng)適應(yīng)操作系統(tǒng)的外觀,而AWT組件總是保持相同的外觀n Swing組件可以設(shè)計(jì)成圓形,而不一定是矩形n 通過(guò)Swing組件的方法改變其外觀和形為n 不能在Swing的頂層容器(如JApplet、JFrame)直接加入組件,而要先獲得容器,再在容器中加入組件。二、編程題1如圖6-17所示。標(biāo)簽1的字號(hào)比文本框的字號(hào)大,當(dāng)單擊按鈕時(shí)若輸入文框中的數(shù)正確,則標(biāo)簽2文本顯示正確,否則顯示不正確。文本框標(biāo)簽16+9=15正確OK標(biāo)簽2圖6-17 import java.awt.*;import java.awt.event.*;public class program1 extends Frame implements ActionListenerLabel lb1=new Label(6+9=);Label lb2=new Label( );TextField tf=new TextField(3);Button bt=new Button(OK);public program1()lb1.setFont(new Font(Arial,Font.PLAIN,24);setLayout(new FlowLayout();add(lb1);add(tf);add(lb2);add(bt);bt.addActionListener(this);setSize(150,200);setVisible(true); public void actionPerformed(ActionEvent e) if(e.getSource()=bt) String str=tf.getText(); if(str.equals(15) lb2.setText(正確); else lb2.setText(不正確); public static void main(String args) new program1(); 本程序的運(yùn)行結(jié)果如圖6-18、6-19所示。 圖6-18 圖6-192編寫(xiě)代碼,創(chuàng)建一個(gè)JFrame窗口,為其構(gòu)建兩個(gè)單選按鈕,程序運(yùn)行的初始界面如圖6-20所示。當(dāng)用戶單擊“禁用”按鈕時(shí),顯示圖6-21所示的界面,單擊“啟用”按鈕時(shí),顯示圖6-22所示的界面。 圖6-20 圖6-21圖6-22參考代碼如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class XT006202 extends JFrame implements ActionListener JRadioButton rad1,rad2; ButtonGroup rbgrp=new ButtonGroup(); public XT006202() setTitle(單選按鈕); JPanel cpane=(JPanel)getContentPane(); cpane.setLayout(new GridLayout(); rad1=new JRadioButton(啟用); rad1.addActionListener(this); rad1.setSelected(true); rad1.setEnabled(false); rad2=new JRadioButton(禁用); rad2.addActionListener(this); rad2.setSelected(false); cpane.add(rad1); cpane.add(rad2); rbgrp.add(rad1); rbgrp.add(rad2); radadapter radapp=new radadapter(); addWindowListener(radapp); class radadapter extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0); public void actionPerformed(ActionEvent e) if(e.getSource()=rad1) setTitle(啟用第一個(gè)單選的按鈕); rad1.setEnabled(false); rad2.setEnabled(true); else if(e.getSource()=rad2) setTitle(啟用第二個(gè)單選按鈕); rad1.setEnabled(true); rad2.setEnabled(false); /end actionPerformed(ActionEvent e) public static void main(String args) XT006202 radb=new XT006202(); radb.setSize(200,100); radb.setVisible(true); 3創(chuàng)建一個(gè)菜單程序。添加一個(gè)菜單:文件。在“文件”下添加三個(gè)菜單選項(xiàng):“功能1”、“功能2”和“退出”,“功能2”和“退出”兩項(xiàng)之間用分隔線分開(kāi)。當(dāng)用戶點(diǎn)擊菜單項(xiàng)時(shí),在窗口的標(biāo)題欄顯示相應(yīng)的命令文本,如圖6-23所示。(通過(guò)查閱JDK文檔,思考如何用Swing創(chuàng)建此菜單程序)圖6-23import java.awt.*;import java.awt.event.*;public class XT006203 extends Frame implements ActionListener MenuBar mb=new MenuBar(); Menu mu=new Menu(文件); MenuItem mt1=new MenuItem(功能1); MenuItem mt2=new MenuItem(功能2); MenuItem mt3=new MenuItem(退出); public XT006203() mu.add(mt1); mu.add(mt2); mu.addSeparator(); mu.add(mt3); mb.add(mu); /將菜單項(xiàng)注冊(cè)給事件監(jiān)聽(tīng)者 mt1.addActionListener(this); mt2.addActionListener(this); mt3.addActionListener(this); setMenuBar(mb); setTitle(創(chuàng)建菜單

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論