




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java程序設(shè)計(jì)大作業(yè)報(bào)告題目: JAVA綜合應(yīng)用 物聯(lián)網(wǎng) 學(xué)院 電信1102 專業(yè)學(xué) 號(hào) 0703110220 學(xué)生姓名 曹曉桂 指導(dǎo)教師 張景莉 評(píng)定成績(jī) 二一四年十二13 / 14文檔可自由編輯打印一、 設(shè)計(jì)要求1、 目的要求學(xué)生運(yùn)用Java集成開發(fā)工具(如:JCREATOR、Eclipse等),獨(dú)立編寫一個(gè)綜合應(yīng)用程序,使學(xué)生能夠通過(guò)實(shí)踐,將面向?qū)ο蟪绦蛟O(shè)計(jì)的理論、技術(shù)、方法和Java語(yǔ)言相結(jié)合,熟練使用Java類庫(kù)進(jìn)行一些較為復(fù)雜實(shí)例的應(yīng)用系統(tǒng)程序設(shè)計(jì),包括GUI設(shè)計(jì)、輸入輸出流、異常處理和Web應(yīng)用程序設(shè)計(jì)等。2 、開發(fā)環(huán)境1.系統(tǒng)環(huán)境:Windows 7系統(tǒng)1. jdk版本:jd
2、k1.7.0_60 2.集成開發(fā)環(huán)境:JCREATOR3、 設(shè)計(jì)要求:創(chuàng)建一個(gè)GUI界面,運(yùn)用一個(gè)包含2個(gè)選項(xiàng)卡的選項(xiàng)卡面板,實(shí)現(xiàn)以下功能:“自我介紹”選項(xiàng)卡:顯示設(shè)計(jì)者的個(gè)人信息,包括學(xué)號(hào)、姓名、本人的兩張不同的照片(至少一張為單 人照)和英文自我簡(jiǎn)介(不得少于50個(gè)單詞),然后在一個(gè)彈出的信息窗口中顯示自我簡(jiǎn)介的字?jǐn)?shù)。“文件測(cè)試”選項(xiàng)卡:對(duì)用戶輸入的一個(gè)名稱進(jìn)行判斷,名稱由文本框輸入。如果是一個(gè)文件名,則輸出該文件相關(guān)屬性(文件名、絕對(duì)路徑和文件的長(zhǎng)度等)。如果是一個(gè)目錄,則輸出該目錄下的對(duì)象個(gè)數(shù)。如該名稱不存在,則以此名稱為名在當(dāng)前目錄下創(chuàng)建一個(gè)文件,內(nèi)容自定。二、設(shè)計(jì)思路1、設(shè)計(jì)思路根
3、據(jù)老師給的設(shè)計(jì)要求,確定了如下的設(shè)計(jì)思路: 首先在JFrame窗口中創(chuàng)建一個(gè)JTabbedPane選項(xiàng)卡面板 在選項(xiàng)卡面板里創(chuàng)建2個(gè)選項(xiàng)卡,分別為“自我介紹”,“文件測(cè)試”。 在面板里分別添加三個(gè)子面板,位于每個(gè)面板的上中下。 根據(jù)設(shè)計(jì)要求在各子面板上添加組件。 給按鈕添加事件響應(yīng)。 測(cè)試功能是否實(shí)現(xiàn),檢查有無(wú)明顯缺陷。三、 實(shí)現(xiàn)代碼和運(yùn)行結(jié)果1、實(shí)現(xiàn)過(guò)程和代碼import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.StringTokenizer;publi
4、c class JTabbedPaneDemo extends JFrame private JLabel name,number,clabel,dlabel,name2;private JTextField nameText,numberText,cText,dText,name2Text;private JTextArea textArea1,textArea2;private JButton showButton,analyseButton,testButton, writeButton,emptyButton;private ;private String str = new Stri
5、ng("Hi boys and girls."+"n"+ "My name is caoxiaogui,I am from Nantong!"+"n"+"I am a student from jiangnan university and my major is electronic information engineering "+"n"+" I spend most of my time on study and I like play pingpang.
6、"+"n"+"I have acquired basic knowledge of my major during my school time. "+"n"+"That is all.Thank you!");public static void main(String args) new JTabbedPaneDemo().setVisible(true);/設(shè)置組建可視public JTabbedPaneDemo() super("曹曉桂0703110220作業(yè)");/給窗口標(biāo)題
7、命名 JTabbedPane tabbedPane=new JTabbedPane(); /創(chuàng)建panel1 JLabel label1=new JLabel("firstPane",SwingConstants.CENTER); JPanel firstPane = new JPanel(); firstPane.setLayout(new BorderLayout(); tabbedPane.addTab("自我介紹",null,firstPane,"First Panel"); /分別添加3個(gè)子面板 JPanel panel =
8、 new JPanel3;panel0 = new JPanel();panel1 = new JPanel();panel2 = new JPanel();firstPane.add(panel0, BorderLayout.NORTH);firstPane.add(panel1, BorderLayout.CENTER);firstPane.add(panel2, BorderLayout.SOUTH); /創(chuàng)建姓名,學(xué)號(hào)標(biāo)簽及文本框并添加 name=new JLabel("學(xué)號(hào):"); nameText=new JTextField(10); nameText.set
9、Editable(false); number=new JLabel("姓名"); numberText=new JTextField(10); numberText.setEditable(false); panel0.add(number);panel0.add(numberText);panel0.add(name);panel0.add(nameText);/創(chuàng)建圖像標(biāo)簽,對(duì)象,設(shè)置標(biāo)簽相對(duì)于圖像的位置并添加Icon bug1 = new ImageIcon("生活照.jpg");clabel = new JLabel("照片1:&qu
10、ot;,bug1,SwingConstants.LEFT);clabel.setHorizontalTextPosition(SwingConstants.CENTER);clabel.setVerticalTextPosition(SwingConstants.BOTTOM);Icon bug2 = new ImageIcon("生活照.jpg");dlabel = new JLabel("照片2:",bug2,SwingConstants.RIGHT);dlabel.setHorizontalTextPosition(SwingConstants.C
11、ENTER);dlabel.setVerticalTextPosition(SwingConstants.BOTTOM);textArea1=new JTextArea(6,45);panel1.add(clabel); panel1.add(textArea1); panel1.add(dlabel);/創(chuàng)建按鈕并給按鈕添加事件響應(yīng) showButton=new JButton("show"); showButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent
12、 e) showMessage();); analyseButton=new JButton("analyse"); analyseButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) showWordNumber();); panel2.add(showButton);panel2.add(analyseButton); /創(chuàng)建panel2 JLabel label2=new JLabel("secondPane",SwingCo
13、nstants.CENTER); JPanel secondPane=new JPanel(); secondPane.setLayout(new BorderLayout(); tabbedPane.addTab("文件測(cè)試",null,secondPane,"Second Panel"); /分別添加3個(gè)子面板JPanel panel2 = new JPanel3;panel20 = new JPanel();panel21 = new JPanel();panel22 = new JPanel();secondPane.add(panel20, B
14、orderLayout.NORTH);secondPane.add(panel21, BorderLayout.CENTER);secondPane.add(panel22, BorderLayout.SOUTH); /創(chuàng)建標(biāo)簽及文本框并添加 name2=new JLabel("請(qǐng)輸入名稱:"); name2Text = new JTextField(); name2Text.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)if(!name2Text.getTex
15、t().equals("")testButton.setEnabled(true);); name2Text.setColumns(20); panel20.add(name2);panel20.add(name2Text); textArea2=new JTextArea(6,45); panel21.add(textArea2); testButton = new JButton("test");writeButton = new JButton("write");writeButton.setEnabled(false); em
16、ptyButton = new JButton("empty"); panel22.add(testButton);panel22.add(writeButton);panel22.add(emptyButton);testButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) testAction();); writeButton.addActionListener(new ActionListener() public void actionPerf
17、ormed(ActionEvent e) writeAction();); emptyButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) emptyAction();); getContentPane().add(tabbedPane); setSize(800,300);/設(shè)置窗口大小 setVisible(true); /顯示信息與照片 public void showMessage() numberText.setText("0703110220&quo
18、t;);nameText.setText("曹曉桂");textArea1.setText(str); /分析自我介紹的英文字?jǐn)?shù)public void showWordNumber() int wordNum = 0;String str = textArea1.getText();StringTokenizer st = new StringTokenizer(str);while (st.hasMoreElements() st.nextElement();wordNum+;JOptionPane.showMessageDialog(null, "曹曉桂,您的
19、簡(jiǎn)歷字?jǐn)?shù)為:" + wordNum, "簡(jiǎn)歷字?jǐn)?shù)統(tǒng)計(jì)",JOptionPane.PLAIN_MESSAGE); /文件測(cè)試的實(shí)現(xiàn)public void testAction() String str = name2Text.getText();if (!str.equals("") file = new );if () String path = ();String length = () + "B" textArea2.setText("這是一個(gè)文件,其相關(guān)屬性為:: "+ () + "n&q
20、uot; + "Path: " + path + "n"+ "Length: " + length); else if () String = ();textArea2.setText("這是一個(gè)目錄,它下面有" + + "個(gè)對(duì)象。"); else textArea2.setText("該對(duì)象不存在,請(qǐng)按wirte鍵來(lái)創(chuàng)建該文件!");writeButton.setEnabled(true); elseJOptionPane.showMessageDialog(null, &
21、quot;請(qǐng)輸入名稱!"); /以未知名稱為文件名創(chuàng)建一個(gè)新文件public void writeAction() try ();String str=new String("為新文件輸入文件內(nèi)容");OutputStream output=new (file);output.write(str.getBytes(); catch (IOException e) e.printStackTrace(); textArea2.setText("文件建立成功!");writeButton.setEnabled(false); /清空文件測(cè)試面板中的
22、內(nèi)容public void emptyAction() name2Text.setText(""); textArea2.setText(""); 2、 運(yùn)行結(jié)果“自我介紹”選項(xiàng)卡實(shí)現(xiàn)初始狀態(tài)下,”analyse”命令按鈕為不可用。單擊“show”命令按鈕后的界面(“analyse”命令按鈕變?yōu)榭捎茫簡(jiǎn)螕簟盿nalyse”命令按鈕后,彈出的信息窗口: “文件測(cè)試”選項(xiàng)卡實(shí)現(xiàn):初始狀態(tài)下,”write”命令按鈕為不可用。輸入一個(gè)名稱,單擊”test”命令按鈕,檢測(cè)出該名稱為一個(gè)文件名后的界面(輸出該文件相關(guān)屬性)單擊”empty”命令按鈕后,清空文本框和
23、信息框。輸入一個(gè)名稱,單擊”test”命令按鈕,檢測(cè)出該名稱不存在時(shí)的界面(”write”命令按鈕變?yōu)榭捎茫簡(jiǎn)螕簟眞rite”命令按鈕,以此名稱為名在當(dāng)前目錄下創(chuàng)建一個(gè)文件,內(nèi)容自定。創(chuàng)建成功后,”write”命令按鈕重新變?yōu)椴豢捎谩]斎胍粋€(gè)名稱,單擊”test”命令按鈕,檢測(cè)出該名稱為一個(gè)文件夾名后的界面:四、 問題解決與總結(jié)1、 遇到的問題與解決方法 遇到的問題 初始界面出現(xiàn)時(shí),窗口太小,無(wú)法完全顯示窗口內(nèi)容。英文單詞計(jì)數(shù)不對(duì),信息顯示后自我介紹部分窗口會(huì)改變大小。 “自我介紹”選項(xiàng)卡面板中,照片橫放且占據(jù)大部分界面。 輸入文件夾名,文件夾存在但不顯示其信息。 解決方法: 通過(guò)查找課本以及資料,重新設(shè)置調(diào)整窗口大小。 最初設(shè)置時(shí)每行字符數(shù)目設(shè)置過(guò)小引起。 照片本身過(guò)大。2、 實(shí)驗(yàn)總結(jié) 通過(guò)這次作業(yè)我學(xué)會(huì)了很多,也在自學(xué)的過(guò)程中積累了很多在平時(shí)學(xué)不到的東西。雖然在過(guò)程中遇到了很多問題,但在同學(xué)以及的指導(dǎo)下,都能夠把這些問題進(jìn)行解決。 開始學(xué)習(xí)Java語(yǔ)言的時(shí)候,感覺十分吃力,有好多地方都不懂,盡管如此,我還是編了一些
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)安全服務(wù)合同及安全承諾條款說(shuō)明
- 現(xiàn)代管理學(xué)價(jià)值觀試題及答案
- 行政管理在應(yīng)急管理中的角色試題及答案
- 建筑企業(yè)中標(biāo)合同范本
- 2025年學(xué)校餐飲服務(wù)合同簡(jiǎn)易版樣本
- 公文寫作實(shí)戰(zhàn)練習(xí)試題及答案
- 建筑材料的質(zhì)量檢驗(yàn)方法試題及答案
- 2025商業(yè)銀行個(gè)人存款(國(guó)債)質(zhì)押借款合同
- 2025大連市建筑材料采購(gòu)合同書
- 行政管理基礎(chǔ)課程的必修知識(shí)與試題及答案
- 《公共管理學(xué)》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 公司實(shí)際控股人協(xié)議書
- 機(jī)械制圖習(xí)題集第九章《裝配圖》匯編
- 天師大和韓國(guó)世翰大學(xué)研究生入學(xué)英語(yǔ)試題
- 土建生態(tài)環(huán)保和綠色施工環(huán)境管理培訓(xùn)ppt
- GB/T 27930-2023非車載傳導(dǎo)式充電機(jī)與電動(dòng)汽車之間的數(shù)字通信協(xié)議
- 電力工程項(xiàng)目管理手冊(cè)
- 2023年高考真題-政治(江蘇卷)含解析
- 醫(yī)院化驗(yàn)單模板 血常規(guī)
- 領(lǐng)導(dǎo)干部個(gè)人事項(xiàng)少報(bào)漏報(bào)說(shuō)明
- 提高住院病歷完成及時(shí)性持續(xù)改進(jìn)(PDCA)
評(píng)論
0/150
提交評(píng)論