第8章-Java實例界面制作_第1頁
第8章-Java實例界面制作_第2頁
第8章-Java實例界面制作_第3頁
第8章-Java實例界面制作_第4頁
第8章-Java實例界面制作_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第8章 Java實例界面制作ggao1.設計目標 設計一個學生管理系統(tǒng) 功能設計 添加、修改、刪除、查看學生信息 學生信息 學號,姓名,電話,寢室,職務,籍貫等 這一部分留在下一章建設 界面設計 主界面,查詢界面,修改界面,添加界面,刪除界面 界面切換 通過主界面可以切換到任意的其他界面 其他界面可以返回到主界面1.1 主界面1.2 添加界面1.3 修改 暫時放一放這個功能1.4 刪除1.5 查詢2 項目設計思路 利用Jframe組件創(chuàng)建一個窗口,作為程序的運行窗口 Jframe上放置Jpanel面板組件,作為程序的界面 應該有5個Jpanel,代表5個界面 Jpanel上放置各種其他組件來實

2、現(xiàn)每個界面的功能 Jlabel標簽組件用來放提示文字 Jbutton按鈕組件用來放按鈕 JTextField文本框組件用來放輸入數(shù)據(jù)的文本框 Jtable表格組件用來放顯示學生信息的表格3 創(chuàng)建項目窗口 1. 創(chuàng)建項目 SMS 2. 創(chuàng)建包 Wtu 3. 創(chuàng)建主Java類 包含Main方法 mc(main class) 4. main方法中創(chuàng)建Jframe對象jsw,標題設置為“學生管理系統(tǒng)”,坐標及大?。?00,100,800,600)JFrame jsw=new JFrame(“學生管理系統(tǒng)”);/生成一個jframe對象jsw.setBounds(200,100,800,600);/設置

3、窗口坐標及大小jsw.setVisible(true);/顯示窗口, 隱藏: 設置參數(shù)為false4 制作主界面 1. 創(chuàng)建主界面Jpanel對象mjp,并將其添加到jsw上JPanel mjp=new JPanel();/創(chuàng)建一個默認布局的面板表示主界面mjp.setLayout(null);/設置mjp不使用布局,以實現(xiàn)其上組件的自定義布局jsw.getContentPane().add(mjp);/添加mjp到jsw上 2. 創(chuàng)建一個Jlabel組件對象jml,用來顯示“歡迎使用學生管理系統(tǒng)”,并放置在主界面jmp上JLabel jml= new JLabel(“歡迎使用學生管理系統(tǒng)”)

4、;/創(chuàng)建jml對象Jl.setBounds(100, 100, 200, 100);/設置jml坐標及大小mjp.add(jml);/把jml添加到mjp(主界面)上面3. 創(chuàng)建4個Jbutton組件對象,用來表示4個功能按鈕,設置它們的坐標及大小,并將它們添加到mjp上JButton jbtQ=new JButton(查詢);/創(chuàng)建按鈕組件對象jbtQ.setBounds(100,400, 80, 40);/設置查詢按鈕坐標及大小JButton jbtA=new JButton(添加);/創(chuàng)建按鈕組件對象jbtA.setBounds(200,400, 80, 40);JButton jbtU

5、=new JButton(修改);/創(chuàng)建按鈕組件對象jbtU.setBounds(300,400, 80, 40);JButton jbtD=new JButton(刪除);/創(chuàng)建按鈕組件對象jbtD.setBounds(400,400, 80, 40);jbtQ.add(jml);/把jbtQ(查詢按鈕對象)添加到mjp(主界面)上jbtA.add(jml);jbtU.add(jml);jbtD.add(jml);注意:觀察老師把多條代碼擺放的位置,而且要理解為什么是那樣?5. Java項目打包 編制好的項目如果想脫離eclipse運行 把項目打包成jar包 Jar(Java Archive

6、,Java 歸檔文件),它是將許多文件組合成的一個壓縮文件 包含main方法的jar包可以直接運行 電腦安裝jdk的前提下打包過程 1. 右鍵單擊項目,選export 2. 在彈出的界面選JavaJAR file,然后點擊next 3. 在彈出界面給定jar包位置及文件名,然后點擊next 4. 在彈出的JAR packaging Options面板,不用修改配置,直接點擊next 5. 在彈出的面板,選擇包含Main方法的類,然后點擊finish完成導出運行Jar包 1. 鼠標直接單擊可運行 2. 命令行運行 java jar test.jar課堂練習1 實現(xiàn)如下的界面,并把項目打包,并創(chuàng)建

7、快捷方式,通過點擊快捷方式直接運行程序6 制作其他界面的思路 可行的方法:在包含jsw的main方法中,比如要制作添加界面,再創(chuàng)建一個jpanel面板表示添加界面,創(chuàng)建文本框組件和按鈕組件,并放置在其上,已完成該面板的界面設計。最后,通過把該面板添加到jsw對象上,來顯示該面板 缺點:程序不好維護;蛻化成結(jié)構(gòu)化設計 選擇的方法:創(chuàng)建一個jpanel子類,界面及功能在該子類中完成7 設計JPanel子類 該類是4個其他界面的抽象,通過該類可以創(chuàng)建4個不同的Jpanel對象 該類的界面目標 在包含jsw對象的main方法中使用該類創(chuàng)建對象時,對象就具有了完整的界面定義,而無需再設置 Ojpanel

8、(other jpanel) 父類為Jpanel 實現(xiàn)父類的JPanel()構(gòu)造方法 1. 創(chuàng)建OJpanel類,要選擇構(gòu)造函數(shù)一項,main方法不用選 2. 修改Ojpanel代碼,讓其繼承JPanel類 3. 修改構(gòu)造函數(shù),讓其執(zhí)行父類的構(gòu)造函數(shù)JPanel() 子類必須實現(xiàn)父類的一個構(gòu)造函數(shù)8 在OJpanel中設計界面 因為Ojpanel可以生成4中不同的界面,可以用4個方法來為不同的界面設計放在其上的組件 initQ()表示為添加界面設計組件的方法 該方法中要添加6個標簽,6個文本框,2個按鈕 并將它們添加到Jpanel上 此時的jpanel就是ojpanel(它具有jpanel的一

9、切功能) 類中要使用自己,用this 1. 修改Ojpanel構(gòu)造函數(shù) 增加一個參數(shù)ptype,如果ptype為1則執(zhí)行添加界面的設計方法initQ() 并在構(gòu)造方法中設置當前類布局為無 this. setLayout(null); 2.設計方法initQ() 創(chuàng)建Jlabel,JtextFiled,Jbutton組件對象 添加到當前面板 比如添加標簽對象jl,則為:this.add(jl),表示把jl對象添加到由當前類產(chǎn)生的對象上,而當前類是一個從Jpanel對象派生的類,也就是把jl添加到一個jpanel面板對象上int lx=100;int lxoffset=300;int ly=100

10、;int lyoffset=100;int lw=40;int lh=50;JLabel jlxh= new JLabel(學號學號);jlxh.setBounds(lx, ly, lw, lh);JLabel jlxm= new JLabel(姓名姓名);jlxm.setBounds(lx+lxoffset, ly, lw, lh);JLabel jldh= new JLabel(電話電話);jldh.setBounds(lx, ly+lyoffset, lw, lh);JLabel jlqs= new JLabel(寢室寢室);jlqs.setBounds(lx+lxoffset, ly+

11、lyoffset, lw, lh);JLabel jlzw= new JLabel(職務職務);jlzw.setBounds(lx, ly+lyoffset*2, lw, lh);JLabel jljg= new JLabel(籍貫籍貫);jljg.setBounds(lx+lxoffset, ly+lyoffset*2, lw, lh);int tx=200;int txoffset=300;int ty=115;int tyoffset=100;int tw=120;int th=30;int tlength=20;JTextField jtfxh=new JTextField(tleng

12、th);jtfxh.setBounds(tx, ty, tw, th);JTextField jtfxm=new JTextField(tlength);jtfxm.setBounds(tx+txoffset, ty, tw, th);JTextField jtfdh=new JTextField(tlength);jtfdh.setBounds(tx, ty+tyoffset, tw, th);JTextField jtfqs=new JTextField(tlength);jtfqs.setBounds(tx+txoffset, ty+tyoffset, tw, th);JTextFiel

13、d jtfzw=new JTextField(tlength);jtfzw.setBounds(tx, ty+tyoffset*2, tw, th);JTextField jtfjg=new JTextField(tlength);jtfjg.setBounds(tx+txoffset, ty+tyoffset*2, tw, th);JButton jbtA=new JButton(添加添加);/創(chuàng)建按鈕組件對象創(chuàng)建按鈕組件對象jbtA.setBounds(200,400, 80, 40);JButton jbtB=new JButton(返回返回);/創(chuàng)建按鈕組件對象創(chuàng)建按鈕組件對象jbtB

14、.setBounds(300,400, 80, 40);this.add(jlxh);this.add(jlxm);this.add(jldh);this.add(jlqs);this.add(jlzw);this.add(jljg);this.add(jtfxh);this.add(jtfxm);this.add(jtfdh);this.add(jtfqs);this.add(jtfzw);this.add(jtfjg);this.add(jbtA);this.add(jbtB); 3. 在包含jsw的main方法中,創(chuàng)建OJpanel的添加界面對象ajp,并把其添加到jsw上9 添加按鈕事

15、件 給mjp的添加按鈕設置事件,實現(xiàn)切換界面的功能jbtA.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) 這里放切換到添加界面的按鈕); 切換方法(隱藏mjp,添加并顯示ajp) mjp.setVisible(false);/把主界面把主界面mjp設置為不可見設置為不可見 jsw.getContentPane().add(ajp);/添加ajp到jsw上 ajp.setVisible(true);/顯示添加界面顯示添加界面ajp 在事件處理函數(shù)中,對象要變?yōu)閒inal10 返回按鈕事件 在OJpanel類中給返回按鈕,添加事件jbtB.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) 隱藏誰?當前面板,可用this代替嗎

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論