BlueJ Quellcode-Problem / (Karol)

Sphinx

Mitglied
Guten Abend,
ich habe ein Problem mit meinem Quellcode.
Doch zu allererst hier einmal ein Link Java BlueJ Karol.
Denn mein Problem bezieht sich auf dieses Programm.

Schnell Beschreibung meines Codes:
1. Eingabefenster mit einem Textfeld öffnet sich, worin eine Eingabe getätigt werden kann.
2. Textfeld wird ausgelesen und verarbeitet (Buchstaben werden gelesen).
3. Roboter soll den Buchstaben in die vorgegebene Welt "zeichnen/schreiben".

*Roboter sowie die Welt sind vorgegeben

Soweit funktioniert alles, doch:
- während der Roboter den Buchstaben "zeichnet/schreibt" ist die Welt und der Roboter nicht zusehen,
sondern erst, wenn alles fertig ist.


Java:
...
      
    //Je nach eingetippten Buchstaben soll eine zugewiesene Aktion ausgeführt werden

    public void caseVerarbeitung (char zeichen) 
    {
        switch(zeichen)
        {
            case 'A': buchstabe.BuchstabeA();
            break;
            case 'B': buchstabe.BuchstabeB();
            break;
            ...
        }
     }

Ich vermute das hier der Fehler liegt, denn dass ist der Abschnitt wo der Roboter die Anweisung bekommt das vorgegebene zu "zeichnen/schreiben". (Sicher bin ich mir aber nicht)
 

Marco13

Top Contributor
Der Zusammenhang ist sehr speziell (BlueJ und Karol), d.h. das wird kaum jemand "mal kurz" testen... aber vielleicht hast du ja Glück.
Ansonsten: Ist vorgesehen oder gefordert, dass man die Bewegung sieht?
(Es klingt erstmal, als wäre das ein Threading-Problem, aber... das klingt erstmal widersrüchlich dazu, dass das ganze ja eine Einsteiger-Umgebung sein soll...)

Vielleicht könnte man sich mit ein bißchen mehr Code was überlegen: Wird das ganze aus einem "actionPerformed" heraus gestartet? Welches sind die eigentlichen Aufrufe an "Karol"-Funtionen?
 

Sphinx

Mitglied
Die Bewegung die der Roboter ausführt soll, soll wenn möglich gesehen werden.
(Also die genaue Ausführung wie er geht um den Buchstaben zu legen)

Diese Aktion wird wie du schon geschrieben hast aus einem "actionPerformed" gestartet.

Java:
...

        button.addActionListener(new ActionListener()
        {

            public void actionPerformed(ActionEvent arg0) 
            {
                hide();
                getText();
            }
            ...
 

Marco13

Top Contributor
Ja, ist etwas gewagt wenn ich das jetzt vorschlage... erstens kenne ich dieses Karol nicht, und weiß nicht ob das OK ist, zweitens kenne ich das Programm nicht, und drittens sind Threads eigentlich nichts für dieses Stadium des Programmierenlernens, aber du kannst mal
Java:
public void actionPerformed(ActionEvent arg0) 
{
    Thread thread = new Thread(new Runnable()
    {
        public void run()
        {
            hide();
            getText();
        }
    });
    thread.start();
}
versuchen...

EDIT: start statt run :oops:
 
Zuletzt bearbeitet:

Sphinx

Mitglied
Funktioniert leider auch nicht.
Das Programm läuft, doch wie schon zuvor geht nur das extra Fenster für "die Welt" auf und sieht zuerst nichts in diesem. Doch wenn der Buchstabe fertig gelegt wurde, dann kann man in dem Fenster den Roboter mit dem fertig gelegten Buchstaben sowie die Umgebung sehen.
 

Neue Themen


Oben