import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.event.MouseEvent; 

import javax.swing.JFrame; 
import javax.swing.JMenu; 
import javax.swing.JMenuItem; 
import javax.swing.JPopupMenu; 
import javax.swing.*;

public class MessagePopup extends JPopupMenu implements ActionListener { 
  
  private static final long serialVersionUID = 1L; 
  
  JMenuItem bmi, ami, emi, kmi, dmi1, dmi2, dmi3, vmi; 
  ChatClient cc;
  Nachricht n;
  
  public MessagePopup( MouseEvent event, ChatClient cc, Nachricht n){ 
    this.cc = cc;
    this.n = n;
    //      Submenu 
    
    dmi1 = new JMenuItem("Hashcode berechnen"); 
    dmi1.addActionListener(this); 
    add(dmi1); 
    dmi2 = new JMenuItem("Hashcode prüfen"); 
    dmi2.addActionListener(this); 
    add(dmi2); 
    show(event.getComponent(), event.getX(), event.getY()); 
  } 
  
  public void actionPerformed(ActionEvent e) { 
    
    
    if (e.getSource() == dmi1) { 
      n.generateHash();
      cc.updateNachrichtenListe();
    } 
    if (e.getSource() == dmi2) { 
      Nachricht dummy = new Nachricht("dummy","dummy",n.getInhaltString());
      dummy.generateHash();
      String ha2 = new String(dummy.getHashCode());
      String ha = new String(n.getHashCode());
      System.out.println(ha2+","+ha);
      if(ha.equals(ha2)) {
        JOptionPane.showMessageDialog(this,
        "Der Hashcode der Nachricht stimmt mit dem übermittelten Hashcode überein",
        "Bestätigung",
        JOptionPane.INFORMATION_MESSAGE); 
      } else {
        JOptionPane.showMessageDialog(this,
        "Der Hashcode der Nachricht passt nicht zum übermittelten Hashcode.",
        "Fehler",
        JOptionPane.ERROR_MESSAGE);
      }
    } 
  } 
} 
