




已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Java程序設(shè)計精典教程習(xí)題答案編著:胡伏湘,雷軍環(huán)清華大學(xué)出版社第6章習(xí)題解答一、 簡答題1說明文本框和標(biāo)簽之間的區(qū)別?答:文本框定義了一個單行條形文本區(qū),可以輸出任何基于文本的信息,也可以接受用戶的輸入,并有事件響應(yīng)。標(biāo)簽可以顯示一行靜態(tài)的文本,它只起信息說明作用,不接受用戶的輸入,無事件響應(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)選擇項的選中狀態(tài)發(fā)生變化時所引起的事件。可能產(chǎn)生選擇事件的GUI組件有下拉列表類(Choice)、列表類(List)復(fù)選按鈕類(CheckBox)、檢測盒菜單項(CheckboxMenuItem) 4設(shè)計一個菜單的步驟是什么?答:設(shè)計菜單的步驟是:n 用MenuBar構(gòu)造函數(shù)構(gòu)造菜單欄對象。n 用Menu構(gòu)造函數(shù)構(gòu)造菜單對象。n 用MenuItem構(gòu)造函數(shù)構(gòu)造菜單項對象。n 用Menu類的add方法將菜單項加入菜單中。n 用MenuBar類的add方法將菜單加菜單欄中。n 用Frame類的setMenuBar方法將菜單欄加入窗口中。5有模式的對話框最突出的特點是什么?如果一個對話框的目的在于警告或提醒用戶(例如刪除數(shù)據(jù)庫記錄的確認(rèn)),這個對話框應(yīng)該是有模式的還是無模式的?答:有模式對話框是指打開后必須作出響應(yīng)的對話框。如果一個對話框的目的在于警告或提醒用戶,應(yīng)該為有模式的對話框。6Swing組件與AWT組件的區(qū)別是什么?答:AWT組件是JDK1.0和1.1平臺用于開發(fā)GUI的工具,盡管Java2平臺仍然支持AWT組件,但是,使用Swing組件來開發(fā)GUI已經(jīng)成為一種發(fā)展趨勢。為了標(biāo)識Swing組件,Swing組件的在其名稱前冠以J字母,例如,在AWT中的Button類,在Swing中為JButton。另外,AWT存在于java.awt包中,Swing組件存在于javax.swing包中。Swing組件與AWT組件的最大不同是:Swing組件完全由Java語言實現(xiàn),功能更強(qiáng)大,而AWT而不是。Swing組件還提供了AWT組件無法實現(xiàn)的功能:n Swing按鈕類和標(biāo)簽類除了顯示文本標(biāo)題,還可以顯示圖形標(biāo)題n Swing容器可以加邊框n Swing組件可以自動適應(yīng)操作系統(tǒng)的外觀,而AWT組件總是保持相同的外觀n Swing組件可以設(shè)計成圓形,而不一定是矩形n 通過Swing組件的方法改變其外觀和形為n 不能在Swing的頂層容器(如JApplet、JFrame)直接加入組件,而要先獲得容器,再在容器中加入組件。二、編程題1如圖6-17所示。標(biāo)簽1的字號比文本框的字號大,當(dāng)單擊按鈕時若輸入文框中的數(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(); 本程序的運行結(jié)果如圖6-18、6-19所示。 圖6-18 圖6-192編寫代碼,創(chuàng)建一個JFrame窗口,為其構(gòu)建兩個單選按鈕,程序運行的初始界面如圖6-20所示。當(dāng)用戶單擊“禁用”按鈕時,顯示圖6-21所示的界面,單擊“啟用”按鈕時,顯示圖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(啟用第一個單選的按鈕); rad1.setEnabled(false); rad2.setEnabled(true); else if(e.getSource()=rad2) setTitle(啟用第二個單選按鈕); 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)建一個菜單程序。添加一個菜單:文件。在“文件”下添加三個菜單選項:“功能1”、“功能2”和“退出”,“功能2”和“退出”兩項之間用分隔線分開。當(dāng)用戶點擊菜單項時,在窗口的標(biāo)題欄顯示相應(yīng)的命令文本,如圖6-23所示。(通過查閱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); /將菜單項注冊給事件監(jiān)聽者 mt1.addActionListener(this); mt2.addActionListener(this); mt3.addActionListener(this); setMenuBar(mb); setTitle(創(chuàng)建菜單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 珠寶首飾行業(yè)法律法規(guī)與合規(guī)管理考核試卷
- 常用辦公軟件課程培訓(xùn)
- 體育鍛煉與心率課件
- 門診部護(hù)理及治療規(guī)范
- 小兒腹瀉護(hù)理與健康指導(dǎo)
- 2025技術(shù)機(jī)密成果轉(zhuǎn)讓合同專業(yè)版
- 高職院校繼續(xù)教育工作匯報
- 2025買賣合同買賣終止協(xié)議
- 2025年至2026年無線通信租賃合同范本
- 2025屆河南省天一大聯(lián)考普通高中學(xué)業(yè)水平選擇性考試診斷A卷歷史試題(含答案)
- 某高速公路監(jiān)理管理及工程質(zhì)量監(jiān)理要點
- GB/T 3682-2000熱塑性塑料熔體質(zhì)量流動速率和熔體體積流動速率的測定
- GB/T 1931-2009木材含水率測定方法
- 保障憲法實施 加強(qiáng)憲法監(jiān)督 課件
- 初一下學(xué)期期中家長會課件
- 附著式升降腳手架安裝驗收表
- 高中生物《基因工程的基本操作程序》教案基于學(xué)科核心素養(yǎng)的教學(xué)設(shè)計及教學(xué)反思
- 120急救網(wǎng)絡(luò)醫(yī)院建設(shè)標(biāo)準(zhǔn)
- MAM860螺桿式空壓機(jī)控制器
- 研究思路圖模板
- BowTie模型簡介與應(yīng)用
評論
0/150
提交評論