Discussione:
Scritte colorate in finestra DOS
(troppo vecchio per rispondere)
Marco
2005-05-13 09:19:01 UTC
Permalink
Ho bisogno, nelle fasi di test, di ottenere sulla finestra DOS che lancia
un'applicazione java scritte colorate per renderne più evidenti alcune.
con "System.out.print("Frase");", invece, le scritte sono tutte bianche.

Ricordo che con il vecchio DOS esistevano le sequenza ANSI, ma non ricordo
bene come si usavano; inoltre il DOS di Windows XP forse non ha il driver di
supporto. E, per finire, non so se basterebbe dare un
System.out.print([sequenza ANSI+scritta]); per rendere colorata la scritta.


N.B. Mi servirebbe SOLO per la fase di test, non importa se esiste un modo
di farlo funzionare solo sul mio PC.
Non avrebbe, invece, senso utilizzare Label su Frame, essendo molti i
messaggi che devo visualizzare.
DamageInc
2005-05-13 10:53:46 UTC
Permalink
Post by Marco
Ho bisogno, nelle fasi di test, di ottenere sulla finestra DOS che lancia
un'applicazione java scritte colorate per renderne più evidenti alcune.
con "System.out.print("Frase");", invece, le scritte sono tutte bianche.
Ricordo che con il vecchio DOS esistevano le sequenza ANSI, ma non ricordo
bene come si usavano; inoltre il DOS di Windows XP forse non ha il driver di
supporto. E, per finire, non so se basterebbe dare un
System.out.print([sequenza ANSI+scritta]); per rendere colorata la scritta.
N.B. Mi servirebbe SOLO per la fase di test, non importa se esiste un modo
di farlo funzionare solo sul mio PC.
Non avrebbe, invece, senso utilizzare Label su Frame, essendo molti i
messaggi che devo visualizzare.
Sarebbe meglio usare una console grafica... usando il componente
TextPane e il modello DefaultStyleDocument per specificare il tipo di
carattere e il colore che devono essere usati (permette cosi di
specificare un colore per ogni riga inserita)

Guarda sul tutorial di swing e sulle Java Doc. Questo lavoro lo fai una
volta sola... poi lo potrai benissimo usare in altre applicazioni senza
difficolta alcuna.
Marco
2005-05-13 12:22:23 UTC
Permalink
Sarebbe meglio usare una console grafica... usando il componente TextPane
e il modello DefaultStyleDocument per specificare il tipo di carattere e
il colore che devono essere usati (permette cosi di specificare un colore
per ogni riga inserita)
Guarda sul tutorial di swing e sulle Java Doc. Questo lavoro lo fai una
volta sola... poi lo potrai benissimo usare in altre applicazioni senza
difficolta alcuna.
Non ho mai usato Swing (tranne un vecchio tentativo), per cui posso anche
non aver capito bene; tuttavia, avendo decine e decine di righe, ripeto SOLO
per il test delle mie applicazioni quando qualcosa non va, devono
ASSOLUTAMENTE stare su una finestra DOS (da cui, tra l'altro, in caso di
necessità, potrei copiare e incollare facilmente su un file di testo).

Io vorrei proprio usare le sequenze ANSI...
_Mario_
2005-05-13 12:36:43 UTC
Permalink
Post by Marco
Non ho mai usato Swing (tranne un vecchio tentativo), per cui posso anche
non aver capito bene; tuttavia, avendo decine e decine di righe, ripeto
SOLO per il test delle mie applicazioni quando qualcosa non va, devono
ASSOLUTAMENTE stare su una finestra DOS (da cui, tra l'altro, in caso di
necessità, potrei copiare e incollare facilmente su un file di testo).
Io vorrei proprio usare le sequenze ANSI...
a questo punto utilizza log4j.... fai direttamente su file di testo...

M
p***@inwind.it
2005-05-13 11:32:27 UTC
Permalink
Post by Marco
Non avrebbe, invece, senso utilizzare Label su Frame, essendo molti i
messaggi che devo visualizzare.
Label no, ma TextArea perchè no. Incapsulate all'interno di una bella
JScrollBar
Marco
2005-05-13 17:31:50 UTC
Permalink
Post by Marco
Ricordo che con il vecchio DOS esistevano le sequenza ANSI, ma non ricordo
bene come si usavano; inoltre il DOS di Windows XP forse non ha il driver
di supporto. E, per finire, non so se basterebbe dare un
System.out.print([sequenza ANSI+scritta]); per rendere colorata la scritta.
Niente da fare. Le sequenze ansi funzionano solo con il command.com, se nel
config.nt viene richiamato il driver opportuno, ma il command.com non sembra
capace di lanciare un'applicazione con java -jar nome.jar (anche se il path
del comando java è correttanente settato nell'autoexec.nt). Con cmd.exe,
nulla da fare. Non sono supportate.

Chiuso.
Alex =)
2005-05-13 22:16:57 UTC
Permalink
In c++ si puo' fare mandando alla console le opportune sequenze ANSI. Penso
che si possa fare anche in java, magari con qualche sequenza di escape
particolare... ecco 1 link interessante, che un nostro collega di forum ha
postato qualche tempo fa (grazie ancora, è interessantissimo:)):

http://space.tin.it/computer/csadun/javafaq.html

Spero ti sia stato d'aiuto
Marco
2005-05-14 18:31:57 UTC
Permalink
Post by Alex =)
In c++ si puo' fare mandando alla console le opportune sequenze ANSI. Penso
che si possa fare anche in java, magari con qualche sequenza di escape
particolare... ecco 1 link interessante, che un nostro collega di forum ha
http://space.tin.it/computer/csadun/javafaq.html
Spero ti sia stato d'aiuto
Ti ringrazio, è più o meno quanto pensavo di fare.

Il problema è che la classica finestra DOS sotto Windows XP è cmd.exe, che
NON supporta le sequenze ANSI.
Dovrei usare command.com, ma command.com, oltre ad interrompere l'esecuzione
di un file batch, permette l'uso del comando "java" (digitando
java -jar nomefile.jar si ottiene il messaggio "This program cannot be run
in DOS mode).

Dovrei provare cosa succede sotto linux...
Marco
2005-05-14 19:00:25 UTC
Permalink
ma command.com permette l'uso del comando "java"
Chiedo venia, volevo dire <<command.com NON permette l'uso del comando
"java">>

Loading...