public MsgWriter(Msg m) {
super(new BorderLayout());
JPanel head = new JPanel(new GridLayout(0, 2));
mMsg = m;
JPanel contentPane = new JPanel(new BorderLayout());
add(head, BorderLayout.NORTH);
add(contentPane, BorderLayout.CENTER);
head.add(new JLabel("From:"));
mFrom = new JTextField(m.getFrom().getName());
mFrom.setColumns(20);
mFrom.setEditable(false);
head.add(mFrom);
head.add(new JLabel("To:"));
ContactMethod[] recips = m.getRecipients();
String recipsString = "";
boolean isFirst = true;
for(int i=0; i< recips.length; i++) {
if(isFirst) {
recipsString = recipsString + recips[i].idString();
isFirst = false;
} else {
recipsString = recipsString + "; " + recips[i].idString();
}
}
mTo = new JTextField(recipsString);
mTo.setColumns(20);
head.add(mTo);
head.add(new JLabel("Subject:"));
mSubject = new JTextField(m.getSubject());
mSubject.setColumns(20);
head.add(mSubject);
head.add(new JLabel("Send using:"));
SendFolder[] sendFolders = MFlow.getSendFolders();
cmbSendFolder = new JComboBox(sendFolders);
cmbSendFolder.setRenderer(new DefaultListCellRenderer() {
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
if(value instanceof MsgFlowComponent) {
MsgFlowComponent c = (MsgFlowComponent)value;
return super.getListCellRendererComponent(list, c.getName(), index, isSelected, cellHasFocus);
} else {
return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
}
}
});
head.add(cmbSendFolder);
mContent = new JTextArea((String)m.getContent());
mContent.setColumns(20);
mContent.setRows(15);
contentPane.add(new JScrollPane(mContent), BorderLayout.CENTER);
mSend = new JButton("Send");
mSend.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
SendFolder f = (SendFolder) cmbSendFolder.getSelectedItem();
mMsg.setSentDate(new Date());
mMsg.setSubject(mSubject.getText());
// mMsg.setRecipients( //TODO!!!
mMsg.setContent(mContent.getText());
f.sendMsg(mMsg);
for(int i=0; i< mListeners.size(); i++) {
ActionListener al = (ActionListener) mListeners.get(i);
al.actionPerformed(new ActionEvent(MsgWriter.this, ae.getID(), ae.getActionCommand(), ae.getWhen(), ae.getModifiers()));
}
}
});
JPanel bPanel = new JPanel(new BorderLayout());
bPanel.add(mSend, BorderLayout.EAST);
contentPane.add(bPanel, BorderLayout.SOUTH);
// labels.add(new ContactComponent(MFlow.getMyContact()));
// labels.add(new ContactComponent(new Contact("George")));
// ContactHolder ch = new ContactHolder();
// ch.addContact(new Contact("Phil"));
// ch.addContact(new Contact("Jill"));
// labels.add(ch);
}
Constructor starting with the specified Msg |