



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《面向?qū)ο蟪绦蛟O計》教案第35講教學對象計算機科學技術專業(yè)授課內(nèi)容12.5案例學習課程標準教學目標(一)知識目標熟悉常用組件的使用掌握常用組件的常見事件處理(二)能力目標1.能夠在構建圖形界面時正確選用組件2.能夠掌握常用組件的常見屬性設置教學方法采用講授法、演示法、討論法、案例教學。學時及分配(第1學時50分鐘)課堂講授30分鐘課堂練習20分鐘12.5案例學習——八皇后問題學時及分配(第2學時50分鐘)課堂講授20分鐘課堂練習30分鐘12.6案例學習——簡單的日歷程序知識點分析重點:界面布局常用組件的屬性及事件處理難點:常用組件的使用復雜界面的布局教學過程設計內(nèi)容方式問題導入本節(jié)課來綜合應用前面學習的GUI知識完成兩個綜合案例。內(nèi)容要點12.5案例學習——八皇后問題解1.問題描述八皇后問題是指在一個8×8格的國際象棋盤上放置8個皇后(每個皇后只能占一個格子),使其不能互相攻擊,即任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法。2.運行結(jié)果程序運行后首先顯示棋盤,用戶單擊某個格子將皇后放置到棋盤上,如果某個格子不允許放置皇后,程序顯示一個標準對話框,圖12-15是一個解。圖12-15八皇后問題的一個解3.設計思路使用Swing組件開發(fā)八皇后問題求解的基本思路如下:(1)本案例界面采用網(wǎng)格式布局,每個單元格放置一個按鈕,每個按鈕根據(jù)國際象棋的要求設置背景顏色為黑色和白色。按鈕是一個8行8列的數(shù)組。JButton[][]cells=newJButton[8][8];if((i+j)%2==0){cells[i][j].setBackground(Color.WHITE); }else{ cells[i][j].setBackground(Color.BLACK); }(2)為了某個格子是否可以放置皇后,定義一個8行8列的布爾型數(shù)組,并將每個元素的初值設置為true,表示可以放置皇后,當該格中被放置皇后,將該元素所在行、列以及斜行上的元素值都設置為false,之后就不能在那些格中放置皇后。(3)在格中放置皇后,我們通過按鈕的動作事件處理,當用戶單擊按鈕時,事件處理代碼首先判斷該格對應的ok數(shù)組元素值是否是true,如果是,將按鈕的圖標設置為皇后,否則彈出對話框,顯示“這里不能放皇后!”消息。(4)放置皇后通過將按鈕的圖標設置為皇后圖片實現(xiàn),代碼如下:cells[i][j].setIcon(newImageIcon("image\\queen.jpg"));程序運行后,用戶通過在棋盤上單擊某個格子,如果該格子允許放置皇后,則顯示皇后圖標,否則顯示對話框。4.代碼實現(xiàn)程序?qū)崿F(xiàn)代碼如下所示。【程序12-11】EightQueen.java12.6案例學習——簡單的日歷程序1.問題描述使用Swing有關組件開發(fā)一個簡單的圖形界面的日歷程序,要求程序運行顯示當前月的日歷,通過組合框選擇年月,可顯示指定年月的日歷。2.運行結(jié)果案例運行結(jié)果如圖12-16所示。圖12-16簡單日歷程序3.設計思路該日歷程序是一個圖形界面應用程序:(1)使用JFrame框架創(chuàng)建窗口界面,它的布局采用BorderLayout邊界式布局,顯示年月列表的組件使用兩個組合框ComboBox,并將它們添加到一個面板對象上,面板對象添加到窗口的上方。下面顯示日期部分也是一個面板對象,但它的布局設置為網(wǎng)格式布局。日期存放到一個標簽數(shù)組中,根據(jù)年月的不同將標簽的文本設置為不同的日期。(2)為組合框定義事件監(jiān)聽器,當組合框的年或月改變時,根據(jù)年月的日期改變標簽數(shù)組中顯示的日期。(3)日期使用LocalDate類計算,下面代碼根據(jù)用戶選擇的年月創(chuàng)建每月的第一天日期,計算該月的天數(shù)以及第一天是星期幾。inty=Integer.parseInt(((String)(year.getSelectedItem())).substring(0,4));intm=Integer.parseInt(((String)(month.getSelectedItem())).substring(0,2));vardates=LocalDate.of(y,m,1);vardaysOfMonth=dates.lengthOfMonth();//月天數(shù)vardayOfWeek=dates.getDayOfWeek().getValue();//第1天周幾(4)下面代碼在用戶選擇不同日期時在標簽數(shù)組中顯示不同月的日期。首先將標簽的文本設置為空串,其他標簽日期從1開始顯示,一直到本月最后一天為止。intn=1; for(inti=0;i<6;i++){ for(intj=0;j<7;j++){ day[i][j].setText(""); if(i==0&&j<=dayOfWeek-2){ //前面的標簽不顯示內(nèi)容 }else{ //修改標簽上顯示的日期 if(n<=daysOfMonth){ day[i][j].setText(n+""); n++; }
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)管道的維護與檢修方法
- 工作中的自我管理與激勵方法
- 工業(yè)設計與科技創(chuàng)新的融合發(fā)展
- 工業(yè)風味的文化創(chuàng)意街區(qū)轉(zhuǎn)型實踐
- 工業(yè)風建筑設計理念與實踐
- 工業(yè)設計產(chǎn)業(yè)園在服務領域的應用
- 工程中的液壓傳動系統(tǒng)設計與分析
- 工廠企業(yè)消防安全管理體系
- 工程機械設備的技術改造與升級
- 工程教育中數(shù)據(jù)科學的課程設計
- 桿塔組立施工安全檢查表
- 特種設備使用安全風險日管控、周排查、月調(diào)度管理制度
- DL∕T 1392-2014 直流電源系統(tǒng)絕緣監(jiān)測裝置技術條件
- 2024年山東省高中學業(yè)水平合格考生物試卷試題(含答案詳解)
- 電影敘事與美學智慧樹知到期末考試答案章節(jié)答案2024年南開大學
- YYT 0663.3-2016 心血管植入物 血管內(nèi)器械 第3部分:腔靜脈濾器
- 【專業(yè)版】短視頻直播電商部門崗位職責及績效考核指標管理實施辦法
- SOHO-VD 收獲變頻器手冊
- 修理廠大修發(fā)動機保修合同
- 富血小板血漿(PRP)簡介
- MOOC 網(wǎng)絡技術與應用-南京郵電大學 中國大學慕課答案
評論
0/150
提交評論