请问如何设置将使用System.out
打印的字符串的颜色?
这是我目前的代码:
System.out.println("TEXT THAT NEEDS TO BE A DIFFERENT COLOR.");
请问如何设置将使用System.out
打印的字符串的颜色?
这是我目前的代码:
System.out.println("TEXT THAT NEEDS TO BE A DIFFERENT COLOR.");
有关ANSI转义序列的完整集合,包括颜色,请参见维基百科页面。
但以Java为例(因为您标记了此问题),以下是一个简单的示例(打印红色文本):
System.out.println("\u001B31;1mhello world!");
其中的3表示改变颜色,第一个1表示红色(绿色为2),第二个1表示在“亮”模式下执行。
然而,如果你想要打印到GUI界面上,最简单的方法是使用HTML:
JEditorPane pane = new new JEditorPane();
pane.setText("<html><font color=\"red\">hello world!</font></html>");
想要了解更多相关信息,请参考Swing教程。如果使用JTextPane中的样式,也可以实现这种效果。这里提供了一个有用的代码示例,可以轻松地在JTextPane中实现彩色文本(通过评论添加)。
JTextArea是一个单一颜色的文本组件,如此处所述。它只能显示一种颜色。您可以像这样设置整个JTextArea的颜色:
JTextArea area = new JTextArea("hello world");
area.setForeground(Color.red)
对于Linux(bash),以下代码对我有效:
System.out.print("\033[31mERROR \033[0m");
\033[31m将切换颜色为红色,\033[0m将其切换回正常状态。
谷歌显然有一个这样的库:
http://code.google.com/p/jlibs/wiki/AnsiColoring还有一篇Javaworld文章可以解决您的问题:
http://www.javaworld.com/javaworld/javaqa/2002-12/02-qa-1220-console.html for ((i=0;i<256;i++)); do echo -en "\e[38;5;"$i"m"$i" "; done
您可以在任何编程语言中使用这些转义码。最好依赖于一个库,该库将根据架构和TERM环境变量的内容决定使用哪些代码。
下载jansi-1.4.jar并设置类路径,尝试此代码100%有效:
import org.fusesource.jansi.AnsiConsole;
import static org.fusesource.jansi.Ansi.*;
import static org.fusesource.jansi.Ansi.Color.*;
public class SampleColour
{
public static void main(String[] args)
{
AnsiConsole.systemInstall();
System.out.println(ansi().fg(RED).a("Hello World").reset());
System.out.println("My Name is Raman");
AnsiConsole.systemUninstall();
}
}
public class colorString
{
public static void main( String[] args )
{
new colorString();
}
public colorString( )
{
kFrame f = new kFrame();
f.setSize( 400, 400 );
f.setVisible( true );
}
private static class kFrame extends JFrame
{
@Override
public void paint(Graphics g)
{
super.paint( g );
Graphics2D g2d = (Graphics2D)g;
g2d.setColor( new Color(255, 0, 0) );
g2d.drawString("red red red red red", 100, 100 );
}
}
}
字符串通常是一系列字符,可以是字面常量或某种变量。后者可能允许其元素被改变并且长度被更改,或者它可能是固定的(在创建后)。
根据您的问题,不清楚您实际想要什么。但是您可以将颜色信息存储到字符串变量中。您是否考虑将颜色设置为字符串变量?