webForumDet fria alternativet

Färger i konsolen?

7 svar · 432 visningar · startad av nitro2k01

nitro2k01Medlem sedan aug. 20039 342 inlägg
#1

Detta är väl kanske inte en ren java-fråga, men jag försöker ändå.

Jag vill kunna skriva fräger till konsolen, helst både i Windows och Unix, och helst genom att bara använda System.out.print()
Finns det någon slags kontrollkoder som man kan skriva för att göra detta?

ViktorMedlem sedan aug. 20021 752 inlägg
#2

Det här kanske hjälper, http://www.javaworld.com/javaworld/javaqa/2002-12/02-qa-1220-console.html

/Viktor

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Ja och nej.
Jag vill att detta ska göras i den vanliga konsolen, så jcurses verkade intressant.
Men det visar sig att den bara kan "rita" grafik mha tecken i konsolen. Coolt det, men jag letar efter något som fungerar som en vanlig konsol, eftersom det handlar om status-output från en server.
För övrigt upptäckte jag följande:

 		byte escapechars[]={0x1b,0x5b};
		System.out.println(new String(escapechars));

skriver ut escape-tecknet (Som en pil) och en klammer. Men om man passar en byte-array:

 		byte escapechars[]={0x1b,0x5b};
		System.out.println(escapechars);

så skriver den ut: [B@7182c1
Har du någon aning om varför?

PeWMedlem sedan juni 200010 432 inlägg
#4

Troligen klarar inte System.out.println att hantera byte, till skillnad mot vad konstruktorn till string klarar.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#5

Jorå, enligt javas dokumentation gör den det. Men det verkar som om man kommer närmare terminalen om man använder byte[]. Eller nåt.
Men det funkar ändå inte riktigt...

ViktorMedlem sedan aug. 20021 752 inlägg
#6

Hittade det här när jag sökte lite,

AFAIK escape sequences are only supported in NT for legacy DOS apps.
Win32 console programs (like java.exe) cannot use them even if you have ANSI.SYS properly configured so that your old DOS programs can use it.

Låter inte så lovande om du vill använda det i nya Windows versioner.

/Viktor

nitro2k01Medlem sedan aug. 20039 342 inlägg
#7

Vore bra om man kunde använda konsolen normalt mha jcurses...

nitro2k01Medlem sedan aug. 20039 342 inlägg
#8

Trägen vinner

Bara lite längre ner på Google fann jag denna klockrena lösning: http://www.rgagnon.com/javadetails/java-0469.html
Denna funkar för Windows 2000/XP, under Windows 9x och unix funkar oftast escape-koder!

142 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)