📄 composeemail.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 + -