将Color类中的颜色转换为人类可读的String

时间:2012-02-18 12:27:57

标签: java colors awt

我希望将颜色对象转换为人类可读的字符串。

澄清我只是在寻找Class的静态变量的转换。

例如

        
  1. Color.YELLOW - > “黄色”
  2.     
  3. Color.RED - > “红色”
  4. Color red = Color.RED;
    System.out.println(red.conversionMethod());
    

    我想输出“红色”

    提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

使用Java反射。此代码提供有用的输出。您可以通过类似list.remove("BITMASK");

的内容从ArrayList中删除不需要的内容
import java.awt.Color;
import java.lang.reflect.Field;
import java.util.ArrayList;

public class Test
{
    public static void main ( String [] args )
    {
        Field [] names = Color.class.getFields();
        ArrayList < String > list = new ArrayList < String >();

        for ( Field name: names )
            list.add( name.getName() );
        for ( int i = 0; i < list.size(); i++ )
            System.out.println( list.get( i ) );
    }
}

输出:

  

白色WHITE lightGray LIGHT_GRAY灰色灰色darkGray DARK_GRAY黑色   黑色红色红色粉红色PINK橙色ORANGE黄色黄色绿色绿色   洋红色MAGENTA青色CYAN蓝色蓝色OPAQUE BITMASK TRANSLUCENT