JAVA-GUI設(shè)計報告_第1頁
JAVA-GUI設(shè)計報告_第2頁
JAVA-GUI設(shè)計報告_第3頁
JAVA-GUI設(shè)計報告_第4頁
JAVA-GUI設(shè)計報告_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Java程序設(shè)計大作業(yè)報告題目: JAVA綜合應(yīng)用 物聯(lián)網(wǎng) 學(xué)院 電信1102 專業(yè)學(xué) 號 0703110220 學(xué)生姓名 曹曉桂 指導(dǎo)教師 張景莉 評定成績 二一四年十二13 / 14文檔可自由編輯打印一、 設(shè)計要求1、 目的要求學(xué)生運用Java集成開發(fā)工具(如:JCREATOR、Eclipse等),獨立編寫一個綜合應(yīng)用程序,使學(xué)生能夠通過實踐,將面向?qū)ο蟪绦蛟O(shè)計的理論、技術(shù)、方法和Java語言相結(jié)合,熟練使用Java類庫進(jìn)行一些較為復(fù)雜實例的應(yīng)用系統(tǒng)程序設(shè)計,包括GUI設(shè)計、輸入輸出流、異常處理和Web應(yīng)用程序設(shè)計等。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è)計要求:創(chuàng)建一個GUI界面,運用一個包含2個選項卡的選項卡面板,實現(xiàn)以下功能:“自我介紹”選項卡:顯示設(shè)計者的個人信息,包括學(xué)號、姓名、本人的兩張不同的照片(至少一張為單 人照)和英文自我簡介(不得少于50個單詞),然后在一個彈出的信息窗口中顯示自我簡介的字?jǐn)?shù)?!拔募y試”選項卡:對用戶輸入的一個名稱進(jìn)行判斷,名稱由文本框輸入。如果是一個文件名,則輸出該文件相關(guān)屬性(文件名、絕對路徑和文件的長度等)。如果是一個目錄,則輸出該目錄下的對象個數(shù)。如該名稱不存在,則以此名稱為名在當(dāng)前目錄下創(chuàng)建一個文件,內(nèi)容自定。二、設(shè)計思路1、設(shè)計思路根

3、據(jù)老師給的設(shè)計要求,確定了如下的設(shè)計思路: 首先在JFrame窗口中創(chuàng)建一個JTabbedPane選項卡面板 在選項卡面板里創(chuàng)建2個選項卡,分別為“自我介紹”,“文件測試”。 在面板里分別添加三個子面板,位于每個面板的上中下。 根據(jù)設(shè)計要求在各子面板上添加組件。 給按鈕添加事件響應(yīng)。 測試功能是否實現(xiàn),檢查有無明顯缺陷。三、 實現(xiàn)代碼和運行結(jié)果1、實現(xiàn)過程和代碼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個子面板 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é)號標(biāo)簽及文本框并添加 name=new JLabel("學(xué)號:"); 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)簽,對象,設(shè)置標(biāo)簽相對于圖像的位置并添加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("文件測試",null,secondPane,"Second Panel"); /分別添加3個子面板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("請輸入名稱:"); 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、簡歷字?jǐn)?shù)為:" + wordNum, "簡歷字?jǐn)?shù)統(tǒng)計",JOptionPane.PLAIN_MESSAGE); /文件測試的實現(xiàn)public void testAction() String str = name2Text.getText();if (!str.equals("") file = new );if () String path = ();String length = () + "B" textArea2.setText("這是一個文件,其相關(guān)屬性為:: "+ () + "n&q

20、uot; + "Path: " + path + "n"+ "Length: " + length); else if () String = ();textArea2.setText("這是一個目錄,它下面有" + + "個對象。"); else textArea2.setText("該對象不存在,請按wirte鍵來創(chuàng)建該文件!");writeButton.setEnabled(true); elseJOptionPane.showMessageDialog(null, &

21、quot;請輸入名稱!"); /以未知名稱為文件名創(chuàng)建一個新文件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); /清空文件測試面板中的

22、內(nèi)容public void emptyAction() name2Text.setText(""); textArea2.setText(""); 2、 運行結(jié)果“自我介紹”選項卡實現(xiàn)初始狀態(tài)下,”analyse”命令按鈕為不可用。單擊“show”命令按鈕后的界面(“analyse”命令按鈕變?yōu)榭捎茫簡螕簟盿nalyse”命令按鈕后,彈出的信息窗口: “文件測試”選項卡實現(xiàn):初始狀態(tài)下,”write”命令按鈕為不可用。輸入一個名稱,單擊”test”命令按鈕,檢測出該名稱為一個文件名后的界面(輸出該文件相關(guān)屬性)單擊”empty”命令按鈕后,清空文本框和

23、信息框。輸入一個名稱,單擊”test”命令按鈕,檢測出該名稱不存在時的界面(”write”命令按鈕變?yōu)榭捎茫簡螕簟眞rite”命令按鈕,以此名稱為名在當(dāng)前目錄下創(chuàng)建一個文件,內(nèi)容自定。創(chuàng)建成功后,”write”命令按鈕重新變?yōu)椴豢捎?。輸入一個名稱,單擊”test”命令按鈕,檢測出該名稱為一個文件夾名后的界面:四、 問題解決與總結(jié)1、 遇到的問題與解決方法 遇到的問題 初始界面出現(xiàn)時,窗口太小,無法完全顯示窗口內(nèi)容。英文單詞計數(shù)不對,信息顯示后自我介紹部分窗口會改變大小。 “自我介紹”選項卡面板中,照片橫放且占據(jù)大部分界面。 輸入文件夾名,文件夾存在但不顯示其信息。 解決方法: 通過查找課本以及資料,重新設(shè)置調(diào)整窗口大小。 最初設(shè)置時每行字符數(shù)目設(shè)置過小引起。 照片本身過大。2、 實驗總結(jié) 通過這次作業(yè)我學(xué)會了很多,也在自學(xué)的過程中積累了很多在平時學(xué)不到的東西。雖然在過程中遇到了很多問題,但在同學(xué)以及的指導(dǎo)下,都能夠把這些問題進(jìn)行解決。 開始學(xué)習(xí)Java語言的時候,感覺十分吃力,有好多地方都不懂,盡管如此,我還是編了一些

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論