System.out Ausgabe auf jtextarea Fehlersuche

basti_44

Mitglied
Hey Leute, ich habe schon wieder ein Problem was ich nicht vernünftig lösen kann.
Ich will die System.out Ausgabe von der Console in eine Textarea in der Gui umleiten. Das klappt soweit auch so gut über einen erstellten Printstream.
Die System.out Ausgaben kommen aus einer methode die erst aufgerufen werden soll wenn ein bestimmter Button gedrückt wird, was durch den Aktionlistener auch funktioniert.
Aber leider nur beim debuggen, was ich absolut nicht verstehe :/. Der Programmablauf sollte doch beim Debuggen identisch sein?

Hier mal mein Code :

Code:
public class LoadGui
{
    public static Playground testPlayground = new Playground();

    public static void main(String[] args)
    {
         StartScreen startScreen = new StartScreen();
         PrintStream someOtherStream = new PrintStream(System.out)
            {
                public void println(String s)
                {
                    Playground.onEvent(s);
                }
                public void println(int i)
                {
                    Playground.onEvent(i);
                }
            };
            System.setOut(someOtherStream);
            boolean t = true;
            while(t==true)
            {
                if(testPlayground.isVisible())
                {
                    GameLogic.logic();
                    t=false;
                }
            }
    }

Playground.isVisible wird im ActionListener auf true gesetzt.
Gamelogic() ist die methode mit den System.out Ausgaben.

Hier der Code davon :

Code:
    public PlayerNames()
    {
        super("Spielernamen");
        setVisible(true);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        int frameWidth = 300;                                      
        int frameHeight = 300;
        setSize(frameWidth, frameHeight);   
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();   
        int x = (d.width - getSize().width) / 2;
        int y = (d.height - getSize().height) / 2;
        setLocation(x, y);
        Container cp = getContentPane();                    
        cp.setLayout(null);
        cp.setBackground(Color.WHITE);
        textfield1.setBounds(20, 0, 261, 44);
        textfield1.setText("Hier können Sie die Spielernamen eingeben.");
        cp.add(textfield1);
        textfield2.setBounds(16, 56, 62, 20);
        textfield2.setText("Spieler 1 :");
        cp.add(textfield2);
        jTextField1.setBounds(82, 58, 150, 20);
        cp.add(jTextField1);
        button.setBounds(93, 206, 115, 25);
        button.setText("Spiel starten");
        button.setMargin(new Insets(2, 2, 2, 2));
        button.addActionListener(new ActionListener()
        {
          public void actionPerformed(ActionEvent evt)
          {
            button_ActionPerformed(evt);
          }
        private void button_ActionPerformed(ActionEvent evt)
        {
            LoadGui.setPlayerOneNameString(jTextField1.getText());
            LoadGui.testPlayground.setVisible(true);
            dispose();
        }
        });
        cp.add(button);

Und er macht das auch so wie geplant, aber halt nur beim Debuggen.
Ich hoffe es kann mir jemand einen Tipp geben.
 

basti_44

Mitglied
Entferne erstmal überall static (außer bei main).

Hab ich schon versucht, aber ich kriege es nicht richtig hin.
Das Problem ist, zb. bei der Variable testPlayground, dass ich diese im actionlistener auf Visible(true) setzten möchte und wenn ich sie nicht static machen kriege ich sie in die andere Klasse nicht übergeben.
Das sollte doch mit getter setter funktionieren, nur leider meckert er da immer rum.
 

basti_44

Mitglied
toll - und wir dürfen raten, WAS angemeckert wird?? :rolleyes:
VG Klaus

Ja sorry stimmt natürlich.

Code:
    public static void main(String[] args)
    {
         Playground testPlayground = new Playground();
         StartScreen startScreen = new StartScreen();
         PrintStream someOtherStream = new PrintStream(System.out)
            {
                public void println(String s)
                {
                    Playground.onEvent(s);
                }
                public void println(int i)
                {
                    Playground.onEvent(i);
                }
            };
            System.setOut(someOtherStream);
            boolean t = true;
            while(t==true)
            {
                if(testPlayground.isVisible())
                {
                    GameLogic.logic();
                    t = false;
                }
            }
    }

Wenn ich das auf diesem Weg probiere, erkennt er das Object testPlayground natürlich in der anderen Klasse nicht. Wenn ich es static setzte ist es Global und es geht über den Klassenaufruf.
Leider weiß ich nicht wie ich das ohne static umsetzten soll.
 

basti_44

Mitglied
testPlayground.onEvents(s);

Leider verändert sich nicht viel.
Im Debugger von Eclipse macht er es, er setzt testPlayground.isVisible auf true, geht in die Schleife rein, führt die methode logic() aus und schreibt in die textarea.
Beim normalen ausführen des Programms wird auch auf true gesetzt, aber er führt die methode nicht aus. :/ es passiert einfach nichts in der textarea.
 

basti_44

Mitglied
Ich hab es gestern noch hinbekommen, es lag glaube tatsächlich wieder an der missbräuchlichen Benutzung von static. Überall entfernt und nun läuft es wie geschmiert. :]
Danke für eure Ratschläge!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B serlvet system.out ausgabe Allgemeine Java-Themen 4
X Input/Output InputStream/Scanner(System.in) read()/hasNextLine() block unterbrechen Allgemeine Java-Themen 7
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
B Lottospielen mit System, Versuch 2, noch umständlicher als vorher Allgemeine Java-Themen 1
J Frage zu System.getproperties. Allgemeine Java-Themen 60
sascha-sphw Erste Schritte Unit und Integration-Tests im Java Modul System Allgemeine Java-Themen 10
F Frage zu System.in Allgemeine Java-Themen 3
E System property setzten Allgemeine Java-Themen 8
Kirby.exe Movement System für Spiel Allgemeine Java-Themen 13
O Beziehung System.exit(x) <>Errorlevel Allgemeine Java-Themen 2
F System Tray Menubutton ActionListener Allgemeine Java-Themen 5
H Im Tiled-Map-System ein Item anklicken Allgemeine Java-Themen 0
S Java Plugin System (ohne OSGI) Allgemeine Java-Themen 10
D System.arraycopy verhält sich seltsam Allgemeine Java-Themen 1
C Login System Allgemeine Java-Themen 19
A BufferedReader ohne System.in Allgemeine Java-Themen 9
VfL_Freak JDK installieren System-Property "user.dir" Allgemeine Java-Themen 6
J System.arraycopy ergibt anderes Resultat als for-loop Allgemeine Java-Themen 4
F Wie kann ich auf einem System prüfen, ob eine lib verfügbar ist? Allgemeine Java-Themen 2
D Java System.out::println Allgemeine Java-Themen 1
D Methoden Java Applikation Die System Auslastung optimieren ? Allgemeine Java-Themen 7
S Ist Java ein geschlossenes System? Allgemeine Java-Themen 2
L Erste Schritte Suche Java Wiki System? Allgemeine Java-Themen 5
chuxXo System/JLayer Volume ändern Allgemeine Java-Themen 0
Neumi5694 System.out und System.err umleiten - NICHT im Quelltext Allgemeine Java-Themen 4
X System.out/err(Die Console) in JTextArea ausgeben Allgemeine Java-Themen 2
S Best Practice System.arrayCopy verändert Ziel-Array Allgemeine Java-Themen 2
A Methoden Der Sinn von system.out.print(); Allgemeine Java-Themen 9
A System freezes when trying to run external command from Java with wait for Allgemeine Java-Themen 3
A Java | Login-System Allgemeine Java-Themen 3
C System.out.print("") Compiler Fehler Allgemeine Java-Themen 2
Joew0815 Best Practice Wie am besten Plugin-System erstellen? Allgemeine Java-Themen 12
C System.in erhält Input von Tastatur. wo wird das festgelegt? Allgemeine Java-Themen 4
F Benachrichtigungs-System Webapp Java Servlet Allgemeine Java-Themen 10
M collection persistence system Allgemeine Java-Themen 4
V System.out.println an jeder Stelle im Projekt löschen Allgemeine Java-Themen 4
D System.out's in String speichern. Allgemeine Java-Themen 2
H Interpreter-Fehler ArrayIndexOutOfBoundsException bei System.arraycopy() Allgemeine Java-Themen 3
M System herausfinden Allgemeine Java-Themen 6
O Variablen System.getenv: Sinnlose Werte, Arrays?! Allgemeine Java-Themen 6
G java.exe in System 32. Hilfe!!! Allgemeine Java-Themen 8
R Methoden Tag System Problem Allgemeine Java-Themen 3
J System.out im GUI anzeigen Allgemeine Java-Themen 3
N System.exit(0/1) Allgemeine Java-Themen 3
F System.out.println mit log4j ersetzen Allgemeine Java-Themen 10
D System.LoadLibrary(..) - Programm stürzt ab Allgemeine Java-Themen 2
U Classpath DLLs mittels System.load() laden: Allgemeine Java-Themen 6
D Listener auf System.out.err / System.out.println Allgemeine Java-Themen 5
G Input/Output System.in "umbiegen" für junit-Test Allgemeine Java-Themen 4
Kr0e User management system Allgemeine Java-Themen 2
S Java Programm -System Neustart überleben? Allgemeine Java-Themen 3
Rudolf Wann System.exit und wann dispose? Allgemeine Java-Themen 9
ruutaiokwu System.out auf files umlenken in log4j.xml Allgemeine Java-Themen 4
K Objekt-Austausch zwischen zwei Programmen über System-Clipboard Allgemeine Java-Themen 5
agent47 Plugin System Verständnisfrage Allgemeine Java-Themen 6
M Wie externe System-Ressourcen zwangsweise freigeben Allgemeine Java-Themen 2
E Durch System.in.read() blockierten Thread stoppen Allgemeine Java-Themen 10
P System.out im Eclipse plugin Allgemeine Java-Themen 4
C File System Watcher Allgemeine Java-Themen 2
S Verhalten von System.getenv() in Ubuntu / Linux Allgemeine Java-Themen 12
A Problem mit System.getProperty(...) Allgemeine Java-Themen 5
D System.loadlibrary funktioniert nicht Allgemeine Java-Themen 6
H Event ähnliches System Allgemeine Java-Themen 20
Dissi Gammawerte des Grafiktreibers / System ändern? Allgemeine Java-Themen 3
M Plugin-System Allgemeine Java-Themen 4
A NullPointer bei System.getProperty("file.seperator") Allgemeine Java-Themen 4
R System.out oder System.err? Allgemeine Java-Themen 10
M Wie kann ich alle System.out Strings in ein log window umleiten? Allgemeine Java-Themen 6
K System.exec() Programm mit mehreren Parametern Allgemeine Java-Themen 8
G unerklärliches System.out Allgemeine Java-Themen 3
M System.setProperty("javax.net.ssl.trustStore", "mykey.pkx"); Allgemeine Java-Themen 1
T System Preferences + LInux (Ubuntu) Allgemeine Java-Themen 8
G OutputStream to System.out Allgemeine Java-Themen 35
J Wo werden die System properties gespeichert Allgemeine Java-Themen 12
C JSR295 in Produktiven System zu empfehlen? Allgemeine Java-Themen 3
B System CPU Zeit / Last auslesen Allgemeine Java-Themen 2
G Bringt es etwas System.gc() nach großen Aufgaben aufzurufen? Allgemeine Java-Themen 2
T Feststellen ob System-Konsole verfügbar Allgemeine Java-Themen 2
L remote debugging of a multi threaded system Allgemeine Java-Themen 2
F Probleme mit eigenem Plugin-System Allgemeine Java-Themen 3
L System.exit Allgemeine Java-Themen 3
G System.out und String machen was anderes Allgemeine Java-Themen 5
G System.out im window h.inein bringen? Allgemeine Java-Themen 8
A System.in pipen Allgemeine Java-Themen 3
P System.getProperty zu Classloader Allgemeine Java-Themen 21
I Am System angemeldeten Benutzer abfragen Allgemeine Java-Themen 11
E System.out umleiten Allgemeine Java-Themen 2
S system.out und system.err einer Methode in Datei schreiben. Allgemeine Java-Themen 7
S System Informationen auslesen. Allgemeine Java-Themen 3
N Thread und System.out.print() Allgemeine Java-Themen 2
K Kann man System.out in eine Datei speichern? ähnlich wie log Allgemeine Java-Themen 7
B Native DLL zweimal laden: System.load(sPath); Allgemeine Java-Themen 5
P System.getProperty("user.dir") Allgemeine Java-Themen 10
K Abfrage ob JRE oder JDK auf System installiert ist. Allgemeine Java-Themen 12
N Plugin-System: Klassen über String laden Allgemeine Java-Themen 3
O System.nanoTime() einheitlichen Wert auf mehreren Rechnern? Allgemeine Java-Themen 9
T System-Monitoring in Echtzeit Allgemeine Java-Themen 2
E System.out.println Allgemeine Java-Themen 5
G Umrechnen von grossen Zahlen ins Hex-System Allgemeine Java-Themen 3
G System.out.println(is.getClass().getName()); Allgemeine Java-Themen 15

Ähnliche Java Themen

Neue Themen


Oben