我不知道标题是否正确,但是我想做的是编写一种方法,例如将颜色的rgb添加到组合框。假设我们有3个面板,每个面板具有不同的背景色,并且每个面板都有自己的组合框。

int p1RGB = (Panel1.getBackground()).getRGB();
    int p1Red = (p1RGB>>16)&0xFF;
    int p1Green = (p1RGB>>8)&0xFF;
    int p1Blue = p1RGB&0xFF;
    String p1RGBStr = String.valueOf(p1Red) +", "+String.valueOf(p1Green) +", "+ String.valueOf(p1Blue);
    String[] c1Items = { hex1, p1RGBStr };
    DefaultComboBoxModel model1 = new DefaultComboBoxModel (c1Items);
    Combo1.setModel(model1);


而是为每个面板再次编写此代码,我是否可以通过为每个面板循环自身的方式编写此代码?我认为javascript中也有类似的东西。

最佳答案

假设我们有3个面板,每个面板具有不同的背景色,并且每个面板都有自己的组合框。


您有一个模型:Panel + combo。

我将创建从JPanel继承的自定义类并创建模型列表。它将使代码更清晰。

public class MyPanel extends JPanel{/* */}


主类

List<MyPanel> listOfPanels = new ArrayList<MyPanel>(3);

for(MyPanel model : listOfPanels ){
  doStuff(model);
}

private void doStuff(MyPanel model){/**/}

10-07 18:57