|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.sys.funclib.application.SimpleApplicationGUI
public abstract class SimpleApplicationGUI
Diese abstrakte Klasse stellt eine grafische Benutzeroberfläche zum ausführen von Klassen zur Verfügung. Die Klasse stellt ein Menu und ein Fenster, das Fehler und Logs darstellt, zur Verfügung. Das Menu erlaubt dem Benutzer die Logs zu speichern und das Programm zu beenden. Der Benutzer kann eigene Fenster in die Oberfläche integrieren, indem er Methoden dieser Klasse überschreibt, falls er die Klassen nicht überschreibt wird ein Standardfenster zur Verfügung gestellt.
Der Benutzer kann mehrere Aufrufparamter übergeben, die ausgewertet werden:
Nested Class Summary | |
---|---|
private static class |
SimpleApplicationGUI.StreamReaderThread
Diese Klasse stellt einen Stream in einem dafür vorgesehenem Fenster dar. |
Field Summary | |
---|---|
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 |
Constructor Summary | |
---|---|
protected |
SimpleApplicationGUI()
|
Method Summary | |
---|---|
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
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
Constructor Detail |
---|
protected SimpleApplicationGUI()
Method Detail |
---|
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 null
IOException
- 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 soll
IOException
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
sein
null
sind
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |