通过循环创建文本字段

Creating Textfields by loop

我在 volstextfield 中有以下项目列表,然后将其传递给 createGUI。我想创建一个 JTextFields 的列表,名称为 vol1HH1,vol1HH2。我收到一个错误 Incompatible types: JTextField cannot be converted to volstextfield,有人可以帮忙吗?

public enum volstextfield {
    vol1HH1, vol1HH2
}

public void createGUI() {
    for (volstextfield direction : EnumSet.allOf(volstextfield.class)) {
        System.out.println(direction);
        direction = new JTextField(5); //i get an error here incompatible types: JTextField cannot be converted to volstextfield
    }
}

你的方向变量是enum类型的。您不能将 JTextField 分配给 enum。试试

JTextField textfield = new JTextField(direction.getName());

或使用

JTextField textfield = new JTextField();
textfield.setName(direction.getName());

Enum 是一个 type 本身,你可以做的最接近的事情是:

 // The Amount of JTextField is enum' length 
  JTextField direction[] = new JTextField[volstextfield .values().length]; 
        int i=0;

        for ( volstextfield v :volstextfield.values()) {
            direction [i++] = new JTextField(v.name());
        }