2015-08-24 110 views
0

这里的情况:我有一个需要使用语句如何将字符串用作变量?

mb.setForeground(Color.????); 

,其中动态分配颜色的程序????通常是红色或绿色或你有什么。但是,因为我不知道,直到运行时是怎么回事进入该值,我需要使用字符串来传递信息:

String fColorTxt = "????"; 

所以,这fColorTxt被分配到值是我想要的价值在Color之后结束。

我现在已经做了以下的,但我不知道它是否去上班......

public enum ColorChoice { 
    BLACK ( 0, 0, 0), 
    BLUE ( 0, 0, 255), LIGHT_BLUE ( 0, 128, 255), DARK_BLUE ( 0, 0, 128), 
    BROWN (160, 96, 0), LIGHT_BROWN (208, 144, 0), DARK_BROWN (96, 32, 0), 
    CYAN ( 0, 255, 255), LIGHT_CYAN (176, 255, 255), DARK_CYAN ( 0, 139, 139), 
    GRAY (128, 128, 128), LIGHT_GRAY (211, 211, 211), DARK_GRAY (64, 64, 64), 
    GREY (128, 128, 128), LIGHT_GREY (211, 211, 211), DARK_GREY (64, 64, 64), 
    GREEN ( 0, 255, 0), LIGHT_GREEN (128, 255, 128), DARK_GREEN ( 0, 128, 0), 
    MAGENTA (255, 0, 255), LIGHT_MAGENTA (255, 144, 255), DARK_MAGENTA (144, 0, 144), 
    MINT (96, 221, 96), LIGHT_MINT (208, 238, 208), DARK_MINT (16, 187, 16), 
    ORANGE (255, 128, 0), LIGHT_ORANGE (255, 176, 48), DARK_ORANGE (192, 64, 0), 
    PINK (255, 192, 203), LIGHT_PINK (255, 128, 255), DARK_PINK (231, 84, 128), 
    YELLOW (255, 255, 0), LIGHT_YELLOW (255, 255, 128), DARK_YELLOW (160, 160, 0), 
    WHITE (255, 255, 255); 

    private int iRed; 
    private int iGreen; 
    private int iBlue; 

    ColorChoice(int iRed, int iGreen, int iBlue) { 
     this.iRed = iRed; 
     this.iGreen = iGreen; 
     this.iBlue = iBlue; 
    } 

} 

我想我需要弄清楚如何做一些事情。我最终还是很想能够只调用一个函数,像这样:

sColor = myFunction(fColorTxt); 
mb.setForeground(sColor); 
sColor = myFunction(bColorTxt); 
mb.setBackground(sColor); 

其中bColorTxt和fColorTxt动态设置为使用变量运行,并且sColor是颜色类型。

(以下可能仍然是真实的,但很明显,我写的名字进入我的枚举,因此不再需要):

(只有在某些情况下,我想使用Java的原预设的8颜色,然后我定义的另一个20左右我自己,我必须弄清楚如何处理他们将在;例如:

Color myDarkYellow = new Color (160, 160, 0); 

然后

if (fColorTxt == "DARK_YELLOW") { fColor = myDarkYellow; } 
mb.setForeground(fColor); 

确实看起来右击T或是否有更好的方式来处理这个问题?)

+1

请标记在这里使用合适的语言。起初我认为JavaScript,但后来你说Java,但你没有标记任何东西。 – Madness

+0

对不起,完成了。谢谢。 – TulsaNewbie

+0

也许这个问题将帮助你:http://stackoverflow.com/questions/2854043/converting-a-string-to-color-in-java – Adam

回答

1

也许你可以使用枚举为避免28否则,如果

+0

Oooh,这将有助于一吨。谢谢! – TulsaNewbie

相关问题