001    package nl.cwi.sen1.gui.plugin;
002    
003    import java.awt.BorderLayout;
004    import java.awt.Frame;
005    import java.awt.Insets;
006    
007    import javax.swing.JDialog;
008    import javax.swing.JPanel;
009    import javax.swing.JScrollPane;
010    import javax.swing.JTextArea;
011    
012    public class ProgressList extends JDialog {
013            private JTextArea taskOutput;
014    
015            private String newline = "\n";
016    
017            public ProgressList(Frame owner, String title, boolean modal) {
018                    super(owner, title, modal);
019                    taskOutput = new JTextArea(10, 60);
020                    taskOutput.setMargin(new Insets(5, 5, 5, 5));
021                    taskOutput.setEditable(false);
022    
023                    JPanel panel = new JPanel();
024    
025                    getContentPane().add(panel, BorderLayout.PAGE_START);
026                    getContentPane().add(new JScrollPane(taskOutput), BorderLayout.CENTER);
027                    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
028                    pack();
029            }
030            
031            public void addMessage(String message) {
032                    taskOutput.append(message + newline);
033                    taskOutput.setCaretPosition(taskOutput.getDocument().getLength());
034            }
035    }