Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    142

    redirigere system.out su GUI

    Ciao a tutti,
    volevo chiedere se qualcuno sa come affrontare il problema che ho scritto nel titolo.

    In sostanza in alcuni metodi ho delle istruzioni System.out.print(<stringa>) che evidentemente stampano la stringa in oggetto sulla console. Mi servirebbe fare in modo che queste stringhe siano copiate su (ad es.) una text area all interno di una interfaccia grafica.

    Grazie, ciao!
    <esistono cose che non esistono>

  2. #2
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    textArea.appendText(<stringa>)

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    142
    No ma io non ho l oggetto stringa perchè il metodo in questione stampa una stringa diversa in base allo stato dell'oggetto a cui appartiene. E sennò era comodo
    Preciso anche che non posso far ritornare la stringa al metodo in questione
    <esistono cose che non esistono>

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Prova a vedere se questo può esserti utile
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    dovresti scrivere una classe che estenda OutputStream e quindi usare setOut di System, passando la tua classe come argomento. Ovviamente ci sarà una JTextArea su cui farai l'append di quanto in arrivo al tuo write.
    codice:
    import javax.swing.*;
    import java.io.*;
    
    /**
     *
     * @author Andrea
     */
    public class JTextAreaOutRedirect extends JFrame {
        
        private OutputRedirect outr;
        
        private class OutputRedirect extends OutputStream {
            
            private JTextArea ta;
            
            public OutputRedirect(JTextArea ta) {
                this.ta = ta;
            }
            
            public void write (int cosa) throws IOException {
                ta.append(String.valueOf((char) cosa));
            }
        }
        
        public JTextAreaOutRedirect() {
            super("Console Output Redirect Test");
            this.setSize(400,400);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JTextArea ta = new JTextArea();
            PrintStream ps = new PrintStream(new OutputRedirect(ta));
            System.setErr(ps);
            System.setOut(ps);
            this.getContentPane().add(new JScrollPane(ta));
            this.setVisible(true);
        }
        
        public static void main (String[] args) {
            new JTextAreaOutRedirect();
            System.out.println("Dovrebbe finire nella JTextArea");
        }
        
    }
    [EDIT]

    Alex'87 rules
    [/EDIT]
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    142
    Alex....direi che è semplicemente perfetto

    Thanks a lot!!!

    Pete.
    <esistono cose che non esistono>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.