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

📄 composeemail.java

📁 一个功能比较全的JMail程序这里面付有源码
💻 JAVA
字号:
package jws.awt.net;

// Copyright 1997, John Webster Small
// All rights Reserved

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import jws.net.*;
import jws.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 TextField to = new TextField();
  private TextField cc = new TextField();
  private TextField bcc = new TextField();
  private TextField subject = new TextField();
  private TextArea contents = new TextArea();

  private Email email = new Email();
  private Mailbox mailbox;

  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());
    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);
    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;
    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;
    gridBag.setConstraints(bcc,c);
    p.add(bcc);

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

    c.gridwidth = GridBagConstraints.REMAINDER;
    gridBag.setConstraints(subject,c);
    p.add(subject);

    c.gridwidth = GridBagConstraints.REMAINDER;
    c.weighty = 1.0;
    gridBag.setConstraints(contents,c);
    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 "jsmall@laser.net"; }
         })
      .appMainWindow().setVisible(true);
  }
*/
}

⌨️ 快捷键说明

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