1 17 18 package org.columba.core.gui.scripting; 19 20 import java.awt.BorderLayout ; 21 import java.awt.Dialog ; 22 import java.awt.FlowLayout ; 23 import java.awt.event.ActionEvent ; 24 import java.awt.event.ActionListener ; 25 26 import javax.swing.BorderFactory ; 27 import javax.swing.JDialog ; 28 import javax.swing.JLabel ; 29 import javax.swing.JPanel ; 30 import javax.swing.JScrollPane ; 31 import javax.swing.JTextArea ; 32 33 import org.columba.core.gui.base.ButtonWithMnemonic; 34 import org.columba.core.scripting.ScriptLogger; 35 36 38 public class MessageDetailsDialog 39 extends JDialog 40 implements ActionListener 41 { 42 private static final String 43 RES_TITLE = "Log message details", 44 RES_CLOSE = "&Close"; 45 46 public MessageDetailsDialog( Dialog owner, ScriptLogger.LogEntry logEntry) 47 { 48 super(owner,RES_TITLE,true); 49 init(logEntry); 50 51 setLocationRelativeTo(getParent()); 52 53 } 54 55 private void init(ScriptLogger.LogEntry logEntry) 56 { 57 58 JPanel 59 main = new JPanel (new BorderLayout (10,10)), 60 centerPanel = new JPanel (new BorderLayout (10,5)), 61 buttonPanel = new JPanel (new FlowLayout (FlowLayout.RIGHT)); 62 63 JLabel messageLabel = new JLabel (logEntry.getMessage()); 64 65 JScrollPane scroll = new JScrollPane (JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, 66 JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 67 68 JTextArea detailsField = new JTextArea (logEntry.getDetails(),5,40); 69 ButtonWithMnemonic closeButton = new ButtonWithMnemonic(RES_CLOSE); 70 71 detailsField.setLineWrap(true); 72 detailsField.setWrapStyleWord(true); 73 74 scroll.getViewport().add(detailsField); 75 76 centerPanel.add(messageLabel,BorderLayout.NORTH); 77 centerPanel.add(scroll,BorderLayout.CENTER); 78 79 closeButton.addActionListener(this); 80 buttonPanel.add(closeButton); 81 82 main.add(buttonPanel,BorderLayout.SOUTH); 83 main.add(centerPanel,BorderLayout.CENTER); 84 main.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); 85 86 setLayout(new BorderLayout ()); 87 add(main,BorderLayout.CENTER); 88 pack(); 89 } 90 91 public void actionPerformed(ActionEvent e) 92 { 93 setVisible(false); 94 dispose(); 95 } 96 97 } 98 | Popular Tags |