Re: [問題] 請問println可以加顏色嗎??
※ 引述《Sanbeishuu (三杯鼠)》之銘言:
: 請問 如果要用system.out.println( "xxxx" );
: 可以打出色彩嗎?
: 要在Windows的cmd下excute的
: 感謝XD
還是不要光推文好了(推文字數限制好累 XD)
我在推文說因為Java的console設計理念就是要跨平台跨語系的,
所以他在console的支援程度就很弱,你問的字型顏色應該沒有直接支援...吧?
所以你不如使用C/C++、VC++、C#這些語言,查他們的MSDN就可發現相關的API。
或者自己撰寫加工也行,例如:
http://www.codeguru.com/Cpp/W-D/console/article.php/c3959
可利用GetStdHandle()和SetConsoleTextAttribute()來設置字體/背景顏色。
但是,這好像是Java版?話題還是要繞回來Java的solution才不會離題 XD
所以當你問到這問題時,我頭一個想到的是靠JNI來做...
先用C/C++去Build一個DLL,在Java端透過JNI去call他來使用...
類似這樣...
http://www.rgagnon.com/javadetails/java-0469.html
(不知道JDK 6有沒有支援了,話說JDK 6中新增了java.io.Console類別...)
不然的話,若你是想單純的控制"整個"cmd.exe的字體顏色和背景顏色的話,
在Windows的命令提示列直接有個指令可以辦到,
那就是 COLOR,可以設定預設主控台的前景及背景色彩。
詳情請自己打 "color /h"查,我就不多說了...
例: "COLOR fc" 產生淡紅色於亮白色上
用 Runtime.getRuntime().exec("COLOR fc"); 應該也能動了。
最後,我提供我在SourceForge有看過相關的project(共三個)
供你參考使用(先聲明我是都沒用過啦,沒這種需求 XD)
1.
Charva
http://sourceforge.net/projects/charva
他是一套適用於傳統VT100/VT220 ASCII terminal下的framework,
看起來挺powerful的!(你應該不需要如此多功能的東西)
官方網頁:
http://www.pitman.co.za/projects/charva/
2.
Java Curses Library
http://sourceforge.net/projects/javacurses/
3.
Colorful Java Console
http://sourceforge.net/projects/jcons
看他的ScreenShot還蠻Colorful的 XD (這個可能最符合你所需吧)
http://sourceforge.net/project/screenshots.php?group_id=162867
最後,回歸原本,我還是不知道為何你 println()有需要彩色的需求啦,
難道是單純因為炫嗎?Java應該沒有內建這個功能所以勢必要套用上述的方案之一,
以上的survey和要做的功課就是你炫的代價囉 XD
不然的話,既然是Java語言,Font想要設定顏色字型等等之類的,
使用在AWT/Swing才是正途阿...隨隨便便一個JTextField每個字要啥顏色任你寫,
JTextComponent底下的幾名大將JTextField、JTextArea、JTextPane等等任你用,
Java本身提供這麼強大的2D GUI功能不用不是可惜了 XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.31.160.246
推
10/19 10:44, , 1F
10/19 10:44, 1F
→
10/19 10:45, , 2F
10/19 10:45, 2F
→
10/19 10:46, , 3F
10/19 10:46, 3F
推
10/19 22:56, , 4F
10/19 22:56, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):