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

📄 client.java

📁 create the email in the server
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package za.co.halo.SecureCommunications.gui.client2;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
import java.util.Timer;
import java.util.Vector;
import javax.swing.AbstractAction;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JComponent;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JSplitPane;
import javax.swing.JToolBar;
import javax.swing.JTree;
import javax.swing.WindowConstants;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import za.co.halo.SecureCommunications.AccountOfClient;
import za.co.halo.SecureCommunications.ClientAccountManager;
import za.co.halo.SecureCommunications.DownloadRuleManager;
import za.co.halo.SecureCommunications.Email;
import za.co.halo.SecureCommunications.InboxInfo;
import za.co.halo.SecureCommunications.Rule;
import za.co.halo.SecureCommunications.ServerAdmin;
import za.co.halo.SecureCommunications.FolderMailRules.FolderRuleManager;
import za.co.halo.SecureCommunications.FolderMailRules.ViewFolderRuleMainPanel;
import za.co.halo.SecureCommunications.JunkMail.JunckMailManager;
import za.co.halo.SecureCommunications.JunkMail.ViewJunkRules;
import za.co.halo.SecureCommunications.calendar.CalFrame;
import za.co.halo.SecureCommunications.client.EmailBox;
import za.co.halo.SecureCommunications.client.EmailBox.FolderNode;
import za.co.halo.SecureCommunications.client.contact.ContactPanel;
import za.co.halo.SecureCommunications.dailer.DailerMainGui;
import za.co.halo.SecureCommunications.dailer.DialerSettings;
import za.co.halo.SecureCommunications.gui.client2.EmailPanel;
import za.co.halo.SecureCommunications.gui.client2.Node;
import za.co.halo.SecureCommunications.languageFilter.FilterGui;
import za.co.halo.SecureCommunications.languageFilter.LanguageManagerFilter;
import za.co.halo.SecureCommunications.network.ClientEmailDownloadListener;
import za.co.halo.SecureCommunications.network.ClientIntelligentMailSendAndReceive;
import za.co.halo.SecureCommunications.network.rmi.RMIClient;
import za.co.halo.SecureCommunications.network.smtp.SMTPClient;
import za.co.halo.SecureCommunications.scheduling.Scheduler;
import za.co.halo.SecureCommunications.search.SearchListener;
import za.co.halo.SecureCommunications.search.SearchPanel2;
import za.co.halo.SecureCommunications.util.FileUtil;




public class Client extends javax.swing.JFrame implements ActionListener {
	public class DialogListener extends ComponentAdapter// implements ComponentListener {
	{
//

		public void componentResized(ComponentEvent e)
		{


		}
	}
	private ClientIntelligentMailSendAndReceive receiver;
	private JMenuBar mainMenu;
	private ClientAccountManager accounts;
	public static Email email;
	public static Client client;
	private AccountsPanel account;
	private EmailBox box;
	private ContactPanel contactPanel;
	private DownloadRuleGui rulegui;
	private LanguageManagerFilter languageFilter;
	private EmailPanel panel;
	public boolean emailselected = false;
	private JMenuItem junkruleItem;
	private JMenu toolsMenu;
	private JMenuItem refreshMenuButton;
	private JMenuItem accountsMenuButton;
	private JMenu View;
	private DailerMainGui dailer_;
	private JMenuItem markallreadMenuButton;
	private JMenuItem markasUnreadMenuButton;
	private JMenuItem markAsReadMenuButton;
	private JMenuItem deleteMenuButton;
	public JButton replyButton;
	private JTree tree;
	private GeneralPanel generalPanel;
	private ComposeMail composeMail;
	private JSplitPane emailsplit;
	private JSplitPane splitpane;
	private JButton sendAndRecieveButton;
	public JButton forwardButton;
	private JButton newButton;
	private JButton addressBook;
	private JToolBar emailtoolbar;
	private JPanel emailPanel;
	private JMenuItem indexMenuButton;
	private JMenuItem aboutMenuButton;
	private JMenu helpMenu;
	public JMenuItem replyMenuButton;
	public JMenuItem forwardMenuButton;
	private JMenuItem newMessageButton;
	private JSeparator jSeparator5;
	private JMenuItem trashFolderButton;
	private JMenu actionMenu;
	private JMenu optionsMenuButton;
	private JMenuItem ruleItem;
	private JMenuItem folderItem;
	private JMenuItem languageItem;
	private JMenuItem selectAllMenuButton;
	private JSeparator jSeparator3;
	private JMenu Edit;
	private JMenuItem exitMenuButton, dailer;
	private JMenuItem printMenuButton;
	private JMenuItem exportMenuButton;
	private JMenuItem importMenuButton;
	private JSeparator jSeparator1;
	private JMenu File;
	private Vector<Rule> theRules;
	private JunckMailManager junkMailManager;
	public static Client clientTopass;
	private DownloadRuleManager ruleManager;
	private FolderRuleManager folderManager;
	private ViewJunkRules junkmail;
	private ViewFolderRuleMainPanel folderRuleMainPanel;
	private SearchPanel2 searchPanel;
	private Vector<Email> currentList;
	private DialerSettings dialer;


	private void load()
	{
		loadEmailBox();
		accounts.load();
		folderManager = new FolderRuleManager();
		folderManager.load();
		languageFilter = new LanguageManagerFilter();
		languageFilter.load();
		ruleManager = new DownloadRuleManager();
		ruleManager.load();
		junkMailManager = new JunckMailManager();
		junkMailManager.load();
		theRules = ruleManager.getRules();
		dialer = new DialerSettings();
		dialer.load();

	}
	/*
	private Vector<AccountOfClient> getAccounts()
	{
		Vector<AccountOfClient> a =null;
		File f = new File(ServerAdmin.CLIENT_ACCOUNTS_FILE);
		if (f.exists())
		try {
			a = (Vector<AccountOfClient>)FileUtil.readFile(f);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		if (a == null)
			a = new Vector<AccountOfClient>(10);
		return a;
	}
	*/
	private void loadEmailBox()
	{
		File f = new File(ServerAdmin.EMAIL_FILE);
		if (f.exists())
		try {
			box = FileUtil.readFile(f);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		if (box == null)
			box = new EmailBox();
	}
/*
	private Vector<Email> getTestEmails() {
		Vector<String> receivers = new Vector<String>(3);
		receivers.addElement("s23152835@tuks.co.za");
		receivers.addElement("s21152835@tuks.co.za");
		receivers.addElement("rusty@tuks.co.za");
		Vector<String> message = new Vector<String>(1);
		message	.addElement("If you can read this , ICAT V0.03 is up and running."
						+ "Thank You for your patience");
		message.addElement("The next updated version of ICAT v0.03 will be released the 14Okt");
		Vector<Email> e = new Vector<Email>(10);
		e.addElement(new Email("Something Special", "Isabel Bostha", receivers,
				receivers, receivers, "John McGee", message, "1:03",
				"Anliend de Lange"));
		e.addElement(new Email("Read it...", "Jeanri Pellissier", receivers,
				receivers, receivers, "John McGee", message, "1:03",
				"Anliend de Lange"));
		e.addElement(new Email("How's the shot going ?", "Pieter Toute",
				receivers, receivers, receivers, "John McGee", message,
				"1:03", "Anliend de Lange"));
		e.addElement(new Email("me - you", "Lizel van Rensburg", receivers,
				receivers, receivers, "John McGee", message, "1:03",
				"Anliend de Lange"));
		e.addElement(new Email("This is the life", "Jaco Pieterse", receivers,
				receivers, receivers, "John McGee", message, "1:03",
				"Anliend de Lange"));

		return e;
	}*/

	public static void main(String[] args) {
		SplashScreen splash = new SplashScreen("splash.png");
		splash.start();

		Client inst = new Client();
		clientTopass = inst;
		inst.setVisible(true);

		splash.stop();
	}

	public Client()
	{
		super();
		currentList = new Vector<Email>();
		client = this;
		accounts = new ClientAccountManager();
		load();
		receiver = new ClientIntelligentMailSendAndReceive(client,accounts.getAccounts(),ruleManager,languageFilter,dialer);
		initGUI();
	}

	private void setCurrentList(Vector<Email> list)
	{
		currentList = list;
		setRightComponent(panel = new EmailPanel(list, this, accounts));

	}

	void initGUI() {
		try {
			 {

				clientTopass = this;
				this.setTitle("ICAT - V1.00");

				this.setIconImage(new ImageIcon("Banners/iconLogo.png").getImage());
				mainMenu = new JMenuBar();
				setJMenuBar(mainMenu);

				mainMenu.setPreferredSize(new java.awt.Dimension(1028, 28));
				{
					File = new JMenu();
					mainMenu.add(File);
					File.setText("File");
					{
						jSeparator1 = new JSeparator();
						File.add(jSeparator1);
					}
					{
						importMenuButton = new JMenuItem();
						File.add(importMenuButton);
						importMenuButton.setText("Import...");
					}
					{
						exportMenuButton = new JMenuItem();
						File.add(exportMenuButton);
						exportMenuButton.setText("Export...");
					}
					{
						jSeparator1 = new JSeparator();
						File.add(jSeparator1);
					}
					{
						//printMenuButton = new JMenuItem();
						//File.add(printMenuButton);
						//printMenuButton.setText("Print...");
					}
					{
						jSeparator1 = new JSeparator();
						File.add(jSeparator1);
					}
					{
						exitMenuButton = new JMenuItem();
						File.add(exitMenuButton);
						exitMenuButton.setText("Exit");
					}

				}
				{
					Edit = new JMenu();
					mainMenu.add(Edit);
					Edit.setText("Edit");
					{
						selectAllMenuButton = new JMenuItem();
						Edit.add(selectAllMenuButton);
						selectAllMenuButton.setText("Select All");
					}
					{
						jSeparator3 = new JSeparator();
						Edit.add(jSeparator3);
					}
					{
						deleteMenuButton = new JMenuItem(new DeleteEmailAction());
						Edit.add(deleteMenuButton);
						deleteMenuButton.setText("Delete");
					}
					{
						jSeparator3 = new JSeparator();
						Edit.add(jSeparator3);
					}
					{
						markAsReadMenuButton = new JMenuItem();
						Edit.add(markAsReadMenuButton);
						markAsReadMenuButton.setText("Mark as Read");
					}
					{
						markasUnreadMenuButton = new JMenuItem();
						Edit.add(markasUnreadMenuButton);
						markasUnreadMenuButton.setText("Mark as Unread");
					}
					{
						markallreadMenuButton = new JMenuItem();
						Edit.add(markallreadMenuButton);
						markallreadMenuButton.setText("Mark All as Read");
					}
				}
				{
					View = new JMenu();
					mainMenu.add(View);
					View.setText("View");
					{
						refreshMenuButton = new JMenuItem(new RefreshAction());
						View.add(refreshMenuButton);
						refreshMenuButton.setText("Refresh");
					}
				}
				{
					toolsMenu = new JMenu();
					mainMenu.add(toolsMenu);
					toolsMenu.setText("Tools");

					{
						accountsMenuButton = new JMenuItem(new AccountsAction());
						toolsMenu.add(accountsMenuButton );
						accountsMenuButton.setText("Accounts");
					}
					{
						optionsMenuButton = new JMenu();
						toolsMenu.add(optionsMenuButton);
						optionsMenuButton.setText("Options...");
					}
					{
						ruleItem = new JMenuItem(new DownloadRulesAction());
						optionsMenuButton.add(ruleItem);
						ruleItem.setText("Download Rules");
					}
					{
						dailer = new JMenuItem(new DailerAction());
						optionsMenuButton.add(dailer);

⌨️ 快捷键说明

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