PDA

View Full Version : [JAVA]Visualizzazione su 2 console distinte


alby89
08-06-2009, 15:29
Ciao a tutti, ho la necessità di visualizzare delle informazioni di classi differenti in 2 console separate.
Il mio programma è composto da diverse classi divise in 2 categorie:
le classi della categoria A devono visualizzare le loro info sulla console 1
le classi della categoria B devono visualizzare le loro info sulla console 2
E' possibile fare una cosa del genere?
Qualcuno può aiutarmi?grazie

banryu79
08-06-2009, 15:53
Ma devi vedere le informazioni a runtime?
Perchè non credo proprio sia facilissimo fare quello che chiedi, mi viene in mente solo una cosa.
Se il 'gruppo A' di classi e il 'gruppo B' sono ben distinti e separati ed è possibile creare due processi distinti, dove il 'processo A' durante l'esecuzione lancia il processo 'B' allora si potrebbe usare:
- System.out per il 'processo A';
- 'processo A' lancia con Runtime.exec 'processo B' un file .bat (se sei in Windows) che lancia un cmd.exe (qindi viene lanciato in una nuova consolle) al quale viene passato come parametro il 'processo B' (che so, .jar).

Comunque è un'accrocchio terribile (e devi anche scriverti una piccola classe helper che ti faccia lo svuotamento dei buffer per il 'processo B', sennò son dolori), brutto e puzzolente (nonchè pieno di assunzioni e limitazioni).


L'alternativa più semplice è raccogliere i due output dei due gruppi in due diversi buffer e processarli per farci quel che si vuole (output differenziato in finestre grafiche (mi vengono in mente le text area), oppure due diversi file di log, dipende cosa serve ottenere).

alby89
08-06-2009, 16:04
Ma devi vedere le informazioni a runtime?
Perchè non credo proprio sia facilissimo fare quello che chiedi, mi viene in mente solo una cosa.
Se il 'gruppo A' di classi e il 'gruppo B' sono ben distinti e separati ed è possibile creare due processi distinti, dove il 'processo A' durante l'esecuzione lancia il processo 'B' allora si potrebbe usare:
- System.out per il 'processo A';
- 'processo A' lancia con Runtime.exec 'processo B' un file .bat (se sei in Windows) che lancia un cmd.exe (qindi viene lanciato in una nuova consolle) al quale viene passato come parametro il 'processo B' (che so, .jar).

Comunque è un'accrocchio terribile (e devi anche scriverti una piccola classe helper che ti faccia lo svuotamento dei buffer per il 'processo B', sennò son dolori), brutto e puzzolente (nonchè pieno di assunzioni e limitazioni).


L'alternativa più semplice è raccogliere i due output dei due gruppi in due diversi buffer e processarli per farci quel che si vuole (output differenziato in finestre grafiche (mi vengono in mente le text area), oppure due diversi file di log, dipende cosa serve ottenere).

mmmhh meglio una fiestra grafica per uno e console per l'altro..sai per caso una bella guida dove spiega come creare ed utilizzare le finestre grafiche?

banryu79
08-06-2009, 17:18
mmmhh meglio una fiestra grafica per uno e console per l'altro..sai per caso una bella guida dove spiega come creare ed utilizzare le finestre grafiche?
http://java.sun.com/docs/books/tutorial/uiswing/index.html