📄 client.java
字号:
dailer.setText("Dailer settings");
}
{
junkruleItem = new JMenuItem(new JunkMailRulesAction());
optionsMenuButton.add(junkruleItem);
junkruleItem.setText("JunkMail Rules");
}
{
folderItem = new JMenuItem(new FolderRulesAction());
optionsMenuButton.add(folderItem);
folderItem.setText("Folder Mail Rules");
}
{
languageItem = new JMenuItem(new LanguageFilterAction());
optionsMenuButton.add(languageItem);
languageItem.setText("Language Filter");
}
}
{
actionMenu = new JMenu();
mainMenu.add(actionMenu);
actionMenu.setText("Actions");
{
trashFolderButton = new JMenuItem();
actionMenu.add(trashFolderButton);
trashFolderButton.setText("Empty \"Trash\" Folder");
}
{
jSeparator5 = new JSeparator();
actionMenu.add(jSeparator5);
}
{
newMessageButton = new JMenuItem(new NewEmailAction());
newMessageButton.addActionListener(this);
actionMenu.add(newMessageButton);
newMessageButton.setText("New Message");
}
{
forwardMenuButton = new JMenuItem(new ForwardAction());
actionMenu.add(forwardMenuButton);
if(this.emailselected)
{
forwardMenuButton.setEnabled(true);
}else forwardMenuButton.setEnabled(false);
forwardMenuButton.setText("Forward");
}
{
replyMenuButton = new JMenuItem(new ReplyToOneAction());
actionMenu.add(replyMenuButton);
if(this.emailselected)
{
replyMenuButton.setEnabled(true);
}else replyMenuButton.setEnabled(false);
replyMenuButton.setText("Reply");
}
}
{
helpMenu = new JMenu();
mainMenu.add(helpMenu);
helpMenu.setText("Help");
{
indexMenuButton = new JMenuItem(new HelpAction());
helpMenu.add(indexMenuButton);
indexMenuButton.setText("Index");
}
{
aboutMenuButton = new JMenuItem(new AboutScreenAction());
helpMenu.add(aboutMenuButton);
aboutMenuButton.setText("About...");
}
}
}
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
{
emailPanel = new JPanel();
this.getContentPane().add(emailPanel, BorderLayout.CENTER);
FlowLayout emailPanelLayout = new FlowLayout();
emailPanel.setLayout(emailPanelLayout);
{
emailtoolbar = new JToolBar();
emailPanel.add(emailtoolbar);
emailtoolbar.setPreferredSize(new java.awt.Dimension(800,
30));
{
newButton = new JButton(new NewEmailAction());
emailtoolbar.add(newButton);
newButton.setText("New");
newButton.setBounds(91, 202, 60, 27);
}
{
replyButton = new JButton(new ReplyToOneAction());
emailtoolbar.add(replyButton);
if(emailselected)
{
replyButton.setEnabled(true);
}else replyButton.setEnabled(false);
replyButton.setText("Reply");
//replyButton.setPreferredSize(new java.awt.Dimension(40,40));
replyButton.setBounds(132, 139, 100, 27);
}
{
forwardButton = new JButton(new ForwardAction());
if(this.emailselected)
{
forwardButton.setEnabled(true);
}else forwardButton.setEnabled(false);
emailtoolbar.add(forwardButton);
forwardButton.setText("Forward");
}
{
addressBook = new JButton(
new OpenAddressBookAction());
emailtoolbar.add(addressBook);
addressBook.setText("Addressbook");
}
{
sendAndRecieveButton = new JButton(
new SendAndRecieveAction());
emailtoolbar.add(sendAndRecieveButton);
sendAndRecieveButton.setText("Send and Receive");
}
{
searchPanel = new SearchPanel2(box);
searchPanel.setSearchListener(new ClientSearchListener());
emailtoolbar.add(searchPanel);
}
}
{
splitpane = new JSplitPane();
emailPanel.add(splitpane);
splitpane
.setPreferredSize(new java.awt.Dimension(780, 500));
{
emailsplit = new JSplitPane();
splitpane.add(emailsplit, JSplitPane.RIGHT);
{
tree = new JTree(new ClientTreeModel(box));
tree.setTransferHandler(new TreeTransferHandler());
tree.setRootVisible(false);
tree.setDragEnabled(true);
tree.addTreeSelectionListener(new TreeListener(this));
tree.setCellRenderer(new NodeCellRenderer());
tree.setBackground(new Color(15, 65, 108));
tree.setMinimumSize(new Dimension(160,300));
splitpane.add(tree, JSplitPane.LEFT);
}
{
setCurrentList(new Vector<Email>());
panel.setSize(200, 300);
}
}
}
}
pack();
setSize(800, 600);
} catch (Exception e) {
e.printStackTrace();
}
}
protected void processWindowEvent(WindowEvent e)
{
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSED)
exitAndSave();
}
private void exitAndSave()
{
System.out.println("Exit and Save");
languageFilter.save();
dialer.save();
saveAccounts();
saveEmails();
saveDownloadRules();
System.exit(0);
}
private void saveAccounts()
{
accounts.save();
}
private void saveDownloadRules()
{
ruleManager.save();
}
private void saveEmails()
{
try {
FileUtil.write(new File(ServerAdmin.EMAIL_FILE),box);
} catch (IOException e) {
e.printStackTrace();
}
}
private void setRightComponent(JComponent component)
{
splitpane.setRightComponent(component);
}
//@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e) {
//System.out.println("Creating Compose mail");
JDialog dialog = new JDialog(this);
composeMail = new ComposeMail(dialog);
composeMail.setSendActionListener(new SendEmailExchange());
dialog.setTitle("Compose mail");
dialog.setLayout(new BorderLayout());
dialog.add(composeMail,BorderLayout.CENTER);
dialog.setSize(600,400);
dialog.setVisible(true);
}
class NewEmailAction extends AbstractAction {
/**
* method that calls the general panel which
* adds the Compose mail class.
* Opens a gui to create a new email
*/
private static final long serialVersionUID = 1L;
NewEmailAction() {
super("Create a new e-mail", new ImageIcon("Icons/newmail.png"));
}
public void actionPerformed(ActionEvent arg0) {
JDialog dialog = new JDialog(client);
generalPanel = new GeneralPanel(GeneralPanel.Images.NEW_EMAIL);
composeMail = new ComposeMail(dialog, email,clientTopass,accounts);
composeMail.setSendActionListener(new SendEmailExchange());
generalPanel.add(composeMail, BorderLayout.CENTER);
dialog.addComponentListener(new DialogListener());
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(600, 550);
composeMail.resize(dialog.getSize().width,dialog.getSize().height);
//dialog.setTitle("Compose new email ");
dialog.setVisible(true);
dialog.setTitle("ICAT New message ");
}
}
public void setEmail(Email e)
{
email = e;
}
class SendAndRecieveAction extends AbstractAction {
SendAndRecieveAction() {
super("Send and recieve mail", new ImageIcon(
"Icons/sendandrecieve.png"));
}
public void actionPerformed(ActionEvent arg0)
{
//ClientIntelligentMailSendAndReceive receiver = new ClientIntelligentMailSendAndReceive(client,accounts.getAccounts(),ruleManager,languageFilter,dialer);
receiver.addDownloadListener(new EmailListener());
receiver.download();
if (box.getOutbox().size() > 0)
{
AccountOfClient a = accounts.getDefaultAccount();
Vector<Email> emails = box.getOutbox();
if (a.getType() == AccountOfClient.Types.POPSMTP)
{
SMTPClient smtp = new SMTPClient(a.getSmtpServer(), a.getPassword());
smtp.connect();
System.out.println("Sending "+emails.size()+" emails using SMTP on "+a.getEmailAddress());
for (int i=0; i<emails.size(); i++)
{
Email em = emails.get(i);
smtp.sendEmail(em);
}
smtp.disconnect();
box.getSentMail().addAll(emails);
box.getOutbox().removeAllElements();
}
else if (a.getType() == AccountOfClient.Types.RMI)
{
RMIClient client = new RMIClient(a.getRmiServer(),a.getUsername(),a.getPassword());
client.connect();
System.out.println("Sending "+emails.size()+" emails using RMI on "+a.getEmailAddress());
for (Email e:emails)
{
client.sendMail(e);
box.getOutbox().remove(e);
box.getSentMail().addElement(e);
}
client.disconnect();
}
setCurrentList(currentList);
}
}
}
class SearchAction extends AbstractAction {
SearchAction() {
super("search for something", new ImageIcon("Icons/search2.png"));
}
public void actionPerformed(ActionEvent arg0) {
}
}
class ReplyToOneAction extends AbstractAction {
ReplyToOneAction() {
super("reply to one", new ImageIcon("Icons/replytoone.png"));
}
public void actionPerformed(ActionEvent arg0) {
JDialog dialog = new JDialog(client);
generalPanel = new GeneralPanel(GeneralPanel.Images.REPLY);
composeMail = new ComposeMail(dialog, email,ComposeMail.Type.REPLY ,clientTopass);
composeMail.setSendActionListener(new SendEmailExchange());
generalPanel.add(composeMail, BorderLayout.CENTER);
dialog.addComponentListener(new DialogListener());
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(600, 600);
composeMail.resize(dialog.getSize().width,dialog.getSize().height);
dialog.setVisible(true);
dialog.setTitle("ICAT Reply to message ");
}
}
class ForwardAction extends AbstractAction {
ForwardAction() {
super("forward message", new ImageIcon("Icons/forward.png"));
}
public void actionPerformed(ActionEvent arg0) {
JDialog dialog = new JDialog(client);
generalPanel = new GeneralPanel(GeneralPanel.Images.FORWARD);
composeMail = new ComposeMail(dialog, email,ComposeMail.Type.FORWARD , clientTopass);
composeMail.setSendActionListener(new SendEmailExchange());
generalPanel.add(composeMail, BorderLayout.CENTER);
dialog.addComponentListener(new DialogListener());
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(600, 600);
composeMail.resize(dialog.getSize().width,dialog.getSize().height);
dialog.setVisible(true);
dialog.setTitle("ICAT Forward message");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -