1 21 22 25 package net.sf.launch4j; 26 27 import javax.swing.JTextArea ; 28 import javax.swing.SwingUtilities ; 29 30 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 } 94 | Popular Tags |