⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 composeemail.java

📁 Java邮箱
💻 JAVA
字号:
package Email.awt.net;


import java.awt.*;
import java.awt.event.*;
import java.util.*;
import Email.net.*;
import Email.awt.*;

public class ComposeEmail extends WinFrame {
	  
  private Button sendButton = new Button("Send");
  private Button toButton = new Button("To:");
  private Button ccButton = new Button("Cc:");
  private Button bccButton = new Button("Bcc:");
  private Button insertAtt = new Button("Attachment:");
  //private Button search = new Button("...");

  private TextField to = new TextField();
  private TextField cc = new TextField();
  private TextField bcc = new TextField();
  private TextField subject = new TextField();
  private static TextField attachments = new TextField();
  private TextArea  contents = new TextArea();

  private Email email = new Email();
  private Mailbox mailbox;
  
  //调试增加
  private Frame f;
  private FileDialog fd;
  //private WinFrame wf  ;

  //设置发送邮件内容
  private void send() {
    email.setFrom( mailbox.getFrom() );
    email.setTo( to.getText() );
    email.setCc( cc.getText() );
    email.setBcc( bcc.getText() );
    email.setSubject( subject.getText() );
    email.attachBody( contents.getText() );
    //System.out.println("attachment = " + attachments.getText() );
    String attachName = attachments.getText();
    if( !attachName.equals("") )              // 有附件
        email.attachment( attachName );
    mailbox.post( email );
    dispose();
  }

  private WinPanel displayArea() {
    WinPanel p = new WinPanel();

    GridBagLayout gridBag = new GridBagLayout();
    GridBagConstraints c = new GridBagConstraints();
    p = new WinPanel();
    p.setLayout( gridBag );

    Label l;
    c.fill = GridBagConstraints.BOTH;
    c.insets = new Insets(1,2,1,2);
    c.weightx = 0.0;
    gridBag.setConstraints(toButton, c);
    p.add(toButton);

    c.gridwidth = GridBagConstraints.REMAINDER;
    c.weightx = 1.0;
    gridBag.setConstraints(to,c);
    p.add(to);
    
    
    
    c.gridwidth = GridBagConstraints.RELATIVE;
    c.weightx = 0.0;
    gridBag.setConstraints(ccButton, c);
    p.add(ccButton);

    c.gridwidth = GridBagConstraints.REMAINDER;
    c.weightx = 1.0;
    gridBag.setConstraints(cc,c);
    p.add(cc);

    c.gridwidth = GridBagConstraints.RELATIVE;
    c.weightx = 0.0;
    gridBag.setConstraints(bccButton, c);
    p.add(bccButton);

    c.gridwidth = GridBagConstraints.REMAINDER;
    c.weightx = 1.0;
    gridBag.setConstraints(bcc,c);
    p.add(bcc);

    c.gridwidth = GridBagConstraints.RELATIVE;
    c.weightx = 0.0;
    gridBag.setConstraints( l = new Label("Subject: "), c);
    p.add(l);

    c.gridwidth = GridBagConstraints.REMAINDER;
    c.weightx = 1.0;
    gridBag.setConstraints(subject,c);
    p.add(subject);
    
    c.gridwidth = GridBagConstraints.RELATIVE;         //另起一行
    c.gridwidth = 1;
    c.weightx = 0.0;
    gridBag.setConstraints( l = new Label("Attachments: "), c );
    p.add(l);

    c.gridwidth = GridBagConstraints.REMAINDER;
    c.weightx = 1.0;
    gridBag.setConstraints(attachments,c);
    p.add( attachments );
    
    //新建一个按钮
    c.gridwidth = GridBagConstraints.REMAINDER;       //一行结束
    c.weightx = 1.0;
    
    Button search = new Button("Open...");
    search.addActionListener
      (
        new ActionListener() {
          public void actionPerformed( ActionEvent e ){
          	 //在此设置选择对话框,选择文件上传附件	  
             f = new Frame("FileDialog Example");
		     fd = new FileDialog( f,"FileDialog",FileDialog.LOAD ); 
		     fd.setSize(350,150);
		     fd.setVisible(true);
		     attachments.setText( fd.getDirectory() + fd.getFile() );  
             }
            
        }
      ); 
    p.add(search);
    
    c.gridwidth = GridBagConstraints.RELATIVE;
    c.weighty = 0.0;
    gridBag.setConstraints(contents,c);
    
    c.gridwidth = GridBagConstraints.REMAINDER;
    p.add(contents);
      
    return p;
  }


  public void init(Email email) {
    this.email = email;
    to.setText( email.getToAsString() );
    cc.setText( email.getCcAsString() );
    bcc.setText( email.getBccAsString() );
    subject.setText( email.getSubject() );
    contents.setText( email.getBodyAsString() );
  }

  private void init(Mailbox mailbox) {   // 发送邮件面板初始化
    this.mailbox = mailbox;
    add( "South",sendButton );
    add( "Center",displayArea() );
    pack();
    sendButton.addActionListener
      (
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
             ComposeEmail.this.send(); 
            }
        }
      );
  }

  public ComposeEmail (String title, Mailbox mailbox) {
    super(title);
    init(mailbox);
  }

  public ComposeEmail (String title, Mailbox mailbox, Email email) {
    super( title );
    init( mailbox );
    init( email );
  }
  
/*
  public static void main(String[] args) {
    new ComposeEmail("ComposeEmail Demo", new Mailbox() {
           public void post( Email email ) {
              System.out.println(email); 
              }
           public String getFrom() { 
              return "wy82@21cn.com"; 
              }
         })
      .appMainWindow().setVisible(true);
  }
 */
 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -