public abstract class SimpleApplicationGUI extends Object
Modifier and Type | Class and Description |
---|---|
private static class |
SimpleApplicationGUI.StreamReaderThread
Diese Klasse stellt einen Stream in einem dafür vorgesehenem Fenster dar.
|
Modifier and Type | Field and Description |
---|---|
private String |
_className
Klasse, die gestartet wird
|
private String |
_clearDebugLogText |
private String |
_clearErrorLogText |
private JTextArea |
_debugTextArea
In diesem Fenster werden alle DEbugausgaben dargestellt
|
private Thread |
_debugThread
Gibt Debugmessages aus
|
private String |
_endText |
private JTextArea |
_errorTextArea
In diesem Fenster werden alle "Standart Error Messages" dargestellt
|
private Thread |
_errorThread
Gibt Errormessages aus
|
private File |
_fileChooserDirectory
Speichert das zuletzt gewählte Verzeichnis in einem FileChooser
|
(package private) static Font |
_font
Font für Logs
|
private JPanel |
_legendPanel
Dieses Fenster wird in der historie angezeigt und erscheint zwischen den
beiden Logos auf der linken Seite
|
private JFrame |
_mainFrame
Panel, das alle Componenten enthält, die angezeigt werden sollen
|
private JMenuBar |
_menuBar
Menu, das vom Anwender der abstrakten Klasse modifiziert werden kann
|
private String[] |
_modifiedArgumentlist
Argumentliste, die in der start-Methode übergeben wurde, es fehlen die
Argumente:
-gui -prozessname -arbeitsverzeichnis |
private Process |
_process
Prozess, der das Script ausführt
|
private String[] |
_processArguments
Speichert die Argumente, mit denen der Prozoess aufgerufen wurde
|
private String[] |
_processEnvironment
Speichert die Umgebungsvariablen, mit denen der Prozoess aufgerufen wurde
|
private File |
_processWorkingDirectory
Speichert das Arbeitsverzeichniss des Prozesses
|
private String |
_saveDebugLogText |
private String |
_saveErrorLogText |
(package private) String |
_standardUserPanelButtonName
Falls der StandardUserPanel benutzt wird, wird hier der Name des Buttons zum
stoppen und neustarten des Prozesses festgelegt.
|
private JPanel |
_userPanel
Dieses Panel wird vom Benutzer zur Verfügung gestellt
|
Modifier | Constructor and Description |
---|---|
protected |
SimpleApplicationGUI() |
Modifier and Type | Method and Description |
---|---|
private String[] |
cleanedArgumentArray(String[] argumentList)
Diese Methode filtert aus einer Argumentenliste alle Einträge heraus, die
null sind und gibt ein bereinigtes Array zurück. |
private JMenu |
createHelpMenuEntry() |
JPanel |
createLegendPanel()
Dieses Panel wird auf der linken Seite der Oberfläche dargestellt.
|
JPanel |
createUserPanel()
Diese Methode wird aufgerufen, wenn der Benutzer kein eigenes Panel benutzen
möchte.
|
void |
endProcess()
Diese Methode wird aufgerufen, falls ein Prozess beendet werden soll.
|
String[] |
getArguments()
Diese Methode gibt eine überarbeitete Argumentliste zurück.
|
Process |
getProcess()
Der Aufruf dieser Methode gibt den Prozess zurück, der derzeit ausgeführt
wird.
|
JMenu[] |
newMenuEntries()
Diese Methode gibt ein Array mit neuen Menueinträgen zurück.
|
void |
processScript(String[] arguments,
String[] environment,
File workingDirectory)
Diese Methode erzeugt einen Prozess, der ausgeführt wird.
|
private void |
saveLog(File file,
String log)
Diese Methode speichert einen übergebenen String in eine Datei, die
ebenfalls übergeben wird
|
void |
showAboutBox()
Diese Methode zeigt ein "Über" Fenster als JFrame.
|
private void |
showGUI()
Stellt die GUI dar
|
private void |
showHelp()
Zeigt eine Hilfedatei(HTML) an
|
void |
start(String[] args,
boolean startProcess)
Diese Methode wertet die übergebenen Argumente aus und zeigt falls gewünscht
die Oberfläche an.
|
static final Font _font
private final JFrame _mainFrame
private final JMenuBar _menuBar
private JPanel _userPanel
private JPanel _legendPanel
private JTextArea _debugTextArea
private JTextArea _errorTextArea
private Process _process
private Thread _errorThread
private Thread _debugThread
private final String _saveErrorLogText
private final String _saveDebugLogText
private final String _clearErrorLogText
private final String _clearDebugLogText
private final String _endText
private File _fileChooserDirectory
private String[] _processArguments
private String[] _processEnvironment
private File _processWorkingDirectory
private String _className
final String _standardUserPanelButtonName
private String[] _modifiedArgumentlist
public final void processScript(String[] arguments, String[] environment, File workingDirectory) throws IOException
endProcess()
und ein neuer Prozess erzeugt.
Der neue Prozess benutzt die übergebenen Parameter.arguments
- Übergabeparameter, die benutzt werden sollen oder
nullenvironment
- Umgebungsvariablen oder nullworkingDirectory
- Arbeitsverzeichnis oder nullIOException
- siehe Process
Fehlerbeschreibungpublic final void start(String[] args, boolean startProcess)
processScript(java.lang.String[], java.lang.String[], java.io.File)
gestartet werden.args
- Argumente, mit denen der Prozess gestartet werden soll.
Die Argumente enthalten ausserdem die Information, ob
die Oberfläche angezeigt werden soll oder nichtstartProcess
- true = Der in den Argumenten festgelegte Prozess wird
sofort gestartet; false = Der in den Argumenten
festgelegte Prozess wird nicht gestartet und muss mit
dem Aufruf processScript(java.lang.String[], java.lang.String[], java.io.File)
gestartet werdenprivate void showGUI()
public JPanel createLegendPanel()
public JPanel createUserPanel()
public JMenu[] newMenuEntries()
private JMenu createHelpMenuEntry()
private void showHelp()
public void showAboutBox()
public final Process getProcess()
null
zurückgegeben.null
falls noch kein
Prozess gestartet wurdepublic void endProcess()
getProcess()
angefordert werden um das Objekt des aktuellen
Prozzeses zu erhalten.private void saveLog(File file, String log) throws IOException
file
- Datei, in die geschrieben werden solllog
- Text, der geschrieben werden sollIOException
public final String[] getArguments()
start(java.lang.String[], boolean)
übergeben wurde. Es wurden folgende Argumente entfernt:ArgumentList.fetchArgument(java.lang.String)
bearbeitet,
werden die Elemente aus der Liste entfernt und nicht wieder eingefügt, auch
die enstehenden null
Einträge bleiben in dieser Argumentliste
bestehen!private String[] cleanedArgumentArray(String[] argumentList)
null
sind und gibt ein bereinigtes Array zurück.argumentList
- Array mit Argumenten, es können ebenfalls Einträge
null
seinnull
sind