【问题标题】:Can someone give me a really simple example for changing the color of text?有人可以给我一个非常简单的例子来改变文本的颜色吗?
【发布时间】:2016-03-06 05:55:20
【问题描述】:

我在网上搜索了一个非常简单的例子,但都太复杂了,我看不懂。这是我的代码,但我的 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!");
  }
}

【问题讨论】:

  • 这个问题我一个字都不懂。对不起:(
  • @Tersosauros 不,因为这个问题是在询问 JTextbox,而这是在询问 java 控制台。
  • @Paul 啊,我明白了。很难知道代码导入何时摆动(无缘无故?)并且问题在任何地方都没有使用“控制台”这个词!
  • 然后学习再学习,直到你理解该问题的每一个字。更改 JTextArea 中文本的颜色非常复杂。

标签: java text colors


【解决方案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 控制台的,因此控制台中的文本应该是有颜色的^^。

【讨论】:

    【解决方案2】:

    您所要求的(更改 java 的控制台文本颜色)不是 Java 本身的功能,而是您运行程序的 IDE 的功能(或命令提示符,如果您的程序在命令窗口中运行) .更改这些将更改使用该控制台的所有程序中的所有文本,而不仅仅是程序的一部分。

    虽然 IDE 在更改控制台颜色的方式上有所不同,但它们通常在 IDE 设置下,而不是通过代码设置。

    如果您想更改命令窗口的文本颜色,您可以通过“属性”窗口临时更改(右键单击标题),并通过默认窗口永久更改(与“属性”步骤相同,但菜单不同)项目)。

    【讨论】:

      【解决方案3】:

      试试这个:

      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();
      
      
          }
      }
      

      【讨论】:

      • 如果我运行此程序,我的计算机告诉我“无法将颜色解析为变量”...
      • 确保你导入颜色:在你的导入中添加这个 - import java.awt.Color;
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 2010-12-17
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      相关资源
      最近更新 更多