OSDN Git Service

git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/filelock/trunk@17 c6214a2a-ec3a...
[filelock/repo.git] / filelock / src / main / lib / launch4j-2.1.5-win32 / src / net / sf / launch4j / Log.java
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;
28 import javax.swing.SwingUtilities;
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 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 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 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 line) {
69                 System.out.println(line);
70         }
71 }
72
73 class SwingLog extends Log {
74         private final JTextArea _textArea;
75
76         public SwingLog(JTextArea textArea) {
77                 _textArea = textArea;
78         }
79
80         public void clear() {
81                 SwingUtilities.invokeLater(new Runnable() {
82                         public void run() {
83                                 _textArea.setText("");
84                 }});
85         }
86
87         public void append(final String line) {
88                 SwingUtilities.invokeLater(new Runnable() {
89                         public void run() {
90                                 _textArea.append(line + "\n");
91                 }});
92         }
93 }