有人能给我一个非常简单的例子来改变文字的颜色吗?

时间:2016-03-06 05:55:21

标签: java text colors

我在互联网上搜索了一个非常简单的例子,但所有这些都太复杂了,我无法理解它们。这是我的代码,但我的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!");
  }
}

3 个答案:

答案 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控制台,因此文本应该在控制台中显示颜色^^。

enter image description here

答案 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();


    }
}