implements Search Email logic
parent
eea5ccba6b
commit
c71bece39b
|
@ -5,6 +5,7 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
import domain.email.Email;
|
import domain.email.Email;
|
||||||
import domain.email.EmailFolder;
|
import domain.email.EmailFolder;
|
||||||
|
import domain.email.EmailNotFoundException;
|
||||||
import domain.user.*;
|
import domain.user.*;
|
||||||
|
|
||||||
public class EasyMail {
|
public class EasyMail {
|
||||||
|
@ -13,23 +14,26 @@ public class EasyMail {
|
||||||
|
|
||||||
public EasyMail() {
|
public EasyMail() {
|
||||||
this.userManager = new UserManager();
|
this.userManager = new UserManager();
|
||||||
try {
|
try {
|
||||||
this.currentUser = userManager.addUser ("obai","albek","obai.albek",1,1,"Januar",new char[] {'1','2','3','4','5','6'} , new char[]{'1','2','3','4','5','6'});
|
this.currentUser = userManager.addUser("obai", "albek", "obai.albek", 1, 1, "Januar",
|
||||||
//obai.albek@easymail.de
|
new char[] { '1', '2', '3', '4', '5', '6' }, new char[] { '1', '2', '3', '4', '5', '6' });
|
||||||
} catch (Exception e) {
|
// obai.albek@easymail.de
|
||||||
e.printStackTrace();
|
} catch (Exception e) {
|
||||||
}
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void userRegister(String firstname, String lastName, String email, int year, int day, String monthName,char[] password, char[] passwordConfirmation) throws Exception {
|
public void userRegister(String firstname, String lastName, String email, int year, int day, String monthName,
|
||||||
this.currentUser = userManager.addUser(firstname, lastName, email, year, day, monthName, password,passwordConfirmation);
|
char[] password, char[] passwordConfirmation) throws Exception {
|
||||||
|
this.currentUser = userManager.addUser(firstname, lastName, email, year, day, monthName, password,
|
||||||
|
passwordConfirmation);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean userSignIn(String username, char[] password) throws Exception {
|
public boolean userSignIn(String username, char[] password) throws Exception {
|
||||||
this.currentUser = userManager.checkLogin(username, password);
|
this.currentUser = userManager.checkLogin(username, password);
|
||||||
if (this.currentUser == null)
|
if (this.currentUser == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
this.currentUser.getUsermail().signIn();
|
this.currentUser.getUsermail().signIn();
|
||||||
return this.currentUser.getUsermail().getStatus();
|
return this.currentUser.getUsermail().getStatus();
|
||||||
}
|
}
|
||||||
|
@ -38,12 +42,12 @@ public class EasyMail {
|
||||||
return userManager.removeUser(username);
|
return userManager.removeUser(username);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateUser(String firstName, String lastName, String username, int year, int day, String monthName,
|
public void updateUser(String firstName, String lastName, String username, int year, int day, String monthName,
|
||||||
char[] password, char[] passwordConfirmation)
|
char[] password, char[] passwordConfirmation) throws Exception {
|
||||||
throws Exception {
|
|
||||||
|
this.currentUser = userManager.updateUser(firstName, lastName, username, year, day, monthName, password,
|
||||||
this.currentUser = userManager.updateUser(firstName, lastName, username, year, day, monthName, password, passwordConfirmation);
|
passwordConfirmation);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getNumberOfUsers() {
|
public int getNumberOfUsers() {
|
||||||
|
@ -64,58 +68,61 @@ public class EasyMail {
|
||||||
|
|
||||||
LocalDateTime timestamp = LocalDateTime.now();
|
LocalDateTime timestamp = LocalDateTime.now();
|
||||||
Email newEmail = new Email(sender, receiver, subject, content, timestamp);
|
Email newEmail = new Email(sender, receiver, subject, content, timestamp);
|
||||||
sender.getUsermail().getSentFolder().addEmail(newEmail);
|
sender.getUsermail().getSentFolder().addEmail(newEmail);
|
||||||
boolean sent = receiver.getUsermail().getInbox().addEmail(newEmail);
|
boolean sent = receiver.getUsermail().getInbox().addEmail(newEmail);
|
||||||
|
|
||||||
return sent;
|
return sent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String searchEmailInInboxFolder(String subject) throws EmailNotFoundException {
|
||||||
|
if (subject.trim().isEmpty())
|
||||||
|
throw new IllegalArgumentException("subject field is required!");
|
||||||
|
|
||||||
|
Email email = this.currentUser.getUsermail().getInbox().getEmailBySubject(subject);
|
||||||
|
return email.showEmails();
|
||||||
|
}
|
||||||
|
|
||||||
public String[] sendUserDetails() {
|
public String[] sendUserDetails() {
|
||||||
String[] details = new String[2];
|
String[] details = new String[2];
|
||||||
String name = this.currentUser.getFirstname() + " " + this.currentUser.getLastname();
|
String name = this.currentUser.getFirstname() + " " + this.currentUser.getLastname();
|
||||||
String username = this.currentUser.getUsermail().getUserEmail();
|
String username = this.currentUser.getUsermail().getUserEmail();
|
||||||
details[0] = name;
|
details[0] = name;
|
||||||
details[1] = username;
|
details[1] = username;
|
||||||
|
|
||||||
return details;
|
return details;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUsernameFromCurrentUser() {
|
public String getUsernameFromCurrentUser() {
|
||||||
return this.currentUser.getUsermail().getUserEmail();
|
return this.currentUser.getUsermail().getUserEmail();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public ArrayList<String> sendAllEmailsToSentWindow() {
|
public ArrayList<String> sendAllEmailsToSentWindow() {
|
||||||
ArrayList<Email> allEmails = currentUser.getUsermail().getSentFolder().listAllEmails();
|
ArrayList<Email> allEmails = currentUser.getUsermail().getSentFolder().listAllEmails();
|
||||||
return extractEmails(allEmails, true); // true = showEmailsInSent
|
return extractEmails(allEmails, true); // true = showEmailsInSent
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<String> sendAllEmailsToInboxWindow() {
|
public ArrayList<String> sendAllEmailsToInboxWindow() {
|
||||||
ArrayList<Email> allEmails = currentUser.getUsermail().getInbox().listAllEmails();
|
ArrayList<Email> allEmails = currentUser.getUsermail().getInbox().listAllEmails();
|
||||||
return extractEmails(allEmails, false); // false = normal showEmails
|
return extractEmails(allEmails, false); // false = normal showEmails
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<String> sendAllEmailsToTrashWindow() {
|
public ArrayList<String> sendAllEmailsToTrashWindow() {
|
||||||
ArrayList<Email> allEmails = currentUser.getUsermail().getTrashFolder().listAllEmails();
|
ArrayList<Email> allEmails = currentUser.getUsermail().getTrashFolder().listAllEmails();
|
||||||
return extractEmails(allEmails, false);
|
return extractEmails(allEmails, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private ArrayList<String> extractEmails(ArrayList<Email> emails, boolean isSent) {
|
private ArrayList<String> extractEmails(ArrayList<Email> emails, boolean isSent) {
|
||||||
ArrayList<String> result = new ArrayList<>();
|
ArrayList<String> result = new ArrayList<>();
|
||||||
for (Email email : emails) {
|
for (Email email : emails) {
|
||||||
if (isSent)
|
if (isSent)
|
||||||
result.add(email.showEmailsInSent());
|
result.add(email.showEmailsInSent());
|
||||||
else
|
else
|
||||||
result.add(email.showEmails());
|
result.add(email.showEmails());
|
||||||
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void validateEmailOperation(String subject) {
|
private void validateEmailOperation(String subject) {
|
||||||
if (subject == null || subject.trim().isEmpty()) {
|
if (subject == null || subject.trim().isEmpty()) {
|
||||||
throw new IllegalArgumentException("Subject field is required!");
|
throw new IllegalArgumentException("Subject field is required!");
|
||||||
|
@ -131,8 +138,6 @@ public class EasyMail {
|
||||||
return this.currentUser.getUsermail().getTrashFolder().addEmail(removedEmail);
|
return this.currentUser.getUsermail().getTrashFolder().addEmail(removedEmail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public boolean removeEmailFromInbox(String subject) throws Exception {
|
public boolean removeEmailFromInbox(String subject) throws Exception {
|
||||||
return moveEmailToTrash(subject, this.currentUser.getUsermail().getInbox());
|
return moveEmailToTrash(subject, this.currentUser.getUsermail().getInbox());
|
||||||
}
|
}
|
||||||
|
@ -146,8 +151,6 @@ public class EasyMail {
|
||||||
this.currentUser.getUsermail().getTrashFolder().removeEmail(subject);
|
this.currentUser.getUsermail().getTrashFolder().removeEmail(subject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -61,5 +61,6 @@ public class Inbox implements EmailFolder {
|
||||||
return new ArrayList<>(receivedEmails);
|
return new ArrayList<>(receivedEmails);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,9 @@ package gui;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.table.DefaultTableModel;
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
|
||||||
|
import domain.email.EmailNotFoundException;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
@ -10,17 +13,19 @@ import java.util.ArrayList;
|
||||||
public class EasyMailWindow extends TemplateWindow {
|
public class EasyMailWindow extends TemplateWindow {
|
||||||
|
|
||||||
private DefaultTableModel inboxTableModel;
|
private DefaultTableModel inboxTableModel;
|
||||||
|
private JTextField searchField;
|
||||||
|
|
||||||
public EasyMailWindow() {
|
public EasyMailWindow() {
|
||||||
super("EasyMail");
|
super("EasyMail");
|
||||||
initUI();
|
initUI();
|
||||||
|
showWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initUI() {
|
private void initUI() {
|
||||||
initNavigationPanel();
|
initNavigationPanel();
|
||||||
initComposePanel();
|
initComposePanel();
|
||||||
initTablePanel();
|
initTablePanel();
|
||||||
getAllInboxEmails();
|
getAllInboxEmails("");
|
||||||
showUserDetails();
|
showUserDetails();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,9 +57,9 @@ public class EasyMailWindow extends TemplateWindow {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
navigationPanel.add(trash);
|
navigationPanel.add(trash);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void initComposePanel() {
|
private void initComposePanel() {
|
||||||
JPanel composePanel = createPanel(367, 11, 750, 86, new Color(230, 230, 230), true);
|
JPanel composePanel = createPanel(367, 11, 750, 86, new Color(230, 230, 230), true);
|
||||||
|
@ -71,7 +76,29 @@ public class EasyMailWindow extends TemplateWindow {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
composePanel.add(writeEmail);
|
composePanel.add(writeEmail);
|
||||||
|
|
||||||
|
searchField = new PlaceholderTextField("Search By subject");
|
||||||
|
searchField.setBounds(500, 30, 150, 40);
|
||||||
|
composePanel.add(searchField);
|
||||||
|
|
||||||
|
JButton searchButton = new JButton("Search");
|
||||||
|
searchButton.setBounds(660, 30, 80, 40);
|
||||||
|
composePanel.add(searchButton);
|
||||||
|
searchButton.addActionListener(e -> handleSearching());
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void handleSearching() {
|
||||||
|
try {
|
||||||
|
String getSubjct = searchField.getText();
|
||||||
|
String email = fassade.searchEmailInInboxFolder(getSubjct);
|
||||||
|
inboxTableModel.setRowCount(0);
|
||||||
|
getAllInboxEmails(email);
|
||||||
|
} catch (EmailNotFoundException e) {
|
||||||
|
this.showError(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void initTablePanel() {
|
private void initTablePanel() {
|
||||||
JPanel tablePanel = createPanel(367, 105, 750, 619, null, true);
|
JPanel tablePanel = createPanel(367, 105, 750, 619, null, true);
|
||||||
|
@ -109,23 +136,27 @@ public class EasyMailWindow extends TemplateWindow {
|
||||||
|
|
||||||
emailWindow.setEmailSentListener(() -> {
|
emailWindow.setEmailSentListener(() -> {
|
||||||
inboxTableModel.setRowCount(0);
|
inboxTableModel.setRowCount(0);
|
||||||
getAllInboxEmails();
|
getAllInboxEmails("");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getAllInboxEmails() {
|
public void getAllInboxEmails(String foundedEmail) {
|
||||||
if (fassade.getUsernameFromCurrentUser() == null) {
|
if (foundedEmail.trim().isEmpty()) {
|
||||||
showError("No user is currently logged in!");
|
inboxTableModel.setRowCount(0);
|
||||||
return;
|
ArrayList<String> getEmails = fassade.sendAllEmailsToInboxWindow();
|
||||||
|
if (getEmails != null && !getEmails.isEmpty())
|
||||||
|
for (String tempEmail : getEmails) {
|
||||||
|
String[] splitEmail = tempEmail.split(",");
|
||||||
|
Object[] newEmail = { splitEmail[0], splitEmail[1], splitEmail[2] };
|
||||||
|
inboxTableModel.addRow(newEmail);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
String[] splitEmail = foundedEmail.split(",");
|
||||||
|
Object[] newEmail = { splitEmail[0], splitEmail[1], splitEmail[2] };
|
||||||
|
inboxTableModel.addRow(newEmail);
|
||||||
}
|
}
|
||||||
inboxTableModel.setRowCount(0);
|
|
||||||
ArrayList<String> getEmails = fassade.sendAllEmailsToInboxWindow();
|
|
||||||
if (getEmails != null && !getEmails.isEmpty())
|
|
||||||
for (String tempEmail : getEmails) {
|
|
||||||
String[] splitEmail = tempEmail.split(",");
|
|
||||||
Object[] newEmail = { splitEmail[0], splitEmail[1], splitEmail[2] };
|
|
||||||
inboxTableModel.addRow(newEmail);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,6 +117,7 @@ public class EditProfileWindow extends TemplateWindow {
|
||||||
|
|
||||||
if (updateListener != null) {
|
if (updateListener != null) {
|
||||||
updateListener.onUpdateSuccess();
|
updateListener.onUpdateSuccess();
|
||||||
|
restInputs();
|
||||||
showInfo("Profile updated successfully!");
|
showInfo("Profile updated successfully!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
package gui;
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
public class PlaceholderTextField extends JTextField {
|
||||||
|
private String placeholder;
|
||||||
|
|
||||||
|
public PlaceholderTextField(String placeholder) {
|
||||||
|
this.placeholder = placeholder;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void paintComponent(Graphics g) {
|
||||||
|
super.paintComponent(g);
|
||||||
|
if (getText().isEmpty() && !(FocusManager.getCurrentKeyboardFocusManager().getFocusOwner() == this)) {
|
||||||
|
Graphics2D g2 = (Graphics2D) g.create();
|
||||||
|
g2.setColor(Color.GRAY);
|
||||||
|
g2.setFont(getFont().deriveFont(Font.ITALIC));
|
||||||
|
g2.drawString(placeholder, 5, getHeight() / 2 + getFont().getSize() / 2 - 2);
|
||||||
|
g2.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,71 +9,86 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
public class SentWindow extends TemplateWindow {
|
public class SentWindow extends TemplateWindow {
|
||||||
|
|
||||||
private DefaultTableModel inboxTableModel;
|
private DefaultTableModel inboxTableModel;
|
||||||
|
private JTextField searchField;
|
||||||
|
|
||||||
public SentWindow() {
|
public SentWindow() {
|
||||||
super("Sent - EasyMail");
|
super("Sent - EasyMail");
|
||||||
initUI();
|
initUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initUI() {
|
private void initUI() {
|
||||||
initNavigationPanel();
|
initNavigationPanel();
|
||||||
initTablePanel();
|
initTablePanel();
|
||||||
initComposePanel();
|
initComposePanel();
|
||||||
showUserDetails();
|
showUserDetails();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initComposePanel() {
|
|
||||||
JPanel composePanel = createPanel(367, 11, 750, 86, new Color(230, 230, 230), true);
|
|
||||||
contentPane.add(composePanel);
|
|
||||||
composePanel.setLayout(null);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initNavigationPanel() {
|
private void initComposePanel() {
|
||||||
JPanel navigationPanel = createPanel(10, 273, 347, 451, new Color(230, 230, 230), true);
|
JPanel composePanel = createPanel(367, 11, 750, 86, new Color(230, 230, 230), true);
|
||||||
contentPane.add(navigationPanel);
|
contentPane.add(composePanel);
|
||||||
navigationPanel.setLayout(null);
|
composePanel.setLayout(null);
|
||||||
|
|
||||||
JLabel inbox = createLabel("Inbox", 10, 11, 165, 39, 22);
|
searchField = new PlaceholderTextField("Search By subject");
|
||||||
inbox.setForeground(Color.BLUE);
|
searchField.setBounds(500, 30, 150, 40);
|
||||||
inbox.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
composePanel.add(searchField);
|
||||||
inbox.addMouseListener(new MouseAdapter() {
|
|
||||||
@Override
|
|
||||||
public void mouseClicked(MouseEvent e) {
|
|
||||||
EasyMailWindow easyMailWindow = new EasyMailWindow();
|
|
||||||
closeWindow();
|
|
||||||
easyMailWindow.showWindow();
|
|
||||||
easyMailWindow.getAllInboxEmails();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
navigationPanel.add(inbox);
|
|
||||||
|
|
||||||
JLabel trash = createLabel("Trash", 10, 61, 165, 39, 22);
|
JButton searchButton = new JButton("Search");
|
||||||
trash.setForeground(Color.BLUE);
|
searchButton.setBounds(660, 30, 80, 40);
|
||||||
trash.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
composePanel.add(searchButton);
|
||||||
trash.addMouseListener(new MouseAdapter() {
|
searchButton.addActionListener(e -> handleSearching());
|
||||||
@Override
|
|
||||||
public void mouseClicked(MouseEvent e) {
|
|
||||||
TrashWindow trashWindow = new TrashWindow();
|
|
||||||
closeWindow();
|
|
||||||
trashWindow.showWindow();
|
|
||||||
trashWindow.getAllTrashEmails();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
navigationPanel.add(trash);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initTablePanel() {
|
}
|
||||||
JPanel tablePanel = createPanel(367, 105, 750, 619, null, true);
|
|
||||||
contentPane.add(tablePanel);
|
|
||||||
tablePanel.setLayout(null);
|
|
||||||
|
|
||||||
JScrollPane scrollPane = createTable("To");
|
public void handleSearching() {
|
||||||
inboxTableModel = (DefaultTableModel) inboxTable.getModel();
|
String getSubjct = searchField.getText();
|
||||||
scrollPane.setBounds(0, 0, 750, 619);
|
|
||||||
tablePanel.add(scrollPane);
|
}
|
||||||
}
|
|
||||||
|
private void initNavigationPanel() {
|
||||||
|
JPanel navigationPanel = createPanel(10, 273, 347, 451, new Color(230, 230, 230), true);
|
||||||
|
contentPane.add(navigationPanel);
|
||||||
|
navigationPanel.setLayout(null);
|
||||||
|
|
||||||
|
JLabel inbox = createLabel("Inbox", 10, 11, 165, 39, 22);
|
||||||
|
inbox.setForeground(Color.BLUE);
|
||||||
|
inbox.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
||||||
|
inbox.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
EasyMailWindow easyMailWindow = new EasyMailWindow();
|
||||||
|
closeWindow();
|
||||||
|
easyMailWindow.showWindow();
|
||||||
|
easyMailWindow.getAllInboxEmails("");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
navigationPanel.add(inbox);
|
||||||
|
|
||||||
|
JLabel trash = createLabel("Trash", 10, 61, 165, 39, 22);
|
||||||
|
trash.setForeground(Color.BLUE);
|
||||||
|
trash.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
||||||
|
trash.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
TrashWindow trashWindow = new TrashWindow();
|
||||||
|
closeWindow();
|
||||||
|
trashWindow.showWindow();
|
||||||
|
trashWindow.getAllTrashEmails();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
navigationPanel.add(trash);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initTablePanel() {
|
||||||
|
JPanel tablePanel = createPanel(367, 105, 750, 619, null, true);
|
||||||
|
contentPane.add(tablePanel);
|
||||||
|
tablePanel.setLayout(null);
|
||||||
|
|
||||||
|
JScrollPane scrollPane = createTable("To");
|
||||||
|
inboxTableModel = (DefaultTableModel) inboxTable.getModel();
|
||||||
|
scrollPane.setBounds(0, 0, 750, 619);
|
||||||
|
tablePanel.add(scrollPane);
|
||||||
|
}
|
||||||
|
|
||||||
public void getAllSentEmails() {
|
public void getAllSentEmails() {
|
||||||
ArrayList<String> getEmails = fassade.sendAllEmailsToSentWindow();
|
ArrayList<String> getEmails = fassade.sendAllEmailsToSentWindow();
|
||||||
|
@ -89,4 +104,3 @@ public class SentWindow extends TemplateWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,8 @@ public abstract class TemplateWindow extends JFrame {
|
||||||
protected static EasyMail fassade = new EasyMail();
|
protected static EasyMail fassade = new EasyMail();
|
||||||
protected JLabel fullName, username, editProfile;
|
protected JLabel fullName, username, editProfile;
|
||||||
protected JTable inboxTable;
|
protected JTable inboxTable;
|
||||||
|
private JPanel profilePanel;
|
||||||
|
|
||||||
|
|
||||||
public TemplateWindow(String title) {
|
public TemplateWindow(String title) {
|
||||||
setTitle(title);
|
setTitle(title);
|
||||||
|
@ -48,38 +50,50 @@ public abstract class TemplateWindow extends JFrame {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected void showUserDetails() {
|
|
||||||
JPanel profilePanel = createPanel(10, 11, 347, 239, new Color(230, 230, 230), true);
|
|
||||||
contentPane.add(profilePanel);
|
|
||||||
profilePanel.setLayout(null);
|
|
||||||
JLabel profile = createLabel("Profile", 10, 11, 203, 41, 30);
|
|
||||||
profilePanel.add(profile);
|
|
||||||
editProfile = createLabel("Edit profile", 10, 189, 165, 39, 22);
|
|
||||||
editProfile.setForeground(Color.BLUE);
|
|
||||||
profilePanel.add(editProfile);
|
|
||||||
editProfile.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
|
||||||
editProfile.addMouseListener(new MouseAdapter() {
|
|
||||||
@Override
|
|
||||||
public void mouseClicked(MouseEvent e) {
|
|
||||||
EditProfileWindow editProfile = new EditProfileWindow();
|
|
||||||
editProfile.setUpdateProfileListener(() -> {
|
|
||||||
showUserDetails();
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
String[] getDetails = fassade.sendUserDetails();
|
protected void showUserDetails() {
|
||||||
String fullName = getDetails[0];
|
if (profilePanel != null)
|
||||||
String username = getDetails[1];
|
contentPane.remove(profilePanel);
|
||||||
this.fullName = createLabel("",10,63, 327, 41,20);
|
|
||||||
this.username = createLabel("",10, 106, 327, 39,20);
|
profilePanel = createPanel(10, 11, 347, 239, new Color(230, 230, 230), true);
|
||||||
this.fullName.setText("Full Name: " + fullName);
|
contentPane.add(profilePanel);
|
||||||
this.username.setText("Email: " + username);
|
profilePanel.setLayout(null);
|
||||||
profilePanel.add(this.fullName);
|
|
||||||
profilePanel.add(this.username);
|
JLabel profile = createLabel("Profile", 10, 11, 203, 41, 30);
|
||||||
|
profilePanel.add(profile);
|
||||||
|
|
||||||
|
editProfile = createLabel("Edit profile", 10, 189, 165, 39, 22);
|
||||||
|
editProfile.setForeground(Color.BLUE);
|
||||||
|
profilePanel.add(editProfile);
|
||||||
|
editProfile.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
||||||
|
editProfile.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
EditProfileWindow editProfileWindow = new EditProfileWindow();
|
||||||
|
editProfileWindow.setUpdateProfileListener(() -> {
|
||||||
|
showUserDetails();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// User Details
|
||||||
|
String[] getDetails = fassade.sendUserDetails();
|
||||||
|
String fullName = getDetails[0];
|
||||||
|
String username = getDetails[1];
|
||||||
|
|
||||||
|
this.fullName = createLabel("", 10, 63, 327, 41, 20);
|
||||||
|
this.username = createLabel("", 10, 106, 327, 39, 20);
|
||||||
|
this.fullName.setText("Full Name: " + fullName);
|
||||||
|
this.username.setText("Email: " + username);
|
||||||
|
|
||||||
|
profilePanel.add(this.fullName);
|
||||||
|
profilePanel.add(this.username);
|
||||||
|
|
||||||
|
contentPane.revalidate();
|
||||||
|
contentPane.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Neue Methode
|
// Neue Methode
|
||||||
protected JPanel createPanel(int x, int y, int width, int height, Color bgColor, boolean withBorder) {
|
protected JPanel createPanel(int x, int y, int width, int height, Color bgColor, boolean withBorder) {
|
||||||
JPanel panel = new JPanel();
|
JPanel panel = new JPanel();
|
||||||
|
|
|
@ -44,7 +44,7 @@ public class TrashWindow extends TemplateWindow {
|
||||||
EasyMailWindow easyMailWindow = new EasyMailWindow();
|
EasyMailWindow easyMailWindow = new EasyMailWindow();
|
||||||
closeWindow();
|
closeWindow();
|
||||||
easyMailWindow.showWindow();
|
easyMailWindow.showWindow();
|
||||||
easyMailWindow.getAllInboxEmails();
|
easyMailWindow.getAllInboxEmails("");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
navigationPanel.add(inbox);
|
navigationPanel.add(inbox);
|
||||||
|
|
|
@ -5,7 +5,8 @@ import gui.*;
|
||||||
public class Main {
|
public class Main {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
new RegisterWindow();
|
EasyMailWindow easy = new EasyMailWindow();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue