Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di jeky84
    Registrato dal
    Sep 2009
    Messaggi
    43

    Scrivere i dati ricevuti in una textArea della GUI

    Buonasera a tutti, stò creando un programma in java che dialoga con un microcontrollore e avrei bisogno di un aiuto per scrivere i dati ricevuti dal microcontrollore in una TextArea
    Riesco a ricevere i dati e a scriverli a schermo con un System.out... ora vorrei inserirli in questa TextArea della mia gui di modo che vengano visualizzati anche lì!!
    come potrei fare???
    Grazie a tutti coloro che mi aiuteranno!!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Banalmente:

    codice:
    // Sostituisci la riga
    System.out.println( tuoiDati );
    
    // Con questa
    tuaTextArea.append( tuoiDati );
    PS: non si capisce se usi Swing o il vecchio AWT... ho optato per il secondo. La prossima volta, posta un po' di codice.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di jeky84
    Registrato dal
    Sep 2009
    Messaggi
    43
    ciao grazie mille e scusa se il mio post era un po' scarno...uso swing!!!
    in particolare il metodo che preleva i dati dal micro è in una classe diversa da quella della GUI...quindi come faccio a dare in pasto alla TextArea quei dati???
    cioè:
    ho una classe gui su cui c'è la mia interfaccia
    Poi ho altre classi che lavorano per dialogare col micro
    nella classe Cerca ho il metodo serialevent che si accorge dei dati in arrivo dal micro e li elabora e scrive su schermo tramite un print
    ora io vorrei scrivere quei dati sulla textArea

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da jeky84
    in particolare il metodo che preleva i dati dal micro è in una classe diversa da quella della GUI...quindi come faccio a dare in pasto alla TextArea quei dati???

    nella classe Cerca ho il metodo serialevent che si accorge dei dati in arrivo dal micro e li elabora e scrive su schermo tramite un print
    ora io vorrei scrivere quei dati sulla textArea
    Le solite questioni di "design"! L'oggetto della classe Cerca chi l'ha istanziato?? Forse la classe della gui? In ogni caso puoi fare in modo che l'oggetto Cerca abbia un riferimento all'oggetto principale della tua gui?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di jeky84
    Registrato dal
    Sep 2009
    Messaggi
    43
    no...la gui è a se stante...è solo di decorazione...
    io ho provato a fare così:
    dentro al metodo serialEvent di Cerca ho provato a creare un nuovo oggetto gui in questo modo

    MioGui nf=new MioGui();
    nf.jTextArea2.append(risp);

    dove risp è la stringa che solitamente scrivo su schermo con system.out...
    non dà errori, e il programma gira come prima...solo che non scrive nulla sulla TextArea

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Non devi creare una nuova finestra, ovviamente...

    Tu devi avere una sola finestra. Devi tenere il riferimento a quella finestra (ad esempio, l'oggetto MioGui dovrà essere una variabile di istanza della tua classe con il main) e, per ciascuna scrittura, usare un metodo della classe.

    Dovrai, quindi, far sì che MioGui fornisca un metodo accessorio per poter appendere il testo alla JTextArea.

    Esempio:
    codice:
    public class MioGui extends JFrame {
       ...
       private JTextArea jta;
       ...
       public void appendiTesto(String str) {
          jta.append( str );
       }
    }
    Quindi, nella classe in cui tu istanzi MioGui:

    codice:
    public class Cerca {
       ...
       private MioGui mg;
       ...
       public void serialEvent( ... ) {
          mg.appendiTesto( testoDaAppendere );
       }
       ...
    }
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di jeky84
    Registrato dal
    Sep 2009
    Messaggi
    43
    mmm...non và...inoltre non capisco una cosa...ma il main lo devo mettere nella classe Cerca???

  8. #8
    Utente di HTML.it L'avatar di jeky84
    Registrato dal
    Sep 2009
    Messaggi
    43
    anzi...addirittura adesso non mi scrive più nemmeno su schermo...bohhhh

  9. #9
    Utente di HTML.it L'avatar di jeky84
    Registrato dal
    Sep 2009
    Messaggi
    43
    ho risolto mettendo il main dentro la classe cerca...così usano la tessa istanza di MioGui...anche se a me questa cosa non piace molto...ora quello che voglio fare è trovare un modo per andare a capo sulla textarea e un altro per cancellare i dati sulla textarea

  10. #10
    Utente di HTML.it L'avatar di jeky84
    Registrato dal
    Sep 2009
    Messaggi
    43
    ok...risolto...grazie a tutti per l'aiuto!!!!)))

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 © 2026 vBulletin Solutions, Inc. All rights reserved.