KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > launch4j > Log


1 /*
2     Launch4j (http://launch4j.sourceforge.net/)
3     Cross-platform Java application wrapper for creating Windows native executables.
4
5     Copyright (C) 2004, 2006 Grzegorz Kowal
6
7     This program is free software; you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation; either version 2 of the License, or
10     (at your option) any later version.
11
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     GNU General Public License for more details.
16
17     You should have received a copy of the GNU General Public License
18     along with this program; if not, write to the Free Software
19     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */

21
22 /*
23  * Created on May 12, 2005
24  */

25 package net.sf.launch4j;
26
27 import javax.swing.JTextArea JavaDoc;
28 import javax.swing.SwingUtilities JavaDoc;
29
30 /**
31  * @author Copyright (C) 2005 Grzegorz Kowal
32  */

33 public abstract class Log {
34     private static final Log _consoleLog = new ConsoleLog();
35     private static final Log _antLog = new AntLog();
36
37     public abstract void clear();
38     public abstract void append(String JavaDoc line);
39
40     public static Log getConsoleLog() {
41         return _consoleLog;
42     }
43     
44     public static Log getAntLog() {
45         return _antLog;
46     }
47
48     public static Log getSwingLog(JTextArea JavaDoc textArea) {
49         return new SwingLog(textArea);
50     }
51 }
52
53 class ConsoleLog extends Log {
54     public void clear() {
55         System.out.println("\n");
56     }
57
58     public void append(String JavaDoc line) {
59         System.out.println("launch4j: " + line);
60     }
61 }
62
63 class AntLog extends Log {
64     public void clear() {
65         System.out.println("\n");
66     }
67
68     public void append(String JavaDoc line) {
69         System.out.println(line);
70     }
71 }
72
73 class SwingLog extends Log {
74     private final JTextArea JavaDoc _textArea;
75
76     public SwingLog(JTextArea JavaDoc textArea) {
77         _textArea = textArea;
78     }
79
80     public void clear() {
81         SwingUtilities.invokeLater(new Runnable JavaDoc() {
82             public void run() {
83                 _textArea.setText("");
84         }});
85     }
86
87     public void append(final String JavaDoc line) {
88         SwingUtilities.invokeLater(new Runnable JavaDoc() {
89             public void run() {
90                 _textArea.append(line + "\n");
91         }});
92     }
93 }
94
Popular Tags