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); } } } }