Question

Je ne sais pas comment utiliser un ZK Hbox Array. Je suis en train de créer un tableau de composants ZK Hbox et de l'utiliser dans un bloc pour.

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);
}

Le code ci-dessus est incorrect. Le compilateur génère l'erreur: « Erreur de syntaxe sur jeton « [ », expression est attendue après ce jeton. » sur les lignes:

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

Comment puis-je résoudre ce problème?

Merci, Sony

Était-ce utile?

La solution

Sony,

Il y a quelques erreurs de syntaxe dans votre code java.

  1. fieldBox [] ne veut pas dire quoi que ce soit ici en Java.
  2. Vous devez initialiser fieldBox avant de pouvoir attribuer une valeur à ses entrées.

Pour résoudre ces problèmes, nous devons comprendre ce que vous voulez réaliser dans ce morceau de code. Sur la base de ma conjecture, vous devriez

  1. initialiser fieldBox.

    Hbox[] fieldBox = new Hbox[fieldDescription.length];
  2. itérer à travers des colonnes que vous ajoutez / Détachez les enfants de la ligne.

    for(int i=0; i<fieldBox.length; i++) fieldsRow.appendChild(fieldBox[i]);
    for(int i=0; i<fieldBox.length; i++) fieldBox[i].setParent(null);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top