www.pudn.com > JavaMailWithGUI.rar > MainFrame.java


 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
 
import java.io.ObjectInputStream; 
import java.io.ObjectOutputStream; 
 
public class MainFrame extends JFrame { 
 
	private javax.swing.JPanel jContentPane = null; 
	ConfigPanel configPanel; //设置操作界面 
 
	private TabbedPane tabbedPane = null; //标签控件 
	 
	/*构造函数*/ 
	public MainFrame() { 
		super("MyMailBox"); 
		try { 
			enableEvents(AWTEvent.WINDOW_EVENT_MASK); 
 
			initinize(); //初始化界面 
		} catch (Exception e) { 
			e.printStackTrace(); 
		} 
	} 
	/*初始化界面函数*/ 
	private void initinize() throws Exception { 
 
		File enclosure = new File("Enclosure"); 
		File emails = new File("MailBox"); 
 
		//创建文件夹 
		if (!emails.exists()) { 
			emails.mkdirs(); 
		} 
		//创建文件夹 
		if (!enclosure.exists()) { 
			enclosure.mkdirs(); 
		} 
 
		//初始化标签控件 
		if ((new File("Mail.ws")).exists()) {	//如果配置文件存在 
			try  
			{ 
				//得到配置文件的输入流 
				ObjectInputStream input = 
					new ObjectInputStream(new FileInputStream("Mail.ws")); 
				//读取序列化标签控件 
				tabbedPane = (TabbedPane) input.readObject(); 
				//关闭输入流 
				input.close(); 
			} catch (Exception ioe) {	//如果读取文件出错 
				//创建标签控件 
				tabbedPane = new TabbedPane(); 
				tabbedPane.sendPanel.recievePanel = tabbedPane.recievePanel; 
			} 
		} else { 
			//创建标签控件 
			tabbedPane = new TabbedPane(); 
			tabbedPane.sendPanel.recievePanel = tabbedPane.recievePanel; 
		} 
 
		//得到属性设置页面 
		configPanel = tabbedPane.configPanel; 
		 
		//设置用户名称 
		Configuration.setName((configPanel.getTextCfigName()).getText()); 
		//设置用户账号 
		Configuration.setAccount((configPanel.getTextCfigAccount()).getText()); 
		//设置用户密码 
		Configuration.setPassword( 
			new String((configPanel.getTextCfigPsw()).getPassword())); 
		//设置POP3服务器 
		Configuration.setPOP3((configPanel.getTextCfigPOP3()).getText()); 
		//设置SMTP服务器 
		Configuration.setSMTP((configPanel.getTextCfigSMTP()).getText()); 
		//设置身份验证标识 
		Configuration.setBAuthenticateNeeded( 
			(configPanel.getJrbtnAuthen()).isSelected()); 
 
		//得到主框架画布 
		Container c = getContentPane(); 
		//主置布局管理器 
		c.setLayout(new java.awt.BorderLayout()); 
		//添加标签控件到主框架上 
		c.add(tabbedPane,java.awt.BorderLayout.CENTER); 
		 
		//设置主框架尺寸 
		this.setSize(400, 440); 
	} 
 
	//主框架事件处理函数 
	protected void processWindowEvent(WindowEvent e) { 
		super.processWindowEvent(e); 
 
		//判断当前事件是否关闭窗口事件 
		if (e.getID() == WindowEvent.WINDOW_CLOSING) { 
			//打开配置页面 
			tabbedPane.setSelectedIndex(0); 
 
			try { 
				//得到配置文件输出流 
				ObjectOutputStream out = 
					new ObjectOutputStream(new FileOutputStream("Mail.ws")); 
				//保存设置 
				out.writeObject(tabbedPane); 
				//关闭配置文件输出流 
				out.close(); 
				 
				System.out.println(" 配置信息已保存到 mail.ws"); 
			} catch (Exception ep) { 
				ep.printStackTrace(); 
			} 
			 
			System.exit(0);	//退出程序 
		} 
	} 
}