質問

ZK Hboxアレイの使用方法がわかりません。 ZK Hboxコンポーネントの配列を作成し、ブロック用のコンポーネント内で使用しようとしています。

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

上記のコードは正しくありません。コンパイラは、エラーをスローします:「トークンの構文エラー」["、このトークンの後に予想される式。」オンライン:

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

これを修正するにはどうすればよいですか?

ありがとう、ソニー

役に立ちましたか?

解決

ソニー、

Javaコードにはいくつかの構文エラーがあります。

  1. Fieldbox []はJavaでは何も意味しません。
  2. そのエントリに値を割り当てる前に、FieldBoxを初期化する必要があります。

これらの問題を修正するには、このコードで達成したいことを理解する必要があります。私の推測に基づいて、あなたはすべきです

  1. フィールドボックスを初期化します。

    Hbox[] fieldBox = new Hbox[fieldDescription.length];
  2. 列の子供を追加/分離するときに列を反復します。

    for(int i=0; i<fieldBox.length; i++) fieldsRow.appendChild(fieldBox[i]);
    for(int i=0; i<fieldBox.length; i++) fieldBox[i].setParent(null);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top