/* * MessageContentViewer.java * * Created on den 14 september 2001, 18:54 */ package ip1.u7.b; import javax.mail.Message; import java.io.*; import javax.mail.MessagingException; /** Komponent som visar innehållet i ett e-postmeddelande * * @author Henrik Johansson, DS80 * @version vt2001 */ public class MessageContentViewer extends javax.swing.JPanel implements MessageContent{ /** Creates new form MessageContentViewer */ public MessageContentViewer() { initComponents(); } /** Sätter kontrollklassen * @param controller kontrollobjektet */ public void setController(MailReceiverGUI controller) { // Prenumererar på MessageChosenEvents controller.addMessageChosenListener(new MessageChosenListener() { public void dispatchMessageChosen(MessageChosenEvent evt) { showContent(evt.getMessage()); } }); // Prenumererar på ServerInfoChangeEvents controller.addServerInfoChangeListener(new ServerInfoChangeListener() { public void dispatchServerInfoChange(ServerInfoChangeEvent evt) { clearContent(); } }); } /** Aktiveras när komponenten tar emot ett MessageChosenEvent. * visar upp det valda meddelandet * * @param message Meddelandet som skall visas upp */ public void showContent(Message message) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); message.writeTo(baos); messageContent.setText(baos.toString()); baos.close(); } catch(IOException e) { System.err.println(e.getMessage()); } catch(MessagingException e) { System.err.println(e.getMessage()); } } /** tömmer komponenten */ public void clearContent() { messageContent.setText(""); } /** alla komponenter skall ha en startmetod */ public void start() {} /** alla komponenter skall ha en stopmetod */ public void stop() {} /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents jScrollPane2 = new javax.swing.JScrollPane(); messageContent = new javax.swing.JEditorPane(); setLayout(new java.awt.BorderLayout()); setBackground(java.awt.Color.white); messageContent.setEditable(false); jScrollPane2.setViewportView(messageContent); add(jScrollPane2, java.awt.BorderLayout.CENTER); }//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JScrollPane jScrollPane2; private javax.swing.JEditorPane messageContent; // End of variables declaration//GEN-END:variables }