我有一个名为 ColorConstants
的类,它只是一个类,它定义了我的整个应用程序中使用的许多 public static final Color
字段 - 使更改配色方案变得容易等等 我想做的是有两种方案:倒置的,不倒置的。我想设置此类,以便根据方案/主题,相同的字段名称可以引用不同的颜色。而不是每次都检查/获取必要的颜色。
我以前从未使用过 enum
,只是想知道它是否适合这个?
或者,我只是将字段设置为非最终字段并使用 setAll(int theme)
方法。
最佳答案
我不会在这里使用枚举。
我会创建一个包含所有颜色字段(非最终)但没有值的类。并创建在构造函数中定义所有颜色的扩展类。
public abstract class ColorScheme
{
public Color background;
public Color foreground;
public Color cursor;
}
现在创建 ColorScheme 的实现:
public class DarkColorScheme extends ColorScheme
{
public DarkColorScheme()
{
background = new Color(0x111111);
foreground = new Color(0xDDDDDD);
cursor = new Color(0xEEEEEE);
}
}
现在,您可以像这样使用您的配色方案:
public ColorScheme colorScheme = new DarkColorScheme();
从现在开始,您可以创建额外的配色方案,只需在新配色方案上方的行中使用,一切都应该动态工作。
关于java - 我应该在这里使用枚举吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8639961/