Domanda

Non sono sicuro di come usare un zk hbox Array. Sto cercando di creare un array di ZK componenti HBOX e utilizzarlo all'interno di un blocco per.

void createRow(Component container, final Node fieldNode, FieldCreator [] fieldDescription) {
    final Vbox fieldsRows = new Vbox();
    final Hbox fieldsRow = new Hbox();
    final Hbox[] fieldBox;

    int i=0;
    for (FieldCreator fieldDesc : fieldDescription) {
        fieldBox[i] = new Hbox();
        fieldDesc.createField(fieldNode, fieldBox[i]);
        i++;
    }
    fieldsRow.appendChild(fieldBox[]);
    Button removeFieldButton = new Button(Messages.getString("MXFC_removeFieldButton")); //$NON-NLS-1$
    fieldsRow.appendChild(removeFieldButton);
    fieldsRows.appendChild(fieldsRow);
    removeFieldButton.addEventListener(Events.ON_CLICK, new EventListener() {
        public void onEvent(Event event) throws Exception {
            fieldNode.getParentNode().removeChild(fieldNode);
            fieldBox[].setParent(null);
        }
    });
    container.appendChild(fieldsRows);
}

Il codice di cui sopra non è corretto. Il compilatore genera l'errore: "Errore di sintassi sul gettone '[', Espressione del previsto dopo questo token." sulle linee:

fieldsRow.appendChild(fieldBox[]);
fieldBox[].setParent(null);

Come posso risolvere questo problema?

Grazie, Sony

È stato utile?

Soluzione

Sony,

Ci sono un paio di errori di sintassi nel codice Java.

  1. fieldBox [] non significa nulla qui in Java.
  2. È necessario inizializzare fieldBox prima di poter assegnare il valore per le sue voci.

Per risolvere questi problemi, dobbiamo capire che cosa si vuole raggiungere in questo pezzo di codice. Sulla base della mia ipotesi, si dovrebbe

  1. inizializzare fieldBox.

    Hbox[] fieldBox = new Hbox[fieldDescription.length];
  2. iterate attraverso le colonne come si aggiunge / sgancio figli della riga.

    for(int i=0; i<fieldBox.length; i++) fieldsRow.appendChild(fieldBox[i]);
    for(int i=0; i<fieldBox.length; i++) fieldBox[i].setParent(null);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top