Java項(xiàng)目文檔.doc_第1頁
Java項(xiàng)目文檔.doc_第2頁
Java項(xiàng)目文檔.doc_第3頁
Java項(xiàng)目文檔.doc_第4頁
Java項(xiàng)目文檔.doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目Domino計(jì)劃書 制作人:何燕 一:項(xiàng)目名稱:Java語言實(shí)現(xiàn)發(fā)送郵件程序二:項(xiàng)目開發(fā)工具:開發(fā)工具:MyEclipse 6.5 - Milestone 1三:項(xiàng)目開發(fā)背景:1、 模擬發(fā)送郵件系統(tǒng),連接客戶端,通過Button按鈕實(shí)現(xiàn)發(fā)送事件。此時(shí)在文本區(qū)域response里可以看到發(fā)件人、收件人以及文本消息。2、 在Internet上可以實(shí)現(xiàn)發(fā)送郵件,對(duì)方可以接收到。四:應(yīng)用知識(shí)點(diǎn):1、 在Jframe 中應(yīng)用面板布局,布局過程使用BorderLayout、GridLayout2、 在MailTestFrame類中繼承Jframe實(shí)現(xiàn)接口ActionListener中的actionPerformed方法,在實(shí)現(xiàn)actionPerformed函數(shù)中的事件是自動(dòng)調(diào)用Runnable () 函數(shù),調(diào)用下面的sendMail()方法。3、 在sendMail()方法中新建一個(gè)服務(wù)器客戶端,用于連接工作。經(jīng)過流的轉(zhuǎn)化,輸出。為使程序在運(yùn)行時(shí)更加健壯,我使用try(),catch()函數(shù)抓捕異常。4、 把發(fā)送信息顯示在另一個(gè)JtextArea(response)文本區(qū)域中。 五:個(gè)人總結(jié): 時(shí)間過得真快,轉(zhuǎn)眼間大二一學(xué)期又結(jié)束了?;仡櫼幌逻@一學(xué)期,我們主要學(xué)了用數(shù)據(jù)結(jié)構(gòu)、C#做GUI窗體、XML可拓展語言、ADO.NET、JAVA、Java做GUI。在學(xué)習(xí)的過程中,我會(huì)認(rèn)真的聽課,課后也我會(huì)認(rèn)真看書,認(rèn)真做程序。總體說來,這一學(xué)期,過得很充實(shí),學(xué)到了大學(xué)里該學(xué)的東西,唯一的遺憾是,在專業(yè)上做的還不是最好,不過我會(huì)一直努力,爭(zhēng)取做到更好,把該學(xué)的學(xué)到位! 通過這次做項(xiàng)目,我對(duì)專業(yè)的認(rèn)知與理解又增強(qiáng)了許多,對(duì)C#與Java的感知也是很深,一個(gè)簡(jiǎn)單的程序有多個(gè)類,類一般要實(shí)現(xiàn)接口中的函數(shù)。在我做的項(xiàng)目中,我的MailTestFrame繼承Jframe實(shí)現(xiàn)ActionListener接口中的actionPerformed方法actionPerformed函數(shù)中的事件是自動(dòng)調(diào)用Runnable () 函數(shù),在類中定義一個(gè)sendMail()方法,在該方法中Socket s = new Socket(smtpServer.getText(), 25); out = new PrintWriter(s.getOutputStream(); in = new BufferedReader(new InputStreamReader(s.getInputStream();流的轉(zhuǎn)化輸出。在輸出結(jié)果中用gettext()取得from、to、”正文”中的文本內(nèi)容,最后以一個(gè)結(jié)束,發(fā)送郵件關(guān)閉。六:項(xiàng)目需求界面1 發(fā)送郵件主界面設(shè)計(jì)七:程序的結(jié)構(gòu)1 添加三個(gè)panel面板,用BorderLayout布局,按上北,下南,左東,又西,中的空間方位布局。2 用GridLayout在P1中布局一個(gè)三行兩列的表單,分別用于添加三個(gè)label和三個(gè)JtextField。3 在P2中添加兩個(gè)JtextArea文本區(qū)域4 在P3中添加一個(gè)Button作為發(fā)送按鈕八:程序源代碼import java.awt.BorderLayout;import java.awt.Component;import java.awt.Color;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import .InetAddress;import .Socket;import java.util.Date;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.SwingUtilities;public class MailTest /* * param args */public static void main(String args) / TODO Auto-generated method stub/ JFrame f=new JFrame(MailTest);/ f.setSize(300,300);/ f.setVisible(true);MailTestFrame mtf = new MailTestFrame();/mtf.setSize(500, 500);class MailTestFrame extends JFrame implements ActionListener private BufferedReader in;private PrintWriter out;private JTextField from;private JTextField to;private JTextField smtpServer;private JTextArea message;private JTextArea response;private JLabel label;private JLabel label1;private JLabel label2;private JScrollPane sp;private JScrollPane sp1;public MailTestFrame() addWindowListener(new WindowAdapter() public void WindowClosing(WindowEvent e) System.exit(0););JPanel p1 = new JPanel(); p1.setBackground(Color.pink);JPanel p2 = new JPanel();JPanel p3 = new JPanel();this.setLayout(new BorderLayout();p1.setLayout(new GridLayout(3,2);p2.setLayout(new BorderLayout();p3.setLayout(new BorderLayout();this.add(p1,BorderLayout.NORTH);this.add(p2,BorderLayout.CENTER);this.add(p3,BorderLayout.SOUTH);label2 = new JLabel(發(fā)送地址:);from = new JTextField(10);label = new JLabel(收件地址:);to = new JTextField(10);label1 = new JLabel(SMTP服務(wù)器);smtpServer = new JTextField(10);p1.add(label);p1.add(from);p1.add(label2);p1.add(to);p1.add(label1);p1.add(smtpServer);message = new JTextArea();sp = new JScrollPane(message);response = new JTextArea();p2.add(sp,BorderLayout.CENTER);p2.add(new JScrollPane(response),BorderLayout.SOUTH);JButton sentbutton = new JButton(發(fā)送!); sentbutton.setBackground(Color.pink);p3.add(sentbutton,BorderLayout.CENTER);sentbutton.addActionListener(this);this.setTitle(MailTest);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/this.setLocationRelativeTo(null);/this.pack();this.setSize(400,500);this.setVisible(true);public void actionPerformed(ActionEvent evt) SwingUtilities.invokeLater(new Runnable() public void run() sendMail(););public void sendMail() try Socket s = new Socket(smtpServer.getText(), 25);out = new PrintWriter(s.getOutputStream();in = new BufferedReader(new InputStreamReader(s.getInputStream();String hostName = InetAddress.getLocalHost().getHostName();send(null);send( Host: + hostName);send( Mail from: + from.getText();send( Mail TO: + to.getText();Date dt = new Date();send(DATA + /);send(正文: + message.getText();send(.);s.close(); catch (IOException ion

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論