Re: [問題] 請問println可以加顏色嗎??

看板java作者 (archer)時間18年前 (2007/10/19 02:38), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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
我以前也曾想在eclipse的console中顯示顏色,原因是想讓
10/19 10:44, 1F

10/19 10:45, , 2F
log中的error出現時更明顯,不過也只是想想而已,發現沒那
10/19 10:45, 2F

10/19 10:46, , 3F
麼容易後就放棄了
10/19 10:46, 3F

10/19 22:56, , 4F
用 System.err.println 就變紅了
10/19 22:56, 4F
文章代碼(AID): #175wWo24 (java)
文章代碼(AID): #175wWo24 (java)