Ok grazie! Saresti in grado di farmi un esempio pratico pratico di come utilizzare JTextArea/JTextField? sempre sotto questo aspetto...ovvero far si che ciò che ci sia scritto da system.in venga indirizzato nel textField.
Ok grazie! Saresti in grado di farmi un esempio pratico pratico di come utilizzare JTextArea/JTextField? sempre sotto questo aspetto...ovvero far si che ciò che ci sia scritto da system.in venga indirizzato nel textField.
Ultima modifica di teojuve93; 16-10-2014 a 23:28
Non è una cosa che si può fare in poche righe, come ho detto ci sono alcune cose da affrontare.
Innanzitutto PrintStream è una classe complessa e con parecchi metodi, quindi generalmente non è questa che si estende per ridefinire i metodi. In genere è più preferibile creare un XyzOutputStream custom da assegnare al PrintStream. Ma il punto è che gli output stream sono orientati ai byte, il tuo XyzOutputStream quindi riceverebbe sequenze di byte che tu devi riconvertire in caratteri! (appunto perché l'output non è un file o altro binario ma un componente GUI di testo). Quindi entra in gioco la questione del charset. O usi un charset single-byte (accettando limitazioni sul set di caratteri) oppure usi un charset multi-byte (es. UTF-16) che complica un pelino la riconversione.
Inoltre tu dovresti implementare un XyzInputStream per l'input. C'è sempre la questione del charset ma è più semplice, perché tu parti da testo nel componente GUI per ottenere una sequenza di byte. Il problema qui è un altro. L'input dallo standard-input è "sincrono" mentre l'input nella GUI è gestito ad eventi e oltretutto è nel Event Dispatch Thread. A livello basilare si potrebbe usare la coppia PipedInputStream/PipedOutputStream.
P.S. consiglio: se vuoi questa strada, inizia dall'ultima parte, con la coppia di classi che ho detto.
Ultima modifica di andbin; 16-10-2014 a 23:40
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet