我在互联网上搜索了一个非常简单的例子,但所有这些都太复杂了,我无法理解它们。这是我的代码,但我的linter说有一个错误,我不知道为什么。 (我想要一个非常简单的例子)
import javax.swing.*;
import javax.swing.text.*;
import java.awt.Color;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
setPenColor(Color.RED);
System.out.println("Red text!");
}
}
答案 0 :(得分:1)
转到here并下载jansi.jar
,然后提取这些文件夹和所有子目录:META-INF和org.fusesource。*这些内容。将它们放在与项目相同的目录中。
import org.fusesource.jansi.AnsiConsole;
import static org.fusesource.jansi.Ansi.*;
import static org.fusesource.jansi.Ansi.Color.*;
public class test{
public static void main(String[] args){
try{
AnsiConsole.systemInstall();
System.out.println(ansi().fg(GREEN).a("Hello").reset() +
" " + ansi().fg(RED).a("World").reset());
}catch(Exception ex){
ex.printStackTrace();
}
}
}
这适用于Windows控制台,因此文本应该在控制台中显示颜色^^。
答案 1 :(得分:0)
你问的是什么(改变java的控制台文本颜色)不是Java本身的一个特性,而是你运行程序的IDE的一个特性(或命令提示符,如果你的程序在命令窗口中运行) 。更改这些将改变所有使用该控制台的程序中的所有文本,而不仅仅是程序的一部分。
虽然IDE在更改控制台颜色方面有所不同,但它们通常在IDE设置下,而不是通过代码设置。
如果要更改命令窗口的文本颜色,可以通过“属性”窗口(右键单击标题)暂时执行此操作,并通过默认窗口永久打开(与“属性”相同的步骤,但不同的菜单项)。
答案 2 :(得分:0)
试试这个:
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setLayout(null);
frame.setSize(400, 600); //width, height
frame.setTitle("MyFrame something");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel myLabel = new JLabel();
myLabel.setText("Blue Color");
myLabel.setSize(100, 30); //width, height
myLabel.setLocation(frame.getWidth()/2 - myLabel.getWidth()/2, frame.getHeight()/2 - myLabel.getHeight()/2);
// myLabel.setForeground(new Color(40, 60, 255, 255)); // red, green, blue, alpha/transparency from 0-255
myLabel.setForeground(Color.blue);
JLabel myLabel_red = new JLabel();
myLabel_red.setText("Red Color");
myLabel_red.setSize(100, 30); //width, height
myLabel_red.setLocation(frame.getWidth()/2 - myLabel_red.getWidth()/2, frame.getHeight()/2 - myLabel_red.getHeight()/2 + 50);
myLabel_red.setForeground(Color.red);
JLabel myLabel_gray = new JLabel();
myLabel_gray.setText("gray Color");
myLabel_gray.setSize(100, 30); //width, height
myLabel_gray.setLocation(frame.getWidth()/2 - myLabel_gray.getWidth()/2, frame.getHeight()/2 - myLabel_gray.getHeight()/2 + 100);
myLabel_gray.setForeground(Color.gray);
frame.add(myLabel);
frame.add(myLabel_red);
frame.add(myLabel_gray);
frame.setVisible(true);
frame.repaint();
}
}