Hi,
Ich beschäftige mich nun seit einer Woche mehr oder weniger intensiv mit Java. Das Schreiben der Skripte an und für sich geht, nur mit der Klassenstruktur happerts bei mir ein wenig.
Folgendes ist mein Problem:
Ich Habe eine Klasse "Core" und die führt als erstes eine Methode der Klasse "EingabenAnalyse" aus und diese ruft eine Methode einer weiteren Klasse "SimpleInput" auf, welche ein Dialogfeld öffnet (zwar mit JOptionPane.showInputDialog). Die Methode gibt die Eingabe an die Klasse EingabenAnalyse zurück.
Diese Klasse splittet mir den eingegebenen String in einzelne Wörter und gleicht sie mit einem Array mit Wörtern ab, die das Programm "kennen" soll. Bei Treffern ruft die Klasse EingabenAnalyse die Klasse ActionHandler auf und übergibt ihr die gefundenen Wörter, damit diese Klasse dann Variablen setzen kann auf grund derer das Programm eine Antwort ausspuckt. Es soll eine Art künstlicher Chatpartner werden.
Nun, meine Klassen funktionieren an sich soweit, dass ich einmalig etwas ins Dialogfeld eingeben kann und es kommt eine Reaktion zurück. Was ich jetzt aber überhaupt nicht verstehe, wie kann ich z.bsp meine Core Klasse erneut ausführen wenn der "Marker" am Ende angekommen ist?
Oder warum kann ich die Methode EingabenAnalyse.Analyse() nur einmal ausführen?
Ich kann z.bsp nicht sowas in der Core Klasse haben:
EingabenAnalyse.Analyse();
EingabenAnalyse.Analyse();
EingabenAnalyse.Analyse();
Der Übersicht wegen noch:
Core -> Eingabenanalyse -> SimpleInput
EingabenAnalyse <- SimpleInput
EingabenAnalyse -> ActionHandler
Core <- ActionHandler (Ändet Variablen in der CoreKlasse Variablen, die dann z.bsp die Freundlichkeit des küntlichen Chatpartners ändern)
Das Dialogfeld wird einmal erscheinen und fertig. Müssen jetzt Instanzen von der Klasse gebildet werden? Weil, das pack ich auch nicht und wenn ich was mit dem Befehl new Versuche, dann gibt mir Eclipse den Tipp das statisch regeln zu lassen. Die Autokorrektur erzeugt mir dann genau wieder "EingabenAnalyse.Analyse();"
Eine weitere, kleinere Frage für den weiteren Fortlauf meiner Arbeit:
Ich bastle mit Jigloo momentan eine Oberfläche, die ein Chatfenster simuliert und natürlich dann den JOptionPane.showInputDialog ersetzen soll. In der Core Klasse könnte dann einfach
die main Funktion der Swing Klasse aufgerufen werden, damit sich die Oberfläche öffnet.
Bleibt die dann nach einer Eingabe auch offen? Resp. Wie können die anderen Klassen im Hintergrund weiter laufen während das Swing GUI offen ist?!
Tur mir leid für den vielen Text. Ich bin kein Mann weniger Worte :?
Ich beschäftige mich nun seit einer Woche mehr oder weniger intensiv mit Java. Das Schreiben der Skripte an und für sich geht, nur mit der Klassenstruktur happerts bei mir ein wenig.
Folgendes ist mein Problem:
Ich Habe eine Klasse "Core" und die führt als erstes eine Methode der Klasse "EingabenAnalyse" aus und diese ruft eine Methode einer weiteren Klasse "SimpleInput" auf, welche ein Dialogfeld öffnet (zwar mit JOptionPane.showInputDialog). Die Methode gibt die Eingabe an die Klasse EingabenAnalyse zurück.
Diese Klasse splittet mir den eingegebenen String in einzelne Wörter und gleicht sie mit einem Array mit Wörtern ab, die das Programm "kennen" soll. Bei Treffern ruft die Klasse EingabenAnalyse die Klasse ActionHandler auf und übergibt ihr die gefundenen Wörter, damit diese Klasse dann Variablen setzen kann auf grund derer das Programm eine Antwort ausspuckt. Es soll eine Art künstlicher Chatpartner werden.
Nun, meine Klassen funktionieren an sich soweit, dass ich einmalig etwas ins Dialogfeld eingeben kann und es kommt eine Reaktion zurück. Was ich jetzt aber überhaupt nicht verstehe, wie kann ich z.bsp meine Core Klasse erneut ausführen wenn der "Marker" am Ende angekommen ist?
Oder warum kann ich die Methode EingabenAnalyse.Analyse() nur einmal ausführen?
Ich kann z.bsp nicht sowas in der Core Klasse haben:
EingabenAnalyse.Analyse();
EingabenAnalyse.Analyse();
EingabenAnalyse.Analyse();
Der Übersicht wegen noch:
Core -> Eingabenanalyse -> SimpleInput
EingabenAnalyse <- SimpleInput
EingabenAnalyse -> ActionHandler
Core <- ActionHandler (Ändet Variablen in der CoreKlasse Variablen, die dann z.bsp die Freundlichkeit des küntlichen Chatpartners ändern)
Das Dialogfeld wird einmal erscheinen und fertig. Müssen jetzt Instanzen von der Klasse gebildet werden? Weil, das pack ich auch nicht und wenn ich was mit dem Befehl new Versuche, dann gibt mir Eclipse den Tipp das statisch regeln zu lassen. Die Autokorrektur erzeugt mir dann genau wieder "EingabenAnalyse.Analyse();"
Eine weitere, kleinere Frage für den weiteren Fortlauf meiner Arbeit:
Ich bastle mit Jigloo momentan eine Oberfläche, die ein Chatfenster simuliert und natürlich dann den JOptionPane.showInputDialog ersetzen soll. In der Core Klasse könnte dann einfach
die main Funktion der Swing Klasse aufgerufen werden, damit sich die Oberfläche öffnet.
Bleibt die dann nach einer Eingabe auch offen? Resp. Wie können die anderen Klassen im Hintergrund weiter laufen während das Swing GUI offen ist?!
Tur mir leid für den vielen Text. Ich bin kein Mann weniger Worte :?