📄 mainframe.java
字号:
//package mailbox;import java.awt.*;import javax.swing.*;import java.io.*;import java.util.*;import java.awt.event.*;/** * Title: MailBox * Description: send and recieve Email * Copyright: Copyright (c) 2002 * Company: 421 * @author xuhao * @version 1.0 */public class MainFrame extends JFrame { BorderLayout borderLayout1 = new BorderLayout(); JTabbedPane mainTab = new JTabbedPane(); ConfigPanel configPanel; RecievePanel recievePanel; SendPanel sendPanel; JPanel helpPanel=new JPanel(); JTextArea helpArea = new JTextArea(); public MainFrame() { try { enableEvents(AWTEvent.WINDOW_EVENT_MASK); jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.getContentPane().setLayout(borderLayout1); File attachments=new File("附件"); File emails=new File("邮件夹"); if(!emails.exists()) emails.mkdirs(); if(!attachments.exists()) attachments.mkdirs(); if((new File("object")).exists()) {try{ObjectInputStream in2=new ObjectInputStream(new FileInputStream("object")); recievePanel=(RecievePanel)in2.readObject(); configPanel=(ConfigPanel)in2.readObject(); in2.close(); } catch(Exception ioe) { recievePanel=new RecievePanel(); configPanel=new ConfigPanel(); JOptionPane.showMessageDialog(this,"上次退出异常,现在重新加载,你的邮件请在emails文件夹里找"); } } else { recievePanel=new RecievePanel(); configPanel=new ConfigPanel(); } User.setDisplayName(configPanel.displayField.getText()); User.setUserName(configPanel.userField.getText()); User.setPassWord(configPanel.passwordField.getText()); User.setPop3Server(configPanel.pop3Field.getText()); User.setSmtpServer(configPanel.smtpField.getText()); User.setValidateNeeded(configPanel.validateCheckBox.isSelected()); sendPanel=new SendPanel(recievePanel); helpPanel.setLayout(null); helpArea.setBounds(new Rectangle(60, 28, 439, 325)); helpArea.setFont(new java.awt.Font("Monospaced", 0, 14)); String word=" <SimpleMailBox2.0使用帮助>\n1.pop3服务器推荐:pop3.163.com;pop3.sohu.com;\n pop3.sina.com.cn;pop.21cn.com;\n2.smtp服务器推荐:smtp.163.com;smtp.sohu.com;\n smtp.sina.com.cn;smtp.21cn.com;\n3.国内smtp服务器现在大部分都需要用户名密码验证,上述\n 几个都需要验证.请在《邮箱配置》里在'是否需要验证’\n 这一项打上勾,(默认已经选中).\n4.本程序部分采用序列化操作.为避免以外发生,所以在\n emails文件夹保存着相应的邮件.\n5.请不要删掉各个文件夹和文件,否则,程序将重新初始化.\n6.本程序善不能正确显示html格式的email.\n附:本人邮箱地址为wenzhouahao@sina.com.cn\n 作者:徐壕\n"; helpArea.setText(word); this.getContentPane().add(mainTab); mainTab.setBackground(SystemColor.inactiveCaptionBorder); mainTab.setFont(new java.awt.Font("Monospaced", 0, 14)); helpPanel.add(helpArea, null); mainTab.addTab("使用帮助",helpPanel); mainTab.addTab("接收邮件",recievePanel); mainTab.addTab("发送邮件",sendPanel); mainTab.addTab("邮箱配置",configPanel); mainTab.setSelectedIndex(0); this.setResizable(false); this.setSize(580,440); } protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { mainTab.setSelectedIndex(0); helpArea.requestFocus(); try{ ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream("object")); out.writeObject(recievePanel); out.writeObject(configPanel); out.close(); } catch(Exception ep){ ep.printStackTrace(); } System.exit(0); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -