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

📄 mainframe.java

📁 一个java实现的邮件服务器系统 使用邮件客户端工具
💻 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);	//退出程序
		}
	}
}

⌨️ 快捷键说明

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