Java-如何简单地分配大量颜色?
我只是想知道是否有办法让代码更简单。 谢谢Java-如何简单地分配大量颜色?,java,Java,我只是想知道是否有办法让代码更简单。 谢谢 看起来您的对象实际上应该是组合在一起的集合的一部分 // assuming "mainMenuButtons" (or whatever) contains your first four objects // note I don't know what color (84, 209, 241) actually is for(Button btn : mainMenuButtons) { btn.setBackground(new java
看起来您的对象实际上应该是组合在一起的集合的一部分
// assuming "mainMenuButtons" (or whatever) contains your first four objects
// note I don't know what color (84, 209, 241) actually is
for(Button btn : mainMenuButtons) {
btn.setBackground(new java.awt.Color(84, 209, 241));
}
其次,这些颜色是不变的。没有必要创建这么多对象
Color reddish = new java.awt.Color(84, 209, 241);
// then just use reddish everywhere instead of creating a new color each time.
您可以只创建每个颜色一次,然后根据需要指定它们,而不是反复创建相同的颜色:
Color btnColor = new Color(84, 209, 241);
Color txtColor1 = new Color(127, 228, 255);
Color textcolor2 = new Color(89, 89, 89);
然后:
要简化代码和将来可能要进行的更改,请执行以下操作:
导入java.awt.Color;
导入java.awt.Component;
公共类组件util{
公共静态空间背景(组件[]组件,颜色){
对于(int i=0;i
使用常量。为这些变量中的每一个创建变量并重用它们。OP应该注意,它们必须添加import java.awt.*代码>到其文件的顶部。
Color btnColor = new Color(84, 209, 241);
Color txtColor1 = new Color(127, 228, 255);
Color textcolor2 = new Color(89, 89, 89);
private void btnBlueActionPerformed(java.awt.event.ActionEvent evt) {
btnConvert.setBackground(btnColor);
btnReset.setBackground(btnColor);
btnClose.setBackground(btnColor);
btnInfo.setBackground(btnColor);
txtIncome.setBackground(txtColor1);
txtPayable.setBackground(txtColor1);
txtStatus.setBackground(txtColor1);
txtIncome.setForeground(textcolor2);
txtPayable.setForeground(textcolor2);
txtStatus.setForeground(textcolor2);
}
import java.awt.Color;
import java.awt.Component;
public class ComponentUtil {
public static void setBackground(Component[] components, Color color) {
for (int i=0; i < components.length; i++) {
components[i].setBackground(color);
}
}
public static void setForeground(Component[] components, Color color) {
for (int i=0; i < components.length; i++) {
components[i].setForeground(color);
}
}
}