📄 client.java
字号:
}
class RefreshAction extends AbstractAction {
RefreshAction() {
super("Refresh view");
}
public void actionPerformed(ActionEvent arg0) {
repaint();
emailPanel.doLayout();
}
}
class AccountsAction extends AbstractAction {
AccountsAction() {
super("Refresh view");
}
public void actionPerformed(ActionEvent arg0) {
generalPanel = new GeneralPanel(GeneralPanel.Images.ACCOUNT);
account = new AccountsPanel(accounts,clientTopass);
generalPanel.add(account, BorderLayout.CENTER);
JDialog dialog = new JDialog(client);
//dialog.addComponentListener(new DialogListener(account));
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(628, 508);
account.setSize(dialog.getSize().width,dialog.getSize().height);
dialog.setVisible(true);
dialog.setTitle("ICAT Accounts ");
}
}
class OpenAddressBookAction extends AbstractAction {
OpenAddressBookAction() {
super("Open AddressBook");
}
public void actionPerformed(ActionEvent arg0) {
generalPanel = new GeneralPanel(GeneralPanel.Images.ADDRESSBOOK);
contactPanel = new ContactPanel();
generalPanel.add(contactPanel, BorderLayout.CENTER);
JDialog dialog = new JDialog(client);
dialog.addComponentListener(new DialogListener());
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(600, 550);
contactPanel.setSize(dialog.getSize().width,dialog.getSize().height);
dialog.setTitle("ICAT AddressBook ");
dialog.setVisible(true);
}
}
class TreeListener implements TreeSelectionListener
{
Client c;
TreeListener(Client c)
{
this.c = c;
}
public void valueChanged(TreeSelectionEvent e) {
Node s = ((Node)e.getNewLeadSelectionPath().getLastPathComponent());
if (s.toString().equals("Inbox"))
setCurrentList(box.getMail());
//setRightComponent(panel = new EmailPanel(box.getMail(),c,accounts));
else if (s.toString().equals("Outbox"))
setCurrentList(box.getOutbox());
//setRightComponent(panel = new EmailPanel(box.getOutbox(),c, accounts));
else if (s.toString().equals("Sent mail"))
setCurrentList(box.getSentMail());
//setRightComponent(panel = new EmailPanel(box.getSentMail(),c,accounts));
else if (s.toString().equals("Junk mail"))
setCurrentList(box.getJunkMail());
//setRightComponent(panel = new EmailPanel(box.getJunkMail(),c ,accounts));
else if (s.toString().equals("Trash"))
setCurrentList(box.getTrash());
else if (s instanceof FolderNode)
{
FolderNode f = (FolderNode)s;
//setRightComponent(panel = new EmailPanel(f.getEmail(),c ,accounts));
setCurrentList(f.getEmail());
}
/* Address book opened */
else if (s.toString().equals("Addressbook"))
{
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.setSize(600,550);
contactPanel = new ContactPanel();
contactPanel.setSize(p.getWidth(),p.getHeight());
p.add(contactPanel,BorderLayout.CENTER);
setRightComponent(contactPanel);
}
/* Calendar opened */
else if (s.toString().equals("Calender"))
{
CalFrame f = new CalFrame("Calendar");
f.pack(); //the Window will be validated after the preferredSize is calculated
f.run();
//contactPanel = new ContactPanel();
//contactPanel.setSize(p.getWidth(),p.getHeight());
//p.add(contactPanel,BorderLayout.CENTER);
//setRightComponent(contactPanel);
}
/* Accounts opened */
else if (s.toString().equals("Accounts"))
{
setRightComponent(new AccountsPanel(accounts,client));
}
else
{
JPanel panel = new JPanel();
panel.setSize(500,500);
//setRightComponent(panel);
setCurrentList(currentList);
}
}
}
class DeleteEmailAction extends AbstractAction
{
public void actionPerformed(ActionEvent arg0)
{
Email e = (Email)(panel.getList().getSelectedValue());
int c = JOptionPane.showConfirmDialog(null,"Are you sure you wish to delete the email: "+email.getSubject(),"Warning",JOptionPane.YES_NO_OPTION);
if (c == JOptionPane.YES_OPTION)
if (e != null)
{
currentList.remove(e);
box.addTrash(e);
}
setCurrentList(currentList);
//setRightComponent(panel = new EmailPanel(box.getMail(),client,accounts));
}
}
//===================================================
// action handler for Download Rulemanager
//====================================================
class DownloadRulesAction extends AbstractAction {
DownloadRulesAction() {
super("Open Rules gui");
}
public void actionPerformed(ActionEvent arg0) {
generalPanel = new GeneralPanel(GeneralPanel.Images.DOWNLOADRULES);
rulegui = new DownloadRuleGui(theRules);
generalPanel.add(rulegui, BorderLayout.CENTER);
JDialog dialog = new JDialog(client);
dialog.addComponentListener(new DialogListener());
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(628, 540);
rulegui.setSize(dialog.getSize().width,dialog.getSize().height);
dialog.setTitle("ICAT Download Rules ");
dialog.setVisible(true);
//theRules = rulegui.getNewVector();
}
}
class LanguageFilterAction extends AbstractAction {
LanguageFilterAction() {
super("Open LanguageFilter gui");
}
public void actionPerformed(ActionEvent arg0)
{
/* Vector<String> words = new Vector<String>();
words.addElement("donder");
words.addElement("moer");
Vector<Email> emails = getTestEmails();*/
generalPanel = new GeneralPanel(GeneralPanel.Images.LANGUAGEFILTER);
FilterGui languageFiltergui = new FilterGui(languageFilter);
generalPanel.add(languageFiltergui, BorderLayout.CENTER);
JDialog dialog = new JDialog(client);
dialog.addComponentListener(new DialogListener());
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(540, 555);
languageFiltergui.setSize(dialog.getSize().width,dialog.getSize().height);
dialog.setTitle("ICAT Language Filter");
dialog.setVisible(true);
//theRules = rulegui.getNewVector();
}
}
//========================================
// Creates general panel with junkMailView panel
//==========================================
class JunkMailRulesAction extends AbstractAction {
JunkMailRulesAction() {
super("Open JunkMail Rules gui");
}
public void actionPerformed(ActionEvent arg0) {
generalPanel = new GeneralPanel(GeneralPanel.Images.JUNKMAIL);
junkmail = new ViewJunkRules(junkMailManager.getRules(),clientTopass);
generalPanel.add(junkmail, BorderLayout.CENTER);
JDialog dialog = new JDialog(client);
dialog.addComponentListener(new DialogListener());
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(628, 540);
junkmail.setSize(dialog.getSize().width,dialog.getSize().height);
dialog.setTitle("ICAT Download Rules ");
dialog.setVisible(true);
//======== To get new vector junkmailvector = junkmail.getNewVector();
}
}
class FolderRulesAction extends AbstractAction {
FolderRulesAction() {
super("Open Folder Mail Rules gui");
}
public void actionPerformed(ActionEvent arg0) {
generalPanel = new GeneralPanel(GeneralPanel.Images.FOLDERMAILRULES);
folderRuleMainPanel = new ViewFolderRuleMainPanel(folderManager.getRules(),clientTopass);
generalPanel.add(folderRuleMainPanel , BorderLayout.CENTER);
JDialog dialog = new JDialog(client);
dialog.addComponentListener(new DialogListener());
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(628, 540);
folderRuleMainPanel.setSize(dialog.getSize().width,dialog.getSize().height);
dialog.setTitle("ICAT Download Rules ");
dialog.setVisible(true);
//======== To get new vector junkmailvector = junkmail.getNewVector();
}
}
class DailerAction extends AbstractAction {
DailerAction() {
super("open dailer option window");
}
public void actionPerformed(ActionEvent arg0) {
JDialog dialog = new JDialog(client);
generalPanel = new GeneralPanel(GeneralPanel.Images.DAILERSETTINGS);
dailer_ = new DailerMainGui(client, dialog, dialer);
generalPanel.add(dailer_ , BorderLayout.CENTER);
dialog.addComponentListener(new DialogListener());
dialog.setLayout(new BorderLayout());
dialog.add(generalPanel, BorderLayout.CENTER);
dialog.setSize(470, 310);
dailer_.setSize(dialog.getSize().width,dialog.getSize().height);
dialog.setTitle("ICAT Analogue Dialer Configuration ");
dialog.setVisible(true);
}
}
class SendEmailExchange implements SendActionListener
{
public void send(Email e) {
if (accounts.getDefaultAccount() != null)
e.setSender(accounts.getDefaultAccount().getEmailAddress());
box.addOutboxMail(e);
}
}
class EmailListener implements ClientEmailDownloadListener
{
public void addEmail(Email e) {
if (junkMailManager.accept(e))
box.addJunkMail(e);
else
{
if (folderManager.accept(e))
{
System.out.println("Rule accepted "+e.getSubject());
String f = folderManager.getFolder(e);
FolderNode fn = box.getFolder(f);
if (fn != null)
fn.addEmail(e);
else
{
ServerAdmin.error.warning("Could not find the folder to place this email into.");
box.addEmail(e);
}
}
else
{
System.out.println("No rule accepted "+e.getSubject());
box.addEmail(e);
}
}
setCurrentList(currentList);
}
public void sentEmail(Email e) {
box.getOutbox().remove(e);
box.getSentMail().addElement(e);
//setRightComponent(panel = new EmailPanel(box.getMail(),client, accounts));
setCurrentList(currentList);
}
}
class ClientSearchListener implements SearchListener
{
public void searchResults(Vector<Email> emails) {
//setRightComponent(panel = new EmailPanel(emails,client, accounts));
setCurrentList(emails);
}
}
class HelpAction extends AbstractAction
{
public void actionPerformed(ActionEvent arg0) {
try {
String [] files = {
"\"C:/program files/Internet Explorer/iexplore.exe\"",
System.getProperty("user.dir")+ "/Help/help.html"
};
Process p = Runtime.getRuntime().exec(files);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class AboutScreenAction extends AbstractAction {
AboutScreenAction() {
super("open about window");
}
public void actionPerformed(ActionEvent arg0) {
AboutScreen screen = new AboutScreen();
screen.setVisible(true);
}
}
public void scheduleUpdate()
{
Timer timer = new Timer();
Scheduler event = new Scheduler(new AutoUpdate(receiver));
timer.schedule(event, 15*6000, 15*6000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -